diff --git a/BaseClasses.py b/BaseClasses.py index bfefb267..86633ce0 100644 --- a/BaseClasses.py +++ b/BaseClasses.py @@ -1442,12 +1442,26 @@ class Door(object): 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): - 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.name = name self.type = DoorType.Open self.direction = direction + self.terrain = terrain self.deadEnd = False # rom properties @@ -1472,6 +1486,13 @@ class OWEdge(object): self.unknownX = 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 # self.connected = False # combine with Dest? self.dest = None diff --git a/Main.py b/Main.py index 6ae85496..e4545ec0 100644 --- a/Main.py +++ b/Main.py @@ -242,7 +242,10 @@ def main(args, seed=None, fish=None): customize_shops(world, player) balance_money_progression(world) - outfilebase = f'DR_{args.outputname if args.outputname else world.seed}' + 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}' rom_names = [] jsonout = {} diff --git a/OWEdges.py b/OWEdges.py index a6cad629..113f7dc0 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -1,5 +1,5 @@ -from BaseClasses import OWEdge, Direction +from BaseClasses import OWEdge, Direction, Terrain # constants We = Direction.West @@ -7,296 +7,298 @@ Ea = Direction.East So = Direction.South No = Direction.North +Ld = Terrain.Land +Wr = Terrain.Water def create_owedges(world, player): edges = [ - # name, owID, dir, 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 SW', 0x00, So, 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 SE', 0x00, So, 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, 'Lumberjack SW', 0x02, So, 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, 'West Death Mountain EN', 0x03, Ea, 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, 'East Death Mountain WN', 0x05, We, 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 EN', 0x05, Ea, 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, 'DM Ascent NW', 0x0a, No, 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, 'Zora Approach NE', 0x0f, No, 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, 'Lost Woods Pass NW', 0x10, No, 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 SW', 0x10, So, 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, 'Kakariko Fortune SC', 0x11, So, 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 NE', 0x11, No, 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 Pond NE', 0x12, No, 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 SE', 0x12, So, 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 WS', 0x12, We, 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 ES', 0x12, Ea, 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 WS', 0x13, We, 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, 'Graveyard WC', 0x14, We, 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, 'Useless Fairy SW', 0x15, So, 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 SE', 0x15, So, 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 EN', 0x15, Ea, 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 ES', 0x15, Ea, 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 WC', 0x16, We, 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 EN', 0x16, Ea, 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, 'Zora Warning NE', 0x17, No, 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 WC', 0x17, We, 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 NC', 0x18, No, 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 SE', 0x18, So, 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, 'Forgotten Forest NW', 0x1a, No, 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 ES', 0x1a, Ea, 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 SE', 0x1b, So, 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 ES', 0x1b, Ea, 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 NE', 0x1d, No, 0x0f) .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 SW', 0x1d, So, 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 SE', 0x1e, So, 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, 'Sand Dune NW', 0x25, No, 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 WN', 0x25, We, 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, 'Kakariko Suburb NE', 0x29, No, 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 ES', 0x29, Ea, 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 SC', 0x2a, So, 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, 'Central Bonk Rock NW', 0x2b, No, 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 EN', 0x2b, Ea, 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 ES', 0x2b, Ea, 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 SC', 0x2c, So, 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 WC', 0x2c, We, 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 ES', 0x2c, Ea, 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 SC', 0x2d, So, 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 WS', 0x2d, We, 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 EC', 0x2d, Ea, 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 SC', 0x2e, So, 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 WN', 0x2e, We, 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, 'Eastern Nook NE', 0x2f, No, 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 ES', 0x30, Ea, 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 NC', 0x32, No, 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, 'C Whirlpool NW', 0x33, No, 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 WC', 0x33, We, 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 EC', 0x33, Ea, 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, 'Statues NC', 0x34, No, 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 WN', 0x34, We, 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 WS', 0x34, We, 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 NC', 0x35, No, 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 WS', 0x35, We, 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 ES', 0x35, Ea, 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 SE', 0x37, So, 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 WS', 0x3a, We, 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 ES', 0x3a, Ea, 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 WC', 0x3b, We, 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 EC', 0x3b, Ea, 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 WC', 0x3c, We, 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, 'Octoballoon NW', 0x3f, No, 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 WC', 0x3f, We, 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, 'Skull Woods SW', 0x40, So, 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 SE', 0x40, So, 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, 'Dark Lumberjack SW', 0x42, So, 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, '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 ES', 0x43, Ea, 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 WS', 0x45, We, 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, 'Turtle Rock WN', 0x47, We, 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 SE', 0x4a, So, 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, 'Skull Woods Pass NW', 0x50, No, 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 SW', 0x50, So, 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, 'Dark Fortune NE', 0x51, No, 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 EN', 0x51, Ea, 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, 'Outcast Pond NE', 0x52, No, 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 SE', 0x52, So, 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 WS', 0x52, We, 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 ES', 0x52, Ea, 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 WS', 0x53, We, 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 Graveyard WC', 0x54, We, 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, 'Qirn Jump SW', 0x55, So, 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 SE', 0x55, So, 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 EN', 0x55, Ea, 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 ES', 0x55, Ea, 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 WC', 0x56, We, 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 EN', 0x56, Ea, 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, 'Catfish Approach NE', 0x57, No, 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 WC', 0x57, We, 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 NC', 0x58, No, 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 SE', 0x58, So, 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, 'Shield Shop NE', 0x5a, No, 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, 'Pyramid SW', 0x5b, So, 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 ES', 0x5b, Ea, 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 NC', 0x5d, No, 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 SW', 0x5d, So, 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 SE', 0x5e, So, 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, 'Dark Dune NW', 0x65, No, 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 WN', 0x65, We, 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 ES', 0x68, Ea, 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 WC', 0x69, We, 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 ES', 0x69, Ea, 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 SC', 0x6a, So, 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, 'Dark Bonk Rock NW', 0x6b, No, 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 EN', 0x6b, Ea, 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 ES', 0x6b, Ea, 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 SC', 0x6c, So, 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 WC', 0x6c, We, 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 ES', 0x6c, Ea, 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 SC', 0x6d, So, 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 EN', 0x6d, Ea, 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, 'Dark Tree Line NW', 0x6e, No, 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 SE', 0x6e, So, 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 WC', 0x6e, We, 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, 'Circle of Bushes NW', 0x72, No, 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 EC', 0x72, Ea, 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 SC', 0x73, So, 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 EN', 0x73, Ea, 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 ES', 0x73, Ea, 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 SC', 0x74, So, 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 WC', 0x74, We, 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, 'Dark Lake Hylia NW', 0x75, No, 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 NE', 0x75, No, 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 EC', 0x75, Ea, 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 Shopping Mall SW', 0x77, So, 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 Purple Chest EC', 0x7a, Ea, 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, 'Swamp Palace NC', 0x7b, No, 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 WS', 0x7b, We, 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, 'Dark South Pass NC', 0x7c, No, 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 ES', 0x7c, Ea, 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 NE', 0x7f, No, 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 WS', 0x7f, We, 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, 'Hobo EC', 0x80, Ea, 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) + # name, owID,dir,type,edge_id,(owSlot) #(vram, scrollY, scrollX, linkY, linkX, camY, camX, unk1, unk2) + 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, Ld, 0x01, 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, Ld, 0x03, 0x09).coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), + 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, Ld, 0x00) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), + 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, Ld, 0x01, 0x04).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, Ld, 0x01, 0x05).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, Ld, 0x02, 0x06).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, Ld, 0x01) .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, Ld, 0x02) .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, Ld, 0x03) .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, Ld, 0x06) .coordInfo(0x0000, 0x0600, 0x0006, 0x0603, 0x0088, 0x066d, 0x0093, 0x00, 0xfa), + 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, Ld, 0x08) .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, Ld, 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, Ld, 0x06) .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, Ld, 0x0a) .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, Ld, 0x05) .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, Ld, 0x07) .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, Ld, 0x07) .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, Ld, 0x08) .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, Ld, 0x0b) .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, Ld, 0x0d) .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, Wr, 0x0a) .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, Ld, 0x0c) .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, Ld, 0x0b) .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, Wr, 0x0d) .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, Ld, 0x07) .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, Ld, 0x0e) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), + 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, Ld, 0x09) .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, Ld, 0x0f, 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, Ld, 0x0b) .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, Ld, 0x0f) .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, Ld, 0x11, 0x24).coordInfo(0x1854, 0x091e, 0x089e, 0x09e0, 0x0924, 0x098d, 0x092b, 0x00, 0x02), + 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, Ld, 0x11, 0x24).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 NC', 0x1d, No, Wr, 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, Ld, 0x0e) .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, Ld, 0x14, 0x27).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, Ld, 0x10) .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, Ld, 0x11) .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, Ld, 0x11) .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, Ld, 0x13) .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, Ld, 0x16) .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, Ld, 0x12) .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, Ld, 0x14) .coordInfo(0x0280, 0x0a5e, 0x0800, 0x0ac0, 0x0805, 0x0acb, 0x087d, 0x00, 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, Ld, 0x16) .coordInfo(0x0880, 0x0b1e, 0x0800, 0x0b8c, 0x0805, 0x0b8b, 0x087d, 0x00, 0x00), + 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, Ld, 0x18) .coordInfo(0x000c, 0x0c00, 0x0862, 0x00c03, 0x008e0, 0x00c6d, 0x08e7, 0x00, 0xfe), + 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, Ld, 0x15) .coordInfo(0x05a0, 0x0aba, 0x0700, 0x0b18, 0x07e9, 0x0b27, 0x0785, 0x06, 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, Ld, 0x17) .coordInfo(0x08c0, 0x0b1e, 0x0a00, 0x0b80, 0x0a05, 0x0b8b, 0x0a7d, 0x00, 0x00), + 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, Ld, 0x19) .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, Ld, 0x18) .coordInfo(0x08e0, 0x0b1e, 0x0900, 0x0b80, 0x09e9, 0x0b8b, 0x0985, 0x00, 0x00), + 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, Wr, 0x19) .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, Wr, 0x1a) .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, Ld, 0x19) .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, Ld, 0x16) .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, Ld, 0x1f, 0x39).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, Ld, 0x18) .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, Ld, 0x19) .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, Ld, 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, Wr, 0x1c) .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, Ld, 0x1a) .coordInfo(0x180c, 0x0b1e, 0x0862, 0x0be4, 0x08e0, 0x0b8d, 0x08e7, 0x00, 0xfe), + 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, Ld, 0x1c) .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, Ld, 0x1e) .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, Wr, 0x1c, 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, Ld, 0x24, 0x3d).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, Ld, 0x25, 0x3e).coordInfo(0x0880, 0x0f1e, 0x0e00, 0x0f94, 0x0e05, 0x0f8b, 0x0e85, 0x00, 0x00), + 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, Ld, 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, Ld, 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, Ld, 0x21) .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, Ld, 0x21) .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, Ld, 0x22) .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, Ld, 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, Wr, 0x20) .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, Wr, 0x25) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff), + 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, Ld, 0x21, 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, Ld, 0x23, 0x49).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, Ld, 0x20) .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, Ld, 0x27, 0x44).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, Ld, 0x28) .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, Ld, 0x28, 0x46).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, Ld, 0x22) .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, Ld, 0x25) .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, Ld, 0x24) .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, Ld, 0x27) .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, Ld, 0x28) .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, Ld, 0x2b) .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, Ld, 0x29) .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, Ld, 0x2b) .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, Ld, 0x2c) .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, Ld, 0x2d) .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, Ld, 0x2e) .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, Ld, 0x2f) .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, Wr, 0x2c) .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, Ld, 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, Ld, 0x31) .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, Wr, 0x31) .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, Ld, 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, Ld, 0x34) .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, Wr, 0x34) .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, Ld, 0x28) .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, Ld, 0x2a, 0x59).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, Ld, 0x35, 0x61).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, Ld, 0x2b) .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, Ld, 0x31, 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, Ld, 0x2d) .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, Ld, 0x2f) .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, Ld, 0x33, 0x66).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, Ld, 0x36) .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, Ld, 0x32) .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, Ld, 0x37) .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, Ld, 0x31) .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, Ld, 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, Ld, 0x35) .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, Ld, 0x3a) .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, Ld, 0x37) .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, Ld, 0x3b) .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, Ld, 0x33) .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, Ld, 0x3b) .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, Ld, 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, Ld, 0x34) .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, Ld, 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, Wr, 0x3f) .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, Wr, 0x3a) .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, Ld, 0x3f) .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, Ld, 0x36) .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, Ld, 0x38) .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, Ld, 0x39) .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, Ld, 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, Wr, 0x42) .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, Ld, 0x3a) .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, Ld, 0x42) .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, Ld, 0x44) .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, Wr, 0x3c, 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, Ld, 0x48, 0x7d).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, Ld, 0x49, 0x7e).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, Ld, 0x3f) .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, Ld, 0x45) .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, Ld, 0x45) .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, Ld, 0x46) .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, Ld, 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, Wr, 0x40) .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, Wr, 0x49) .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, Ld, 0x40) .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, Ld, 0x41) .coordInfo(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff) ] world.owedges += edges world.initialize_owedges(edges) -def create_owedge(player, name, owIndex, direction, edge_id, owSlotIndex=0xff): - return OWEdge(player, name, owIndex, direction, edge_id, owSlotIndex) +def create_owedge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex=0xff): + return OWEdge(player, name, owIndex, direction, terrain, edge_id, owSlotIndex) diff --git a/OverworldShuffle.py b/OverworldShuffle.py index b15fa857..0e63251c 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -1,4 +1,5 @@ import random +from BaseClasses import OWEdge, WorldType, Direction, Terrain def link_overworld(world, player): # setup mandatory connections @@ -11,14 +12,29 @@ def link_overworld(world, player): # if we do not shuffle, set default connections 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) elif world.owShuffle[player] == 'full': - for exitname, destname in default_overworld_connections: - connect_two_way(world, exitname, destname, player) + 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) + remaining_edges.remove(exitname) + remaining_edges.remove(destname) + #TODO: Remove, just for testing for exitname, destname in test_connections: connect_two_way(world, exitname, destname, player) + remaining_edges.remove(exitname) + remaining_edges.remove(destname) + + connect_remaining(world, remaining_edges, player) else: 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) +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 = [ #('Links House ES', 'Octoballoon WS'), #('Links House NE', 'Lost Woods Pass SW') @@ -309,144 +433,144 @@ mandatory_connections = [('Flute Spot 1', 'West Death Mountain (Bottom)'), ] # non shuffled overworld -default_overworld_connections = [('Lost Woods SW', 'Lost Woods Pass NW'), - ('Lost Woods SC', 'Lost Woods Pass NE'), - ('Lost Woods SE', 'Kakariko Fortune NE'), - ('Lost Woods EN', 'Lumberjack WN'), - ('Lumberjack SW', 'DM Ascent NW'), - ('DM Ascent SE', 'Kakariko Pond NE'), - ('Lost Woods Pass SW', 'Kakariko NW'), - ('Lost Woods Pass SE', 'Kakariko NC'), - ('Kakariko Fortune SC', 'Kakariko NE'), - ('Kakariko Fortune EN', 'Kakariko Pond WN'), - ('Kakariko Fortune ES', 'Kakariko Pond WS'), - ('Kakariko Pond SW', 'Forgotten Forest NW'), - ('Kakariko Pond SE', 'Forgotten Forest NE'), - ('Kakariko Pond EN', 'Sanctuary WN'), - ('Kakariko Pond ES', 'Sanctuary WS'), - ('Forgotten Forest ES', 'Hyrule Castle WN'), - ('Sanctuary EC', 'Graveyard WC'), - ('Graveyard EC', 'Useless Fairy WC'), - ('Useless Fairy SW', 'Wooden Bridge NW'), - ('Useless Fairy SC', 'Wooden Bridge NC'), - ('Useless Fairy SE', 'Wooden Bridge NE'), - ('Useless Fairy EN', 'Potion Shop WN'), - ('Useless Fairy EC', 'Potion Shop WC'), - ('Useless Fairy ES', 'Potion Shop WS'), - ('Potion Shop EN', 'Zora Warning WN'), - ('Potion Shop EC', 'Zora Warning WC'), - ('Zora Warning NE', 'Zora Approach SE'), - ('Kakariko SE', 'Kakariko Suburb NE'), - ('Kakariko ES', 'Blacksmith WS'), - ('Hyrule Castle SW', 'Central Bonk Rock NW'), - ('Hyrule Castle SE', 'Links House NE'), - ('Hyrule Castle ES', 'Sand Dune WN'), - ('Wooden Bridge SW', 'Sand Dune NW'), - ('Sand Dune SC', 'Stone Bridge NC'), - ('Eastern Palace SW', 'Tree Line NW'), - ('Eastern Palace SE', 'Eastern Nook NE'), - ('Maze Race ES', 'Kakariko Suburb WS'), - ('Kakariko Suburb ES', 'Flute Boy WS'), - ('Flute Boy SW', 'Cave 45 NW'), - ('Flute Boy SC', 'Cave 45 NC'), - ('Cave 45 EC', 'C Whirlpool WC'), - ('C Whirlpool NW', 'Central Bonk Rock SW'), - ('C Whirlpool SC', 'Dam NC'), - ('C Whirlpool EN', 'Statues WN'), - ('C Whirlpool EC', 'Statues WC'), - ('C Whirlpool ES', 'Statues WS'), - ('Central Bonk Rock EN', 'Links House WN'), - ('Central Bonk Rock EC', 'Links House WC'), - ('Central Bonk Rock ES', 'Links House WS'), - ('Links House SC', 'Statues NC'), - ('Links House ES', 'Stone Bridge WS'), - ('Stone Bridge SC', 'Lake Hylia NW'), - ('Stone Bridge EN', 'Tree Line WN'), - ('Stone Bridge EC', 'Tree Line WC'), - ('Tree Line SC', 'Lake Hylia NC'), - ('Tree Line SE', 'Lake Hylia NE'), - ('Desert EC', 'Purple Chest WC'), - ('Desert ES', 'Purple Chest WS'), - ('Purple Chest EC', 'Dam WC'), - ('Purple Chest ES', 'Dam WS'), - ('Dam EC', 'South Pass WC'), - ('Statues SC', 'South Pass NC'), - ('South Pass ES', 'Lake Hylia WS'), - ('Lake Hylia EC', 'Octoballoon WC'), - ('Lake Hylia ES', 'Octoballoon WS'), - ('Octoballoon NW', 'Ice Rod Cave SW'), - ('Octoballoon NE', 'Ice Rod Cave SE'), - ('West Death Mountain EN', 'East Death Mountain WN'), - ('West Death Mountain ES', 'East Death Mountain WS'), - ('East Death Mountain EN', 'Death Mountain TR Pegs WN'), +default_connections = [('Lost Woods SW', 'Lost Woods Pass NW'), + ('Lost Woods SC', 'Lost Woods Pass NE'), + ('Lost Woods SE', 'Kakariko Fortune NE'), + ('Lost Woods EN', 'Lumberjack WN'), + ('Lumberjack SW', 'DM Ascent NW'), + ('DM Ascent SE', 'Kakariko Pond NE'), + ('Lost Woods Pass SW', 'Kakariko NW'), + ('Lost Woods Pass SE', 'Kakariko NC'), + ('Kakariko Fortune SC', 'Kakariko NE'), + ('Kakariko Fortune EN', 'Kakariko Pond WN'), + ('Kakariko Fortune ES', 'Kakariko Pond WS'), + ('Kakariko Pond SW', 'Forgotten Forest NW'), + ('Kakariko Pond SE', 'Forgotten Forest NE'), + ('Kakariko Pond EN', 'Sanctuary WN'), + ('Kakariko Pond ES', 'Sanctuary WS'), + ('Forgotten Forest ES', 'Hyrule Castle WN'), + ('Sanctuary EC', 'Graveyard WC'), + ('Graveyard EC', 'Useless Fairy WC'), + ('Useless Fairy SW', 'Wooden Bridge NW'), + ('Useless Fairy SC', 'Wooden Bridge NC'), + ('Useless Fairy SE', 'Wooden Bridge NE'), + ('Useless Fairy EN', 'Potion Shop WN'), + ('Useless Fairy EC', 'Potion Shop WC'), + ('Useless Fairy ES', 'Potion Shop WS'), + ('Potion Shop EN', 'Zora Warning WN'), + ('Potion Shop EC', 'Zora Warning WC'), + ('Zora Warning NE', 'Zora Approach SE'), + ('Kakariko SE', 'Kakariko Suburb NE'), + ('Kakariko ES', 'Blacksmith WS'), + ('Hyrule Castle SW', 'Central Bonk Rock NW'), + ('Hyrule Castle SE', 'Links House NE'), + ('Hyrule Castle ES', 'Sand Dune WN'), + ('Wooden Bridge SW', 'Sand Dune NW'), + ('Sand Dune SC', 'Stone Bridge NC'), + ('Eastern Palace SW', 'Tree Line NW'), + ('Eastern Palace SE', 'Eastern Nook NE'), + ('Maze Race ES', 'Kakariko Suburb WS'), + ('Kakariko Suburb ES', 'Flute Boy WS'), + ('Flute Boy SW', 'Cave 45 NW'), + ('Flute Boy SC', 'Cave 45 NC'), + ('Cave 45 EC', 'C Whirlpool WC'), + ('C Whirlpool NW', 'Central Bonk Rock SW'), + ('C Whirlpool SC', 'Dam NC'), + ('C Whirlpool EN', 'Statues WN'), + ('C Whirlpool EC', 'Statues WC'), + ('C Whirlpool ES', 'Statues WS'), + ('Central Bonk Rock EN', 'Links House WN'), + ('Central Bonk Rock EC', 'Links House WC'), + ('Central Bonk Rock ES', 'Links House WS'), + ('Links House SC', 'Statues NC'), + ('Links House ES', 'Stone Bridge WS'), + ('Stone Bridge SC', 'Lake Hylia NW'), + ('Stone Bridge EN', 'Tree Line WN'), + ('Stone Bridge EC', 'Tree Line WC'), + ('Tree Line SC', 'Lake Hylia NC'), + ('Tree Line SE', 'Lake Hylia NE'), + ('Desert EC', 'Purple Chest WC'), + ('Desert ES', 'Purple Chest WS'), + ('Purple Chest EC', 'Dam WC'), + ('Purple Chest ES', 'Dam WS'), + ('Dam EC', 'South Pass WC'), + ('Statues SC', 'South Pass NC'), + ('South Pass ES', 'Lake Hylia WS'), + ('Lake Hylia EC', 'Octoballoon WC'), + ('Lake Hylia ES', 'Octoballoon WS'), + ('Octoballoon NW', 'Ice Rod Cave SW'), + ('Octoballoon NE', 'Ice Rod Cave SE'), + ('West Death Mountain EN', 'East Death Mountain WN'), + ('West Death Mountain ES', 'East Death Mountain WS'), + ('East Death Mountain EN', 'Death Mountain TR Pegs WN'), - ('Skull Woods SW', 'Skull Woods Pass NW'), - ('Skull Woods SC', 'Skull Woods Pass NE'), - ('Skull Woods SE', 'Dark Fortune NE'), - ('Skull Woods EN', 'Dark Lumberjack WN'), - ('Dark Lumberjack SW', 'Bumper Cave NW'), - ('Bumper Cave SE', 'Outcast Pond NE'), - ('Skull Woods Pass SW', 'Village of Outcasts NW'), - ('Skull Woods Pass SE', 'Village of Outcasts NC'), - ('Dark Fortune SC', 'Village of Outcasts NE'), - ('Dark Fortune EN', 'Outcast Pond WN'), - ('Dark Fortune ES', 'Outcast Pond WS'), - ('Outcast Pond SW', 'Shield Shop NW'), - ('Outcast Pond SE', 'Shield Shop NE'), - ('Outcast Pond EN', 'Dark Chapel WN'), - ('Outcast Pond ES', 'Dark Chapel WS'), - ('Dark Chapel EC', 'Dark Graveyard WC'), - ('Dark Graveyard ES', 'Qirn Jump WC'), - ('Qirn Jump SW', 'Broken Bridge NW'), - ('Qirn Jump SC', 'Broken Bridge NC'), - ('Qirn Jump SE', 'Broken Bridge NE'), - ('Qirn Jump EN', 'Dark Witch WN'), - ('Qirn Jump EC', 'Dark Witch WC'), - ('Qirn Jump ES', 'Dark Witch WS'), - ('Dark Witch EN', 'Catfish Approach WN'), - ('Dark Witch EC', 'Catfish Approach WC'), - ('Catfish Approach NE', 'Catfish SE'), - ('Village of Outcasts SE', 'Frog NE'), - ('Village of Outcasts ES', 'Hammer Pegs WS'), - ('Pyramid SW', 'Dark Bonk Rock NW'), - ('Pyramid SE', 'Big Bomb Shop NE'), - ('Pyramid ES', 'Dark Dune WN'), - ('Broken Bridge SW', 'Dark Dune NW'), - ('Dark Dune SC', 'Hammer Bridge NC'), - ('Palace of Darkness SW', 'Dark Tree Line NW'), - ('Palace of Darkness SE', 'Palace of Darkness Nook NE'), - ('Dig Game EC', 'Frog WC'), - ('Dig Game ES', 'Frog WS'), - ('Frog ES', 'Stumpy WS'), - ('Stumpy SW', 'Circle of Bushes NW'), - ('Stumpy SC', 'Circle of Bushes NC'), - ('Circle of Bushes EC', 'Dark C Whirlpool WC'), - ('Dark C Whirlpool NW', 'Dark Bonk Rock SW'), - ('Dark C Whirlpool SC', 'Swamp Palace NC'), - ('Dark C Whirlpool EN', 'Hype Cave WN'), - ('Dark C Whirlpool EC', 'Hype Cave WC'), - ('Dark C Whirlpool ES', 'Hype Cave WS'), - ('Dark Bonk Rock EN', 'Big Bomb Shop WN'), - ('Dark Bonk Rock EC', 'Big Bomb Shop WC'), - ('Dark Bonk Rock ES', 'Big Bomb Shop WS'), - ('Big Bomb Shop SC', 'Hype Cave NC'), - ('Big Bomb Shop ES', 'Hammer Bridge WS'), - ('Hammer Bridge SC', 'Dark Lake Hylia NW'), - ('Hammer Bridge EN', 'Dark Tree Line WN'), - ('Hammer Bridge EC', 'Dark Tree Line WC'), - ('Dark Tree Line SC', 'Dark Lake Hylia NC'), - ('Dark Tree Line SE', 'Dark Lake Hylia NE'), - ('Dark Purple Chest EC', 'Swamp Palace WC'), - ('Dark Purple Chest ES', 'Swamp Palace WS'), - ('Swamp Palace EC', 'Dark South Pass WC'), - ('Hype Cave SC', 'Dark South Pass NC'), - ('Dark South Pass ES', 'Dark Lake Hylia WS'), - ('Dark Lake Hylia EC', 'Southeast DW WC'), - ('Dark Lake Hylia ES', 'Southeast DW WS'), - ('Southeast DW NW', 'Dark Shopping Mall SW'), - ('Southeast DW NE', 'Dark Shopping Mall SE'), - ('West Dark Death Mountain EN', 'East Dark Death Mountain WN'), - ('West Dark Death Mountain ES', 'East Dark Death Mountain WS'), - ('East Dark Death Mountain EN', 'Turtle Rock WN') - ] + ('Skull Woods SW', 'Skull Woods Pass NW'), + ('Skull Woods SC', 'Skull Woods Pass NE'), + ('Skull Woods SE', 'Dark Fortune NE'), + ('Skull Woods EN', 'Dark Lumberjack WN'), + ('Dark Lumberjack SW', 'Bumper Cave NW'), + ('Bumper Cave SE', 'Outcast Pond NE'), + ('Skull Woods Pass SW', 'Village of Outcasts NW'), + ('Skull Woods Pass SE', 'Village of Outcasts NC'), + ('Dark Fortune SC', 'Village of Outcasts NE'), + ('Dark Fortune EN', 'Outcast Pond WN'), + ('Dark Fortune ES', 'Outcast Pond WS'), + ('Outcast Pond SW', 'Shield Shop NW'), + ('Outcast Pond SE', 'Shield Shop NE'), + ('Outcast Pond EN', 'Dark Chapel WN'), + ('Outcast Pond ES', 'Dark Chapel WS'), + ('Dark Chapel EC', 'Dark Graveyard WC'), + ('Dark Graveyard ES', 'Qirn Jump WC'), + ('Qirn Jump SW', 'Broken Bridge NW'), + ('Qirn Jump SC', 'Broken Bridge NC'), + ('Qirn Jump SE', 'Broken Bridge NE'), + ('Qirn Jump EN', 'Dark Witch WN'), + ('Qirn Jump EC', 'Dark Witch WC'), + ('Qirn Jump ES', 'Dark Witch WS'), + ('Dark Witch EN', 'Catfish Approach WN'), + ('Dark Witch EC', 'Catfish Approach WC'), + ('Catfish Approach NE', 'Catfish SE'), + ('Village of Outcasts SE', 'Frog NE'), + ('Village of Outcasts ES', 'Hammer Pegs WS'), + ('Pyramid SW', 'Dark Bonk Rock NW'), + ('Pyramid SE', 'Big Bomb Shop NE'), + ('Pyramid ES', 'Dark Dune WN'), + ('Broken Bridge SW', 'Dark Dune NW'), + ('Dark Dune SC', 'Hammer Bridge NC'), + ('Palace of Darkness SW', 'Dark Tree Line NW'), + ('Palace of Darkness SE', 'Palace of Darkness Nook NE'), + ('Dig Game EC', 'Frog WC'), + ('Dig Game ES', 'Frog WS'), + ('Frog ES', 'Stumpy WS'), + ('Stumpy SW', 'Circle of Bushes NW'), + ('Stumpy SC', 'Circle of Bushes NC'), + ('Circle of Bushes EC', 'Dark C Whirlpool WC'), + ('Dark C Whirlpool NW', 'Dark Bonk Rock SW'), + ('Dark C Whirlpool SC', 'Swamp Palace NC'), + ('Dark C Whirlpool EN', 'Hype Cave WN'), + ('Dark C Whirlpool EC', 'Hype Cave WC'), + ('Dark C Whirlpool ES', 'Hype Cave WS'), + ('Dark Bonk Rock EN', 'Big Bomb Shop WN'), + ('Dark Bonk Rock EC', 'Big Bomb Shop WC'), + ('Dark Bonk Rock ES', 'Big Bomb Shop WS'), + ('Big Bomb Shop SC', 'Hype Cave NC'), + ('Big Bomb Shop ES', 'Hammer Bridge WS'), + ('Hammer Bridge SC', 'Dark Lake Hylia NW'), + ('Hammer Bridge EN', 'Dark Tree Line WN'), + ('Hammer Bridge EC', 'Dark Tree Line WC'), + ('Dark Tree Line SC', 'Dark Lake Hylia NC'), + ('Dark Tree Line SE', 'Dark Lake Hylia NE'), + ('Dark Purple Chest EC', 'Swamp Palace WC'), + ('Dark Purple Chest ES', 'Swamp Palace WS'), + ('Swamp Palace EC', 'Dark South Pass WC'), + ('Hype Cave SC', 'Dark South Pass NC'), + ('Dark South Pass ES', 'Dark Lake Hylia WS'), + ('Dark Lake Hylia EC', 'Southeast DW WC'), + ('Dark Lake Hylia ES', 'Southeast DW WS'), + ('Southeast DW NW', 'Dark Shopping Mall SW'), + ('Southeast DW NE', 'Dark Shopping Mall SE'), + ('West Dark Death Mountain EN', 'East Dark Death Mountain WN'), + ('West Dark Death Mountain ES', 'East Dark Death Mountain WS'), + ('East Dark Death Mountain EN', 'Turtle Rock WN') + ]