Author Topic: An Idiots (Crisis) Guide to Marking Mining & Lumberjacking Runes  (Read 32025 times)

0 Members and 1 Guest are viewing this topic.

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 3084
  • Activity:
    2.6%
  • Reputation Power: 42
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +566
  • Referrals: 2
    • View Profile
There are a lot of really good lumberjack & mining scripts available but if you don't know how to mark your runes, you are hurting yourself.  Marking weak runes for these scripts would be the same as buying a 68' Camaro, pull the V8 engine, and drop in a Yugo engine. Many don't know how the the resource spots work but there are a couple of scripts that can help you mark some powerful runes.

Resource spots are 8x8 squares. What that means to you is that if you deplete one spot in that 8x8 grid, you have depleted any others in there as well. Take lumberjacking for instance, there may be 4 or 5 trees that can be chopped in that grid. If you keep chopping one until you get the message that "there is not enough wood to harvest", chopping any of the other tress in that grid will get you that same message. Ideally in mining and lumbejacking, you want to stand where 4 corners meet so you can hit 4 different 8x8 grids from that spot. This allows you to deplete all 4 grids without moving, thus making it a powerful spot. This is where you want to mark a rune. How do you find these grids you may be asking, well I am happy to show you.

The first 2 scripts are found on easyuo.com written by cyberpope for the original easyuo program.

1. Cyberpope's Lumberjack Radar: http://www.easyuo.com/forum/viewtopic.php?p=220864#220864 which is great for finding good spots. It's downside is that it does not work in Ter Mur.
2. Cyberpope's Mining Radar: http://www.easyuo.com/forum/viewtopic.php?p=77252#77252 Again, it does not work in Ter Mur.

Why am I showing you scripts that don't work in Ter Mur? The answer is that they still work great in the other facets and I lile the function that shows you depleted grids. When I mark my runes using these scripts, I will deplete each section before moving on to make sure that I don't accidentally overlap another rune. I want to make sure that each rune has the most spots available to mine or chop. Here is what it looks like when you first start it up when near trees:



The yellow blocks with question marks (?) are trees that can be chopped for resources and the red lines are there to outline 8x8 grids. The light/bright green square is where I am standing. You will now see that I am in a corner of 4 different grids and there is one tree available to chop. This is not an ideal location to mark a rune. If you click on the question mark, it will start chopping the tree.




So now wander around while keeping on eye on the radar for where you are at and good spots to mark a rune at. Remember, you must be stopped for 2 seconds for it reset and show the new location so only take a few steps at a time or head for large groups of trees that are close together. Once you have found a good spot, it should look something like this:




From this spot, I can chop successfully from 3 trees completely depleting each one, I always click on the question marks to make sure that I can actually chop from each one before marking the rune. If you deplete a section, it will looks like this on the radar:



Lets now look at Cyberpope's Mining Radar, which runs nearly identical. The place to go for 4 spots and 3 spots is mining caves. On the sides of mountains you may be able to get 3 but it is rare, most are only 2. Here is how it looks inside a mining cave or tunnel:


You will notice that I am standing on the corner of 4 different grids, it has the same question marks and if you click on a question mark, it will start mining. Always test all 4 grids before marking a rune, you will notice that sometimes the grid shows like it can be mined but when you try it will tell you that "there is no more metal to be mined." When a section is depleted, it will look like this:



I wish the Lumberjack Radar did this as well but alas it does not. After depleting all 4 sections, mark your rune and then start moving. Again, only take a few steps and stop so the radar can reset. Make sure that when you find your next 4 section, none of it is red. Deplete each grid and then remark if it is a good location.

The last script that I want to tell you about is a great script. It is an Open EasyUO script but it is fairly easy to get going. As always, read the directions and user comments before asking questions if you have difficulties. There is a good chance that it has already been asked and answered.

This is wvanderzalm's Visual Grid Editor: http://www.easyuo.com/forum/viewtopic.php?f=38&t=46203

This has multiple uses but I love it for mining and lumberjacking, especially lumberjacking. It gives you a large grid that goes over your entire screen:


You will notice bright green boxes and red boxes. The red boxes are trees with resources but out of reach, the bright green boxes are trees with resources that are within chopping range. In the location that I am at, I have trees in 3 different grids that I can chop. Unfortunately this script does not show depleted grids but for lumberjacking, I prefer it. This one updates as you walk so you can run or walk and see that it keeps up with you and shows exactly what is available which is awesome. You have the ability to turn mining and lumberjacking nodes on or off so you can have them both showing at the same time or just one or the other. I found out that there were places to mine that I had not realized. In this next picture in the same location, you will see the mining node as well:


Here is the same script only being used in a mining cave. All of the areas start out as red questions marks with a small bright green grid where you are. The bright green grid is the area within reach that you can mine. I am standing in a corner of 4 different 8x8 grids. I mined one section and you can see that it shows iron. All the scripts have the option to show what you are mining but since I play OSI, I don't worry about it since the resource will change.


This is pretty much it for this guide, I hope it helps someone. I was not aware of this at first and it made a HUGE change in the quantity and speed at which I gathered ore and logs. If you have any questions, feel free to post here and I will do my best to help answer them.
« Last Edit: April 09, 2015, 03:10:55 PM by Crisis »

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13310
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +3089
  • Referrals: 34
    • View Profile
    • ScriptUO
Re: Crisis' Guide to Marking Mining & Lumberjacking Runes
« Reply #1 on: April 01, 2015, 08:21:06 PM »
0
Wow Crisis, this is one helluva guide!  Thanks for sharing!  Good timing, I'm presently obsessing over my little mining/lumberjacking project...
« Last Edit: April 01, 2015, 08:22:37 PM by TrailMyx »
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline The Ghost

  • Elite
  • *
  • *
  • Posts: 1917
  • Activity:
    0%
  • Reputation Power: 25
  • The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.The Ghost is on the verge of being accepted.
  • Respect: +556
  • Referrals: 0
    • View Profile
Re: Crisis' Guide to Marking Mining & Lumberjacking Runes
« Reply #2 on: April 03, 2015, 04:41:22 PM »
0
Fuuny that we have Crisis to put out though together.  I always appreciated his write up. 

Offline Zurg

  • Full Member
  • ***
  • Posts: 105
  • Activity:
    0%
  • Reputation Power: 2
  • Zurg has no influence.
  • Gender: Male
  • Respect: +28
  • Referrals: 0
    • View Profile
Re: Crisis' Guide to Marking Mining & Lumberjacking Runes
« Reply #3 on: April 04, 2015, 08:56:57 AM »
0
thanks this is great for a new comer like myself thanks
Just glad to have a blast

Offline Endless Night

  • Global Moderator
  • *
  • *
  • Posts: 5467
  • Activity:
    0%
  • Reputation Power: 62
  • Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!
  • Respect: +786
  • Referrals: 1
    • View Profile
Re: Crisis' Guide to Marking Mining & Lumberjacking Runes
« Reply #4 on: April 05, 2015, 12:11:23 PM »
0
See my code snippet library for an example of how to tell if you have already depleted a given 8x8 resource grid.

http://www.scriptuo.com/index.php?topic=2454.msg108443#msg108443
Outlaw Josey Wales - "Manwink, A Long Gone Scripty, and Endless are always teasing us with their private sections lol. What there realy saying is scripters rule and users drool."
Briza - "Your a living breathing vortex of usefulness."

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 3084
  • Activity:
    2.6%
  • Reputation Power: 42
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +566
  • Referrals: 2
    • View Profile
Re: Crisis' Guide to Marking Mining & Lumberjacking Runes
« Reply #5 on: April 05, 2015, 01:28:17 PM »
0
That looks like a great snippet, I will have to give it a try!

Offline Rup

  • Jr. Member
  • **
  • Posts: 42
  • Activity:
    0%
  • Reputation Power: 1
  • Rup has no influence.
  • Respect: +16
  • Referrals: 0
    • View Profile
Re: An Idiots (Crisis) Guide to Marking Mining & Lumberjacking Runes
« Reply #6 on: August 06, 2015, 12:32:53 PM »
0
Crisis, why does not not work in other facets?  You can convert UOP files to MAP files and it should work or is it something else?

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 3084
  • Activity:
    2.6%
  • Reputation Power: 42
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +566
  • Referrals: 2
    • View Profile
Re: An Idiots (Crisis) Guide to Marking Mining & Lumberjacking Runes
« Reply #7 on: August 06, 2015, 05:15:03 PM »
0
I only said it did not work in TerMur
Quote
Why am I showing you scripts that don't work in Ter Mur? The answer is that they still work great in the other facets and I lile the function that shows you depleted grids.

The only reason I said that is because that is what Cyberpope put into the threads with his scripts and many people still have issues with the map files. It is just a warning since the OP says that, I have not had any issues in TerMur at all.

Offline Endless Night

  • Global Moderator
  • *
  • *
  • Posts: 5467
  • Activity:
    0%
  • Reputation Power: 62
  • Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!
  • Respect: +786
  • Referrals: 1
    • View Profile
Re: An Idiots (Crisis) Guide to Marking Mining & Lumberjacking Runes
« Reply #8 on: August 07, 2015, 04:19:02 AM »
0
So are you saying with converter tiles work in ter Mur now  in Easyuo ??
Outlaw Josey Wales - "Manwink, A Long Gone Scripty, and Endless are always teasing us with their private sections lol. What there realy saying is scripters rule and users drool."
Briza - "Your a living breathing vortex of usefulness."

Offline CrisisTopic starter

  • Global Moderator
  • *
  • *
  • Posts: 3084
  • Activity:
    2.6%
  • Reputation Power: 42
  • Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.Crisis is a force to reckon with.
  • Gender: Male
  • Scripting well enough to break things!
  • Respect: +566
  • Referrals: 2
    • View Profile
Re: An Idiots (Crisis) Guide to Marking Mining & Lumberjacking Runes
« Reply #9 on: August 07, 2015, 08:00:17 AM »
0
I am just saying that Cyberpope's mining radar and lumberjack radar work in TerMur even though the posts say that they do not. I did not want to confuse people so I stated that it did not work in terMur. I just tried MWMiner and it still does not work in TerMur though it works in all other facets.

My intent was to help people better their mining and lumberjacking yield without getting confused. I didn't do a very good job I guess. :(

Offline KaliOfLS

  • That's "Dr." Kali to you!
  • Sr. Member
  • *
  • Posts: 406
  • Activity:
    0%
  • Reputation Power: 6
  • KaliOfLS has no influence.
  • Gender: Male
  • Respect: +61
  • Referrals: 2
    • View Profile
Re: An Idiots (Crisis) Guide to Marking Mining & Lumberjacking Runes
« Reply #10 on: August 10, 2015, 08:12:11 PM »
0
I have been working on some things.  Ximan posted over at easy a script for openEUO that allows you to use and call tiles in ter mur or any facet.  I wrote a mining rader for this, much lighter weight than wvanderzalms and not finished.  You'd have to use ximan's tiles for it to work for you and the LOS function doesn't work.  I couldn't figure out how to solve the LOS setting.  The other problem is instability of openEUO GUI elements.  Anyway, feel free to play with this if you guys want to mark some runes.  Though completely unnecessary, can just write a short script that tells you when you are standing within X tiles of resource grid boundaries and nodes.

Code: [Select]
------------------------------------------------------------------------------------------------------





--2nd revision below

------------------------------------------------------------------------------------------------------



local tos   = tostring
local grid  = false
local RGrid = {}
local GMap,TMap = dofile(getinstalldir()..'scripts/gridmap.lua')

local bHeight = 42
local bWidth  = 10
local x,y = 0,0
local Window = {}
Window.Refresh = function()
  x,y = getmouse()
  Window.X  = x-UO.CursorX+UO.CliLeft
  Window.Y  = y-UO.CursorY+UO.CliTop
  Window.W  = UO.CliXRes + 2*bWidth
  Window.H  = UO.CliYRes + bHeight
end
Window.Refresh()

local kTile = dofile(getinstalldir()..'scripts/uofiles_10.lua')
local mappath = getinstalldir()..'Ultima Online Classic/'
kTile.init(mappath)

local Mines = { [1339] = true,
                [1340] = true,
                [1341] = true,
                [1342] = true,
                [1343] = true,
                [1352] = true,
                [1357] = true,
                [556]  = true,
                [557]  = true,
                [558]  = true,
                [559]  = true,
                [220]  = true,
                [221]  = true,
                [222]  = true,
                [223]  = true,
                [224]  = true,
                [225]  = true,
                [226]  = true,
                [227]  = true,
                [228]  = true,
                [229]  = true,
                [230]  = true,
                [231]  = true,                
                
}
local MountainAndCaveTiles = {220, 221, 222, 223, 224, 225, 226, 227, 228, 229,230, 231, 236, 237,
 238, 239, 240, 241, 242, 243,244, 245, 246, 247, 252, 253, 254, 255, 256, 257,258, 259, 260, 261,
 262, 263, 268, 269, 270, 271,272, 273, 274, 275, 276, 277, 278, 279, 286, 287,288, 289, 290, 291,
 292, 293, 294, 296, 296, 297,321, 322, 323, 324, 467, 468, 469, 470, 471, 472,473, 474, 476, 477,
 478, 479, 480, 481, 482, 483,484, 485, 486, 487, 492, 493, 494, 495, 543, 544,545, 546, 547, 548,
 549, 550, 551, 552, 553, 554,555, 556, 557, 558, 559, 560, 561, 562, 563, 564,565, 566, 567, 568,
 569, 570, 571, 572, 573, 574,575, 576, 577, 578, 579, 581, 582, 583, 584, 585,586, 587, 588, 589,
 590, 591, 592, 593, 594, 595,596, 597, 598, 599, 600, 601, 610, 611, 612, 613, 1010, 1741, 1742,
 1743, 1744, 1745, 1746, 1747, 1748, 1749,1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1771,
 1772,1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782,1783, 1784, 1785, 1786, 1787,
 1788, 1789, 1790, 1801, 1802,1803, 1804, 1805, 1806, 1807, 1808, 1809, 1811, 1812, 1813,1814,
 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823,1824, 1831, 1832, 1833, 1834, 1835, 1836,
 1837, 1838, 1839,1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849,1850, 1851, 1852,
 1853, 1854, 1861, 1862, 1863, 1864, 1865,1866, 1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874,
 1875,1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1981,1982, 1983, 1984, 1985, 1986,
 1987, 1988, 1989, 1990, 1991,1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,2002,
 2003, 2004, 2028, 2029, 2030, 2031, 2032, 2033, 2100,2101, 2102, 2103, 2104, 2105,0x453B, 0x453C,
 0x453D, 0x453E, 0x453F, 0x4540, 0x4541,0x4542, 0x4543, 0x4544,        0x4545, 0x4546, 0x4547, 0x4548,
 0x4549, 0x454A, 0x454B, 0x454C, 0x454D, 0x454E,        0x454F}
local StaticCaveTiles = {1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,
 1353,1354,1355,1356,1357,1358,1359,1361,1362,1363,1386}
local MineL = {220, 221, 222, 223, 224, 225, 226, 227, 228, 229,230, 231, 236, 237, 238, 239, 240,
 241, 242, 243,244, 245, 246, 247, 252, 253, 254, 255, 256, 257,258, 259, 260, 261, 262, 263, 268,
 269, 270, 271,272, 273, 274, 275, 276, 277, 278, 279, 286, 287,288, 289, 290, 291, 292, 293, 294,
 296, 296, 297,321, 322, 323, 324, 467, 468, 469, 470, 471, 472,473, 474, 476, 477, 478, 479, 480,
 481, 482, 483,484, 485, 486, 487, 492, 493, 494, 495, 543, 544,545, 546, 547, 548, 549, 550, 551,
 552, 553, 554,555, 556, 557, 558, 559, 560, 561, 562, 563, 564,565, 566, 567, 568, 569, 570, 571,
 572, 573, 574,575, 576, 577, 578, 579, 581, 582, 583, 584, 585,586, 587, 588, 589, 590, 591, 592,
 593, 594, 595,596, 597, 598, 599, 600, 601, 610, 611, 612, 613, 1010, 1741, 1742, 1743, 1744,
 1745, 1746, 1747, 1748, 1749,1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1771, 1772,1773,
 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782,1783, 1784, 1785, 1786, 1787, 1788, 1789,
 1790, 1801, 1802,1803, 1804, 1805, 1806}
for _,v in pairs(MineL)                do Mines[v] = true end
for _,v in pairs(MountainAndCaveTiles) do Mines[v] = true end
for _,v in pairs(StaticCaveTiles)      do Mines[v] = true end

local Color = function(r,g,b)
   return b*(65536)+g*256+r
end

local form = Obj.Create("TForm")
form.Height = Window.H
form.Width  = Window.W
form.Color = 0xffffff
form.AlphaBlend = true
form.TransparentColor = true
form.TransparentColorValue = 0xffffff
form.FormStyle   = 3
form.BorderStyle = 0
form.WindowState = 2
form.Show()
form.OnClose = function() Obj.Exit() return end
Canvas = form.Canvas
Pen = Canvas.Pen

local cx,cy = UO.CharPosX,UO.CharPosY

for i = 0, 7 do
   RGrid[i] = {}
   j = 1 + i
   while j < 33 do RGrid[i][#RGrid[i]+1] = j j = j + 8 end
end
for i = 0, 7 do
   RGrid[i+8] = {}
   j = 33 + i
   while j < 65 do RGrid[i+8][#RGrid[i+8]+1] = j j = j + 8 end
end

local Round = function(num)
   return math.floor(num+0.5)
end

local Between = function(n,lbound,ubound,tol)
   if lbound>ubound then
      local t = lbound
      lbound  = ubound
      ubound  = t
   end
   return (n<ubound+tol and n>lbound-tol)
end

-- same funky calc as runuo source
function GetAverageZ(t)  
  local z,top,avg
  local zTop    = t[1]
  local zLeft   = t[2]
  local zRight  = t[3]
  local zBottom = t[4]

  local z   = math.min(zTop,zLeft,zRight,zBottom)
  local top = math.max(zTop,zLeft,zRight,zBottom)
  if math.abs( zTop - zBottom ) > math.abs( zLeft - zRight ) then
    avg = math.floor( (zLeft+zRight) / 2 )
  else    
    avg = math.floor( (zTop+zBottom) / 2 )
  end                                
 return avg,z,top
end

-------------------------------------------
--  Point Functions
-------------------------------------------
local Pnt = {}
do
  Pnt.mt = { __index = Pnt,
    __metatable = "Point",
    __eq    = function(op1,op2) return op1.X == op2.X and op1.Y == op2.Y and op1.Z == op2.Z end,
    __add   = function(op1,op2) return Point(op1.X + op2.X,op1.Y + op2.Y,op1.Z + op2.Z) end,
    __sub   = function(op1,op2) return Point(math.abs(op1.X - op2.X), math.abs(op1.Y - op2.Y), math.abs(op1.Z - op2.Z)) end,
    __lt    = function(op1,op2)
                if     type(op1) == 'number' then
                  return ( op1 < op2.X and op1 < op2.Y and op1 < op2.Z )
                elseif type(op2) == 'number' then
                  return op1.X < op2 and op1.Y < op2 and op1.Z < op2
                elseif getmetatable(op1)==getmetatable(op2) then
                  return op1.X < op2.X and op1.Y < op2.Y and op1.Z < op2.Z
                else return false end
              end,
    __le    = function(op1,op2)
                if     type(op1) == 'number' then
                  return ( op1 <= op2.X and op1 <= op2.Y and op1 <= op2.Z )
                elseif type(op2) == 'number' then
                  return op1.X <= op2 and op1.Y <= op2 and op1.Z <= op2
                elseif getmetatable(op1)==getmetatable(op2) then
                  return op1.X <= op2.X and op1.Y <= op2.Y and op1.Z <= op2.Z
                else return false end
              end,
    __call  = function(...) if arg['n'] ~= 4 then return arg[1].New() else return arg[1].New(arg[2],arg[3],arg[4]) end end,
  }
  
  function Pnt.New(x,y,z)
     local t = { X=x or UO.CharPosX, Y=y or UO.CharPosY,Z=z or UO.CharPosZ }
     setmetatable(t,Pnt.mt)
     return t
  end
  
  function Pnt:Between(p1,p2,tol)
      if getmetatable(p1) ~= getmetatable(p2) or getmetatable(p2) ~= getmetatable(self) then return false end
      tol = tol or 0.5    
      return Between(self.X,p1.X,p2.X,tol) and Between(self.Y,p1.Y,p2.Y,tol) and Between(self.Z,p1.Z,p2.Z,tol)
  end
  
  function Pnt:Diff(p)
     return Pnt.New(self.X-p.X,self.Y-p.Y,self.Z-p.Z)
  end            
  
  function Pnt:LT(op)
      if type(op) =='number' then return self.X < op and self.Y < op
      elseif getmetatable(op)==getmetatable(self) then
        return self.X < op.X and self.Y < op.Y
      else return false end
  end
  
  function Pnt:LE(op)
      if type(op) =='number' then return self.X <= op and self.Y <= op and self.Z <= op
      elseif getmetatable(op)==getmetatable(self) then
        return self.X <= op.X and self.Y <= op.Y and self.Z <= op.Z
      else return false end
  end
  
  function Pnt:Print()
     print('X: '..tos(self.X)..' Y: '..tos(self.Y)..' Z: '..tos(self.Z))
     return
  end
end
local Point = Pnt.New()

------------------------------
--  LOS
------------------------------
local LineOfSight = function(x1,y1,z1,x2,y2,z2,tz)
                                                                    
  
   local Orig = Point(x1,y1,z1)
   local Dest = Point(x2,y2,z2)
  
   if Orig == Dest then return true end
   local Dist = Orig-Dest
  
   local MaxRange = 25 -- max update range (X,Y)
   if not Dist:LT(MaxRange) then print("Lies") return false end

   --print("***********************************************")
   local zSlope = math.sqrt(Dist.X*Dist.X+Dist.Y*Dist.Y)
   --print(tos(Dist.X).."*"..tos(Dist.X).." + "..tos(Dist.Y).."*"..tos(Dist.Y).." = "..tos(zSlope)..("^2"))
   local sq3d = zSlope
   if Dist.Z ~= 0 then sq3d = math.sqrt(Dist.Z*Dist.Z+zSlope*zSlope) end
  
   dPnt = Dest:Diff(Orig)

   -- unit direction partials with respect to travel along vector from Origin to Destination
   local d1,d2,d3
   d1       = dPnt.X/sq3d
   d2       = dPnt.Y/sq3d
   d3       = dPnt.Z/sq3d
   path     = {}
  
   local IP = Point(Orig.X,Orig.Y,Orig.Z)
   while IP:Between(Orig,Dest) do  
      IntP = Point(Round(IP.X),Round(IP.Y),Round(IP.Z))
      if #path > 0 then
         local p = path[#path]
         if IntP.X ~= p.X or IntP.Y ~= p.Y or IntP.Z ~= p.Z then
            table.insert(path,Point(IntP.X,IntP.Y,IntP.Z))
         end
      else
         table.insert(path,Point(IntP.X,IntP.Y,IntP.Z))
      end
      IP.X = IP.X+d1                                          
      IP.Y = IP.Y+d2
      IP.Z = IP.Z+d3
   end
  
   if path[#path]~=Dest then
      table.insert(path,Point(Dest.X,Dest.Y,Dest.Z))
   end
  
   -- with path
   for i = 1, #path do
        local hellx, helly = path[i]:Diff(Orig).X, path[i]:Diff(Orig).Y
        local tempz = {tz[hellx  ][helly  ][1].Z or 0,
                       tz[hellx  ][helly+1][1].Z or 0,
                       tz[hellx+1][helly  ][1].Z or 0,
                       tz[hellx+1][helly+1][1].Z or 0}
                
        local zAve,zMin,zMax=GetAverageZ(tempz)
        
        print(tos(zAve).." ZAvg : "..tos(zMin).." ZMin : "..tos(zMax).." ZMax")

        if  zMin < path[i].Z and
            zMax > path[i].Z and
           (path[i].X~=Dest.X or path[i].Y~=Dest.Y or zMin>Dest.Z or zMax < Dest.Z)
        then --and not landTile.Ignored
           return false
        end
   end
   return true
end

-------------------------------------------
-- kali script
-------------------------------------------
local clrscr = function()
   Pen.Color = 0xffffff
   Canvas.Brush.Color = 0xffffff
   Canvas.Rectangle(Window.X,Window.Y,Window.X+Window.W,Window.Y+Window.H)
   Window.Refresh()
end

local DrawLine = function(xi,yi,xf,yf)
   Canvas.Line(xi+Window.X,yi+Window.Y,xf+Window.X,yf+Window.Y)
end
local DL = Canvas.Line

local DrawTileZ4 = function(x,y,z1,z2,z3,z4)

   if TMap[x] and TMap[x][y] then
      if type(z1) == 'table' then
         local zz = UO.CharPosZ
         z2 = math.max(z1[2],zz)
         z3 = math.max(z1[3],zz)
         z4 = math.max(z1[4],zz)
         z1 = math.max(z1[1],zz)
      end
      local wx,wy = Window.X, Window.Y
      local tCoords = TMap[x][y]
      local x1,y1 = unpack(tCoords[1])
      local x2,y2 = unpack(tCoords[2])
      local x3,y3 = unpack(tCoords[3])
      local x4,y4 = unpack(tCoords[4])
      x1 = x1 + wx
      x2 = x2 + wx
      x3 = x3 + wx
      x4 = x4 + wx
      y1 = math.max(y1-4*z1,wy) + wy
      y2 = math.max(y2-4*z2,wy) + wy
      y3 = math.max(y3-4*z3,wy) + wy
      y4 = math.max(y4-4*z4,wy) + wy
      
      DL(x1,y1,x2,y2)
      DL(x2,y2,x3,y3)
      DL(x3,y3,x4,y4)
      DL(x4,y4,x1,y1)
   end
end

local DrawXTileZ4 = function(x,y,z1,z2,z3,z4)
   if TMap[x] and TMap[x][y] then
      if type(z1) == 'table' then
         local zz = UO.CharPosZ
         z2 = math.max(z1[2],zz)
         z3 = math.max(z1[3],zz)
         z4 = math.max(z1[4],zz)
         z1 = math.max(z1[1],zz)
      end
      local wx,wy = Window.X, Window.Y
      local tCoords = TMap[x][y]
      local x1,y1 = unpack(tCoords[1])
      local x2,y2 = unpack(tCoords[2])
      local x3,y3 = unpack(tCoords[3])
      local x4,y4 = unpack(tCoords[4])
      x1 = x1 + wx
      x2 = x2 + wx
      x3 = x3 + wx
      x4 = x4 + wx
      y1 = y1-4*z1 + wy
      y2 = y2-4*z2 + wy
      y3 = y3-4*z3 + wy
      y4 = y4-4*z4 + wy
      if y1 - Window.Y < 0 then return end
      DL(x1,y1,x2,y2)
      DL(x2,y2,x3,y3)
      DL(x3,y3,x4,y4)
      DL(x4,y4,x1,y1)
      DL(x1,y1,x3,y3)
      DL(x2,y2,x4,y4)
   end
end

local DrawTile = function(x,y,z)
   if TMap[x] and TMap[x][y] then
      local wx,wy = Window.X, Window.Y
      local tCoords = TMap[x][y]
      local x1,y1 = unpack(tCoords[1])
      local x2,y2 = unpack(tCoords[2])
      local x3,y3 = unpack(tCoords[3])
      local x4,y4 = unpack(tCoords[4])
      x1 = x1 + wx
      x2 = x2 + wx
      x3 = x3 + wx
      x4 = x4 + wx
      y1 = y1-4*z + wy
      y2 = y2-4*z + wy
      y3 = y3-4*z + wy
      y4 = y4-4*z + wy
      if y1 - Window.Y < 0 then return end
      DL(x1,y1,x2,y2)
      DL(x2,y2,x3,y3)
      DL(x3,y3,x4,y4)
      DL(x4,y4,x1,y1)
   end
end

local DrawXTile = function(x,y,z)
    if TMap[x] and TMap[x][y] then
      local wx,wy = Window.X, Window.Y
      local tCoords = TMap[x][y]
      local x1,y1 = unpack(tCoords[1])
      local x2,y2 = unpack(tCoords[2])
      local x3,y3 = unpack(tCoords[3])
      local x4,y4 = unpack(tCoords[4])
      x1 = x1 + wx
      x2 = x2 + wx
      x3 = x3 + wx
      x4 = x4 + wx
      y1 = y1-4*z + wy
      y2 = y2-4*z + wy
      y3 = y3-4*z + wy
      y4 = y4-4*z + wy
      if y1 - Window.Y < 0 then return end
      DL(x1,y1,x2,y2)
      DL(x2,y2,x3,y3)
      DL(x3,y3,x4,y4)
      DL(x4,y4,x1,y1)
      DL(x2,y2,x4,y4)
      DL(x1,y1,x3,y3)
   end
end

local GetScreenFromUO = function(x,y)
   local h   = 22      
   local xpi = UO.CliXRes / 2 - h
   local ypi = UO.CliYRes / 2
   local xo,yo = UO.CharPosX - x, UO.CharPosY-y
   local xi = ( (xo-yo) * h ) + xpi
   local yi = ( (yo+xo) * h ) + ypi
   return xi,yi
end

local DrawAdjacentTiles = function()
   for i = -2, 2 do
      for j = -2, 2 do
        -- todo
      end
   end
   return
end

local XIT = function(x,y)
   DrawLine(x+5,y+5,x-5,y-5)
   DrawLine(x-5,y+5,x+5,y-5)
end

local DrawResourceTile = function()
   Pen.Color = Color(200,102,200)
   Pen.Width = 2
   xo = UO.CharPosX + UO.CharPosX%8
   yo = UO.CharPosY + UO.CharPosY%8 + 1
   x1,y1 = GetScreenFromUO(xo,yo)  
   for i = 1, #GMap do
      if x1 + GMap[i].B == y1 then
         for _,gline in pairs(RGrid[(i-1)%8]) do
             local a = GMap[gline]
             DrawLine(a.X1,a.Y1,a.X2,a.Y2)
         end        
      elseif GMap[i].B-x1 == y1 then
         for _,gline in pairs(RGrid[(i-1)%8+8]) do
             local a = GMap[gline]
             DrawLine(a.X1,a.Y1,a.X2,a.Y2)
         end
      end
   end
end

local DrawMineReach = function()
   Pen.Color = Color(20,120,230)
   local tiles,tileid,tileflag,tilename,tilez,flags = {}
   local zz = UO.CharPosZ
   local yy = UO.CharPosY
   local xx = UO.CharPosX
   local ff = UO.CursKind

   -- populate tiles cache
   for x = -5, 5 do
      tiles[x] = {}
      for y = -5, 5 do
         tiles[x][y] = {}
         --print("Trammel X: "..tos(UO.CharPosX+x).." Y: "..tos(UO.CharPosY+y))
         cnt = kTile.count(xx+x,yy+y,ff)
         for i = 1, cnt do
              tileid,tileflag,tilename,tilez = unpack(kTile.get(xx+x,yy+y,ff,i) or {})
               flags = kTile.flags(tileflag)
              table.insert(tiles[x][y],{ID = tileid, F = flags, Name = tilename, Z = tilez or 0})
              --print(tos(i)..'. ID: '..tos(tileid)..'; tileflag: '..
              --tos(flags)..'; tilename: '..tos(tilename)..'; tilez: '..tos(tilez))
              --print(tos(i)..'. '..flags..' '..tos(tileid)..' '..tos(cnt)..' '..tos(tilez))
              
         end
         --print("------------------------------------------------")
      end
   end
  
   -- test whether in cave
   local spelunking = false
   local surface = true
   local t1,t2 = false,false
   for i =1,#tiles[0][0],1 do
      local z = { [1] = tiles[0][1][math.min(i,#tiles[0][1])].Z-zz,
                  [2] = tiles[1][1][math.min(i,#tiles[1][1])].Z-zz,
                  [3] = tiles[1][0][math.min(i,#tiles[1][0])].Z-zz,
                  [4] = tiles[0][0][math.min(i,#tiles[0][0])].Z-zz,
      }    
  
      if Mines[tiles[0][0][i].ID] and tiles[0][0][i].F:match("Impassable") then
        if z[4] > 10 then t1 = true end
        --print('z '..tos(z[4]))
      elseif Mines[tiles[0][0][i].ID] then
        t2 = true
      end
      --print(tos(t1)..' '..tos(t2))
      if t1 and t2 then spelunking = true break end
   end
   surface = not spelunking
  
   -- draw interesting tiles
   for x = -4,4 do
      for y = -4,4 do
          for i = 1, #tiles[x][y] do
            
             local z = { [1] = tiles[x][y+1][math.min(i,#tiles[x][y+1])].Z-zz,
                         [2] = tiles[x+1][y+1][math.min(i,#tiles[x+1][y+1])].Z-zz,
                         [3] = tiles[x+1][y][math.min(i,#tiles[x+1][y])].Z-zz,
                         [4] = tiles[x][y][math.min(i,#tiles[x][y])].Z-zz,
             }
          
             -- if LineOfSight(UO.CharPosX,UO.CharPosY,UO.CharPosZ,
             -- x+UO.CharPosX,y+UO.CharPosY,UO.CharPosZ+tiles[x][y][i].Z,tiles) then
                if Mines[tiles[x][y][i].ID] and tiles[x][y][i].F:match("Impassable") then
                  if surface then
                       Pen.Color = Color(200-5*(math.abs(zz-tiles[x][y][i].Z)),20,20)
                       DrawTileZ4(x,y,z)
                       --print("Impassable.Mineable")
                       --print(tiles[x][y][i].ID)
                       --print(tiles[x][y][i].F)
                       --print(tiles[x][y][i].Name)
                  end
                elseif spelunking and i <= 2 and Mines[tiles[x][y][i].ID] then
                       Pen.Color = Color(20,120,230)
                       z[1] = z[4]
                       z[2] = z[4]
                       z[3] = z[4]
                       DrawTileZ4(x,y,z)
                       --print("Minable")
                       --print(tiles[x][y][i].ID)
                       --print(tiles[x][y][i].F)
                       --print(tiles[x][y][i].Name)            
                elseif tiles[x][y][i].F:match("Impassable") then
                  if z[4] < 10 and z[4] >= 0 then
                       Pen.Color = Color(200,20,20)
                       DrawXTileZ4(x,y,z)
                       --print("Impassable")
                       --print(tiles[x][y][i].ID)
                       --print(tiles[x][y][i].F)
                       --print(tiles[x][y][i].Name)
                  end
                end
             --  else
             --     print("Can't See")
             --     print(tiles[x][y][i].ID)
             --     print(tiles[x][y][i].Z)
             --     print(tiles[x][y][i].F)
             --     print(tiles[x][y][i].Name)
             --  end
          end
       end
   end
   return
end

local DrawGrid = function()
      Pen.Color = Color(200,200,200)
      Pen.Width = 1
      for i = 1, #GMap do
          local a = GMap[i]
          DrawLine(a.X1,a.Y1,a.X2,a.Y2)
      end
end

local TrackMobs = function()
   UO.ScanItems(false)
   nCnt = UO.FilterItems(5)
   Pen.Width = 3
   for i = 0, nCnt - 1 do
      nID,nType,nKind,nContID,nX,nY,nZ,nStack,nRep,nCol = UO.GetItem(i)
      if nRep ~= 0 and nRep < 8 then
         if nRep == 7 then
            Pen.Color = Color(math.max(20,255-5*(math.abs(nZ-UO.CharPosZ))),math.max(40,255-5*(math.abs(nZ-UO.CharPosZ))),0)
         else
            Pen.Color = Color(0,0,255-3*(math.abs(nZ-UO.CharPosZ)))
         end
         DrawTile(nX-UO.CharPosX,nY-UO.CharPosY,nZ-UO.CharPosZ)
      end
    
   end
end

local TrackTiles = function()
   for x,ys in pairs(TMap) do
      for y,Pixs in pairs(ys) do
          cnt = kTile.count(UO.CharPosX+x,UO.CharPosY+y,UO.CursKind)
          for i = 1, cnt do
              local tileid,tileflag,tilename,tilez = unpack(kTile.get(UO.CharPosX+x,UO.CharPosY+y,UO.CursKind,i) or {}) -- PosY - 1 ?
              local flags = kTile.flags(tileflag)
              --print(tos(i)..'. ID: '..tos(tileid)..' tileflag: '..tos(flags)..' tilename: '..tos(tilename)..' tilez: '..tos(tilez))
              if flags:match("Impassable") then
                local zz = UO.CharPosZ
                local zt = zz+16
                local zb = zz-12
                if (tilez > zb) and (tilez < zt) then
                  DrawTile(x,y,tilez-zz)
                end
              end
          end
      end
   end
end

local Update = Obj.Create("TTimer")
Update.Interval = 200
Update.OnTimer = function()
   Pen.Width = 2
   Pen.Color = Color(19,138,183)
   if cx ~= UO.CharPosX or cy ~= UO.CharPosY then
      cx,cy = UO.CharPosX,UO.CharPosY
      clrscr()
      if grid then DrawGrid() end
      DrawResourceTile()
      --TrackTiles()    
      DrawMineReach()
   end
   --TrackMobs()  
end

local Quit = Obj.Create("TTimer")
Quit.Interval = 100
Quit.OnTimer = function()
    if getkey("F10") then
      Obj.Exit()
    elseif getkey('F9') then
      grid = not grid
      cx = 0
      while getkey('F9') do wait(1) end
    end
end

Quit.Enabled = true
Update.Enabled = true
Obj.Loop()

Not sure how to add a picture anymore.  I think image shack isn't free anymore :(

The following is the contents of the gridmap file that it is calling in the beginning... It's just a data table for drawing coordinates. 

Code: [Select]
Lines = {
    [1] = {
    ['B'] = 582,    ['X2'] = 18,    ['Y2'] = 600,    ['Y1'] = 582,    ['X1'] = 0,},
    [2] = {
    ['B'] = 538,    ['X2'] = 62,    ['Y2'] = 600,    ['Y1'] = 538,    ['X1'] = 0,},
    [3] = {
    ['B'] = 494,    ['X2'] = 106,    ['Y2'] = 600,    ['Y1'] = 494,    ['X1'] = 0,},
    [4] = {
    ['B'] = 450,    ['X2'] = 150,    ['Y2'] = 600,    ['Y1'] = 450,    ['X1'] = 0,},
    [5] = {
    ['B'] = 406,    ['X2'] = 194,    ['Y2'] = 600,    ['Y1'] = 406,    ['X1'] = 0,},
    [6] = {
    ['B'] = 362,    ['X2'] = 238,    ['Y2'] = 600,    ['Y1'] = 362,    ['X1'] = 0,},
    [7] = {
    ['B'] = 318,    ['X2'] = 282,    ['Y2'] = 600,    ['Y1'] = 318,    ['X1'] = 0,},
    [8] = {
    ['B'] = 274,    ['X2'] = 326,    ['Y2'] = 600,    ['Y1'] = 274,    ['X1'] = 0,},
    [9] = {
    ['B'] = 230,    ['X2'] = 370,    ['Y2'] = 600,    ['Y1'] = 230,    ['X1'] = 0,},
    [10] = {
    ['B'] = 186,    ['X2'] = 414,    ['Y2'] = 600,    ['Y1'] = 186,    ['X1'] = 0,},
    [11] = {
    ['B'] = 142,    ['X2'] = 458,    ['Y2'] = 600,    ['Y1'] = 142,    ['X1'] = 0,},
    [12] = {
    ['B'] = 98,    ['X2'] = 502,    ['Y2'] = 600,    ['Y1'] = 98,    ['X1'] = 0,},
    [13] = {
    ['B'] = 54,    ['X2'] = 546,    ['Y2'] = 600,    ['Y1'] = 54,    ['X1'] = 0,},
    [14] = {
    ['B'] = 10,    ['X2'] = 590,    ['Y2'] = 600,    ['Y1'] = 10,    ['X1'] = 0,},
    [15] = {
    ['B'] = -34,    ['X2'] = 634,    ['Y2'] = 600,    ['Y1'] = 0,    ['X1'] = 34,},
    [16] = {
    ['B'] = -78,    ['X2'] = 678,    ['Y2'] = 600,    ['Y1'] = 0,    ['X1'] = 78,},
    [17] = {
    ['B'] = -122,    ['X2'] = 722,    ['Y2'] = 600,    ['Y1'] = 0,    ['X1'] = 122,},
    [18] = {
    ['B'] = -166,    ['X2'] = 766,    ['Y2'] = 600,    ['Y1'] = 0,    ['X1'] = 166,},
    [19] = {
    ['B'] = -210,    ['X2'] = 800,    ['Y2'] = 590,    ['Y1'] = 0,    ['X1'] = 210,},
    [20] = {
    ['B'] = -254,    ['X2'] = 800,    ['Y2'] = 546,    ['Y1'] = 0,    ['X1'] = 254,},
    [21] = {
    ['B'] = -298,    ['X2'] = 800,    ['Y2'] = 502,    ['Y1'] = 0,    ['X1'] = 298,},
    [22] = {
    ['B'] = -342,    ['X2'] = 800,    ['Y2'] = 458,    ['Y1'] = 0,    ['X1'] = 342,},
    [23] = {
    ['B'] = -386,    ['X2'] = 800,    ['Y2'] = 414,    ['Y1'] = 0,    ['X1'] = 386,},
    [24] = {
    ['B'] = -430,    ['X2'] = 800,    ['Y2'] = 370,    ['Y1'] = 0,    ['X1'] = 430,},
    [25] = {
    ['B'] = -474,    ['X2'] = 800,    ['Y2'] = 326,    ['Y1'] = 0,    ['X1'] = 474,},
    [26] = {
    ['B'] = -518,    ['X2'] = 800,    ['Y2'] = 282,    ['Y1'] = 0,    ['X1'] = 518,},
    [27] = {
    ['B'] = -562,    ['X2'] = 800,    ['Y2'] = 238,    ['Y1'] = 0,    ['X1'] = 562,},
    [28] = {
    ['B'] = -606,    ['X2'] = 800,    ['Y2'] = 194,    ['Y1'] = 0,    ['X1'] = 606,},
    [29] = {
    ['B'] = -650,    ['X2'] = 800,    ['Y2'] = 150,    ['Y1'] = 0,    ['X1'] = 650,},
    [30] = {
    ['B'] = -694,    ['X2'] = 800,    ['Y2'] = 106,    ['Y1'] = 0,    ['X1'] = 694,},
    [31] = {
    ['B'] = -738,    ['X2'] = 800,    ['Y2'] = 62,    ['Y1'] = 0,    ['X1'] = 738,},
    [32] = {
    ['B'] = -782,    ['X2'] = 800,    ['Y2'] = 18,    ['Y1'] = 0,    ['X1'] = 782,},
    [33] = {
    ['B'] = -182,    ['X2'] = 800,    ['Y2'] = 582,    ['Y1'] = 600,    ['X1'] = 782,},
    [34] = {
    ['B'] = 1338,    ['X2'] = 800,    ['Y2'] = 538,    ['Y1'] = 600,    ['X1'] = 738,},
    [35] = {
    ['B'] = 1294,    ['X2'] = 800,    ['Y2'] = 494,    ['Y1'] = 600,    ['X1'] = 694,},
    [36] = {
    ['B'] = 1250,    ['X2'] = 800,    ['Y2'] = 450,    ['Y1'] = 600,    ['X1'] = 650,},
    [37] = {
    ['B'] = 1206,    ['X2'] = 800,    ['Y2'] = 406,    ['Y1'] = 600,    ['X1'] = 606,},
    [38] = {
    ['B'] = 1162,    ['X2'] = 800,    ['Y2'] = 362,    ['Y1'] = 600,    ['X1'] = 562,},
    [39] = {
    ['B'] = 1118,    ['X2'] = 800,    ['Y2'] = 318,    ['Y1'] = 600,    ['X1'] = 518,},
    [40] = {
    ['B'] = 1074,    ['X2'] = 800,    ['Y2'] = 274,    ['Y1'] = 600,    ['X1'] = 474,},
    [41] = {
    ['B'] = 1030,    ['X2'] = 800,    ['Y2'] = 230,    ['Y1'] = 600,    ['X1'] = 430,},
    [42] = {
    ['B'] = 986,    ['X2'] = 800,    ['Y2'] = 186,    ['Y1'] = 600,    ['X1'] = 386,},
    [43] = {
    ['B'] = 942,    ['X2'] = 800,    ['Y2'] = 142,    ['Y1'] = 600,    ['X1'] = 342,},
    [44] = {
    ['B'] = 898,    ['X2'] = 800,    ['Y2'] = 98,    ['Y1'] = 600,    ['X1'] = 298,},
    [45] = {
    ['B'] = 854,    ['X2'] = 800,    ['Y2'] = 54,    ['Y1'] = 600,    ['X1'] = 254,},
    [46] = {
    ['B'] = 810,    ['X2'] = 800,    ['Y2'] = 10,    ['Y1'] = 600,    ['X1'] = 210,},
    [47] = {
    ['B'] = 766,    ['X2'] = 766,    ['Y2'] = 0,    ['Y1'] = 600,    ['X1'] = 166,},
    [48] = {
    ['B'] = 722,    ['X2'] = 722,    ['Y2'] = 0,    ['Y1'] = 600,    ['X1'] = 122,},
    [49] = {
    ['B'] = 678,    ['X2'] = 678,    ['Y2'] = 0,    ['Y1'] = 600,    ['X1'] = 78,},
    [50] = {
    ['B'] = 634,    ['X2'] = 634,    ['Y2'] = 0,    ['Y1'] = 600,    ['X1'] = 34,},
    [51] = {
    ['B'] = 590,    ['X2'] = 590,    ['Y2'] = 0,    ['Y1'] = 590,    ['X1'] = 0,},
    [52] = {
    ['B'] = 546,    ['X2'] = 546,    ['Y2'] = 0,    ['Y1'] = 546,    ['X1'] = 0,},
    [53] = {
    ['B'] = 502,    ['X2'] = 502,    ['Y2'] = 0,    ['Y1'] = 502,    ['X1'] = 0,},
    [54] = {
    ['B'] = 458,    ['X2'] = 458,    ['Y2'] = 0,    ['Y1'] = 458,    ['X1'] = 0,},
    [55] = {
    ['B'] = 414,    ['X2'] = 414,    ['Y2'] = 0,    ['Y1'] = 414,    ['X1'] = 0,},
    [56] = {
    ['B'] = 370,    ['X2'] = 370,    ['Y2'] = 0,    ['Y1'] = 370,    ['X1'] = 0,},
    [57] = {
    ['B'] = 326,    ['X2'] = 326,    ['Y2'] = 0,    ['Y1'] = 326,    ['X1'] = 0,},
    [58] = {
    ['B'] = 282,    ['X2'] = 282,    ['Y2'] = 0,    ['Y1'] = 282,    ['X1'] = 0,},
    [59] = {
    ['B'] = 238,    ['X2'] = 238,    ['Y2'] = 0,    ['Y1'] = 238,    ['X1'] = 0,},
    [60] = {
    ['B'] = 194,    ['X2'] = 194,    ['Y2'] = 0,    ['Y1'] = 194,    ['X1'] = 0,},
    [61] = {
    ['B'] = 150,    ['X2'] = 150,    ['Y2'] = 0,    ['Y1'] = 150,    ['X1'] = 0,},
    [62] = {
    ['B'] = 106,    ['X2'] = 106,    ['Y2'] = 0,    ['Y1'] = 106,    ['X1'] = 0,},
    [63] = {
    ['B'] = 62,    ['X2'] = 62,    ['Y2'] = 0,    ['Y1'] = 62,    ['X1'] = 0,},
    [64] = {
    ['B'] = 18,    ['X2'] = 18,    ['Y2'] = 0,    ['Y1'] = 18,    ['X1'] = 0,},
}

Tiles = {
    [1] = {
             [1] = {[1] = { 378, 344}, [2] = { 400, 366}, [3] = { 422, 344}, [4] = { 400, 322}, },
             [2] = {[1] = { 356, 366}, [2] = { 378, 388}, [3] = { 400, 366}, [4] = { 378, 344}, },
             [3] = {[1] = { 334, 388}, [2] = { 356, 410}, [3] = { 378, 388}, [4] = { 356, 366}, },
             [4] = {[1] = { 312, 410}, [2] = { 334, 432}, [3] = { 356, 410}, [4] = { 334, 388}, },
             [5] = {[1] = { 290, 432}, [2] = { 312, 454}, [3] = { 334, 432}, [4] = { 312, 410}, },
             [6] = {[1] = { 268, 454}, [2] = { 290, 476}, [3] = { 312, 454}, [4] = { 290, 432}, },
             [7] = {[1] = { 246, 476}, [2] = { 268, 498}, [3] = { 290, 476}, [4] = { 268, 454}, },
             [8] = {[1] = { 224, 498}, [2] = { 246, 520}, [3] = { 268, 498}, [4] = { 246, 476}, },
             [9] = {[1] = { 202, 520}, [2] = { 224, 542}, [3] = { 246, 520}, [4] = { 224, 498}, },
             [10] = {[1] = { 180, 542}, [2] = { 202, 564}, [3] = { 224, 542}, [4] = { 202, 520}, },
             [11] = {[1] = { 158, 564}, [2] = { 180, 586}, [3] = { 202, 564}, [4] = { 180, 542}, },
             [0] = {[1] = { 400, 322}, [2] = { 422, 344}, [3] = { 444, 322}, [4] = { 422, 300}, },
             [-9] = {[1] = { 598, 124}, [2] = { 620, 146}, [3] = { 642, 124}, [4] = { 620, 102}, },
             [-5] = {[1] = { 510, 212}, [2] = { 532, 234}, [3] = { 554, 212}, [4] = { 532, 190}, },
             [-10] = {[1] = { 620, 102}, [2] = { 642, 124}, [3] = { 664, 102}, [4] = { 642, 80}, },
             [-3] = {[1] = { 466, 256}, [2] = { 488, 278}, [3] = { 510, 256}, [4] = { 488, 234}, },
             [-6] = {[1] = { 532, 190}, [2] = { 554, 212}, [3] = { 576, 190}, [4] = { 554, 168}, },
             [-12] = {[1] = { 664, 58}, [2] = { 686, 80}, [3] = { 708, 58}, [4] = { 686, 36}, },
             [-13] = {[1] = { 686, 36}, [2] = { 708, 58}, [3] = { 730, 36}, [4] = { 708, 14}, },
             [-7] = {[1] = { 554, 168}, [2] = { 576, 190}, [3] = { 598, 168}, [4] = { 576, 146}, },
             [-1] = {[1] = { 422, 300}, [2] = { 444, 322}, [3] = { 466, 300}, [4] = { 444, 278}, },
             [-2] = {[1] = { 444, 278}, [2] = { 466, 300}, [3] = { 488, 278}, [4] = { 466, 256}, },
             [-4] = {[1] = { 488, 234}, [2] = { 510, 256}, [3] = { 532, 234}, [4] = { 510, 212}, },
             [-8] = {[1] = { 576, 146}, [2] = { 598, 168}, [3] = { 620, 146}, [4] = { 598, 124}, },
             [-11] = {[1] = { 642, 80}, [2] = { 664, 102}, [3] = { 686, 80}, [4] = { 664, 58}, },
    },
    [2] = {
             [1] = {[1] = { 400, 366}, [2] = { 422, 388}, [3] = { 444, 366}, [4] = { 422, 344}, },
             [2] = {[1] = { 378, 388}, [2] = { 400, 410}, [3] = { 422, 388}, [4] = { 400, 366}, },
             [3] = {[1] = { 356, 410}, [2] = { 378, 432}, [3] = { 400, 410}, [4] = { 378, 388}, },
             [4] = {[1] = { 334, 432}, [2] = { 356, 454}, [3] = { 378, 432}, [4] = { 356, 410}, },
             [5] = {[1] = { 312, 454}, [2] = { 334, 476}, [3] = { 356, 454}, [4] = { 334, 432}, },
             [6] = {[1] = { 290, 476}, [2] = { 312, 498}, [3] = { 334, 476}, [4] = { 312, 454}, },
             [7] = {[1] = { 268, 498}, [2] = { 290, 520}, [3] = { 312, 498}, [4] = { 290, 476}, },
             [8] = {[1] = { 246, 520}, [2] = { 268, 542}, [3] = { 290, 520}, [4] = { 268, 498}, },
             [9] = {[1] = { 224, 542}, [2] = { 246, 564}, [3] = { 268, 542}, [4] = { 246, 520}, },
             [10] = {[1] = { 202, 564}, [2] = { 224, 586}, [3] = { 246, 564}, [4] = { 224, 542}, },
             [0] = {[1] = { 422, 344}, [2] = { 444, 366}, [3] = { 466, 344}, [4] = { 444, 322}, },
             [-9] = {[1] = { 620, 146}, [2] = { 642, 168}, [3] = { 664, 146}, [4] = { 642, 124}, },
             [-5] = {[1] = { 532, 234}, [2] = { 554, 256}, [3] = { 576, 234}, [4] = { 554, 212}, },
             [-10] = {[1] = { 642, 124}, [2] = { 664, 146}, [3] = { 686, 124}, [4] = { 664, 102}, },
             [-3] = {[1] = { 488, 278}, [2] = { 510, 300}, [3] = { 532, 278}, [4] = { 510, 256}, },
             [-6] = {[1] = { 554, 212}, [2] = { 576, 234}, [3] = { 598, 212}, [4] = { 576, 190}, },
             [-12] = {[1] = { 686, 80}, [2] = { 708, 102}, [3] = { 730, 80}, [4] = { 708, 58}, },
             [-11] = {[1] = { 664, 102}, [2] = { 686, 124}, [3] = { 708, 102}, [4] = { 686, 80}, },
             [-13] = {[1] = { 708, 58}, [2] = { 730, 80}, [3] = { 752, 58}, [4] = { 730, 36}, },
             [-7] = {[1] = { 576, 190}, [2] = { 598, 212}, [3] = { 620, 190}, [4] = { 598, 168}, },
             [-1] = {[1] = { 444, 322}, [2] = { 466, 344}, [3] = { 488, 322}, [4] = { 466, 300}, },
             [-2] = {[1] = { 466, 300}, [2] = { 488, 322}, [3] = { 510, 300}, [4] = { 488, 278}, },
             [-4] = {[1] = { 510, 256}, [2] = { 532, 278}, [3] = { 554, 256}, [4] = { 532, 234}, },
             [-8] = {[1] = { 598, 168}, [2] = { 620, 190}, [3] = { 642, 168}, [4] = { 620, 146}, },
             [-14] = {[1] = { 730, 36}, [2] = { 752, 58}, [3] = { 774, 36}, [4] = { 752, 14}, },
    },
    [3] = {
             [1] = {[1] = { 422, 388}, [2] = { 444, 410}, [3] = { 466, 388}, [4] = { 444, 366}, },
             [2] = {[1] = { 400, 410}, [2] = { 422, 432}, [3] = { 444, 410}, [4] = { 422, 388}, },
             [3] = {[1] = { 378, 432}, [2] = { 400, 454}, [3] = { 422, 432}, [4] = { 400, 410}, },
             [4] = {[1] = { 356, 454}, [2] = { 378, 476}, [3] = { 400, 454}, [4] = { 378, 432}, },
             [5] = {[1] = { 334, 476}, [2] = { 356, 498}, [3] = { 378, 476}, [4] = { 356, 454}, },
             [6] = {[1] = { 312, 498}, [2] = { 334, 520}, [3] = { 356, 498}, [4] = { 334, 476}, },
             [7] = {[1] = { 290, 520}, [2] = { 312, 542}, [3] = { 334, 520}, [4] = { 312, 498}, },
             [8] = {[1] = { 268, 542}, [2] = { 290, 564}, [3] = { 312, 542}, [4] = { 290, 520}, },
             [0] = {[1] = { 444, 366}, [2] = { 466, 388}, [3] = { 488, 366}, [4] = { 466, 344}, },
             [-9] = {[1] = { 642, 168}, [2] = { 664, 190}, [3] = { 686, 168}, [4] = { 664, 146}, },
             [-5] = {[1] = { 554, 256}, [2] = { 576, 278}, [3] = { 598, 256}, [4] = { 576, 234}, },
             [-10] = {[1] = { 664, 146}, [2] = { 686, 168}, [3] = { 708, 146}, [4] = { 686, 124}, },
             [-11] = {[1] = { 686, 124}, [2] = { 708, 146}, [3] = { 730, 124}, [4] = { 708, 102}, },
             [-3] = {[1] = { 510, 300}, [2] = { 532, 322}, [3] = { 554, 300}, [4] = { 532, 278}, },
             [-6] = {[1] = { 576, 234}, [2] = { 598, 256}, [3] = { 620, 234}, [4] = { 598, 212}, },
             [-12] = {[1] = { 708, 102}, [2] = { 730, 124}, [3] = { 752, 102}, [4] = { 730, 80}, },
             [9] = {[1] = { 246, 564}, [2] = { 268, 586}, [3] = { 290, 564}, [4] = { 268, 542}, },
             [-13] = {[1] = { 730, 80}, [2] = { 752, 102}, [3] = { 774, 80}, [4] = { 752, 58}, },
             [-7] = {[1] = { 598, 212}, [2] = { 620, 234}, [3] = { 642, 212}, [4] = { 620, 190}, },
             [-14] = {[1] = { 752, 58}, [2] = { 774, 80}, [3] = { 796, 58}, [4] = { 774, 36}, },
             [-2] = {[1] = { 488, 322}, [2] = { 510, 344}, [3] = { 532, 322}, [4] = { 510, 300}, },
             [-4] = {[1] = { 532, 278}, [2] = { 554, 300}, [3] = { 576, 278}, [4] = { 554, 256}, },
             [-8] = {[1] = { 620, 190}, [2] = { 642, 212}, [3] = { 664, 190}, [4] = { 642, 168}, },
             [-1] = {[1] = { 466, 344}, [2] = { 488, 366}, [3] = { 510, 344}, [4] = { 488, 322}, },
    },
    [4] = {
             [1] = {[1] = { 444, 410}, [2] = { 466, 432}, [3] = { 488, 410}, [4] = { 466, 388}, },
             [2] = {[1] = { 422, 432}, [2] = { 444, 454}, [3] = { 466, 432}, [4] = { 444, 410}, },
             [3] = {[1] = { 400, 454}, [2] = { 422, 476}, [3] = { 444, 454}, [4] = { 422, 432}, },
             [4] = {[1] = { 378, 476}, [2] = { 400, 498}, [3] = { 422, 476}, [4] = { 400, 454}, },
             [5] = {[1] = { 356, 498}, [2] = { 378, 520}, [3] = { 400, 498}, [4] = { 378, 476}, },
             [6] = {[1] = { 334, 520}, [2] = { 356, 542}, [3] = { 378, 520}, [4] = { 356, 498}, },
             [7] = {[1] = { 312, 542}, [2] = { 334, 564}, [3] = { 356, 542}, [4] = { 334, 520}, },
             [8] = {[1] = { 290, 564}, [2] = { 312, 586}, [3] = { 334, 564}, [4] = { 312, 542}, },
             [0] = {[1] = { 466, 388}, [2] = { 488, 410}, [3] = { 510, 388}, [4] = { 488, 366}, },
             [-9] = {[1] = { 664, 190}, [2] = { 686, 212}, [3] = { 708, 190}, [4] = { 686, 168}, },
             [-5] = {[1] = { 576, 278}, [2] = { 598, 300}, [3] = { 620, 278}, [4] = { 598, 256}, },
             [-10] = {[1] = { 686, 168}, [2] = { 708, 190}, [3] = { 730, 168}, [4] = { 708, 146}, },
             [-11] = {[1] = { 708, 146}, [2] = { 730, 168}, [3] = { 752, 146}, [4] = { 730, 124}, },
             [-6] = {[1] = { 598, 256}, [2] = { 620, 278}, [3] = { 642, 256}, [4] = { 620, 234}, },
             [-12] = {[1] = { 730, 124}, [2] = { 752, 146}, [3] = { 774, 124}, [4] = { 752, 102}, },
             [-13] = {[1] = { 752, 102}, [2] = { 774, 124}, [3] = { 796, 102}, [4] = { 774, 80}, },
             [-7] = {[1] = { 620, 234}, [2] = { 642, 256}, [3] = { 664, 234}, [4] = { 642, 212}, },
             [-1] = {[1] = { 488, 366}, [2] = { 510, 388}, [3] = { 532, 366}, [4] = { 510, 344}, },
             [-2] = {[1] = { 510, 344}, [2] = { 532, 366}, [3] = { 554, 344}, [4] = { 532, 322}, },
             [-4] = {[1] = { 554, 300}, [2] = { 576, 322}, [3] = { 598, 300}, [4] = { 576, 278}, },
             [-8] = {[1] = { 642, 212}, [2] = { 664, 234}, [3] = { 686, 212}, [4] = { 664, 190}, },
             [-3] = {[1] = { 532, 322}, [2] = { 554, 344}, [3] = { 576, 322}, [4] = { 554, 300}, },
    },
    [5] = {
             [1] = {[1] = { 466, 432}, [2] = { 488, 454}, [3] = { 510, 432}, [4] = { 488, 410}, },
             [2] = {[1] = { 444, 454}, [2] = { 466, 476}, [3] = { 488, 454}, [4] = { 466, 432}, },
             [3] = {[1] = { 422, 476}, [2] = { 444, 498}, [3] = { 466, 476}, [4] = { 444, 454}, },
             [4] = {[1] = { 400, 498}, [2] = { 422, 520}, [3] = { 444, 498}, [4] = { 422, 476}, },
             [0] = {[1] = { 488, 410}, [2] = { 510, 432}, [3] = { 532, 410}, [4] = { 510, 388}, },
             [-9] = {[1] = { 686, 212}, [2] = { 708, 234}, [3] = { 730, 212}, [4] = { 708, 190}, },
             [-5] = {[1] = { 598, 300}, [2] = { 620, 322}, [3] = { 642, 300}, [4] = { 620, 278}, },
             [-10] = {[1] = { 708, 190}, [2] = { 730, 212}, [3] = { 752, 190}, [4] = { 730, 168}, },
             [7] = {[1] = { 334, 564}, [2] = { 356, 586}, [3] = { 378, 564}, [4] = { 356, 542}, },
             [-3] = {[1] = { 554, 344}, [2] = { 576, 366}, [3] = { 598, 344}, [4] = { 576, 322}, },
             [-6] = {[1] = { 620, 278}, [2] = { 642, 300}, [3] = { 664, 278}, [4] = { 642, 256}, },
             [-12] = {[1] = { 752, 146}, [2] = { 774, 168}, [3] = { 796, 146}, [4] = { 774, 124}, },
             [6] = {[1] = { 356, 542}, [2] = { 378, 564}, [3] = { 400, 542}, [4] = { 378, 520}, },
             [5] = {[1] = { 378, 520}, [2] = { 400, 542}, [3] = { 422, 520}, [4] = { 400, 498}, },
             [-7] = {[1] = { 642, 256}, [2] = { 664, 278}, [3] = { 686, 256}, [4] = { 664, 234}, },
             [-1] = {[1] = { 510, 388}, [2] = { 532, 410}, [3] = { 554, 388}, [4] = { 532, 366}, },
             [-2] = {[1] = { 532, 366}, [2] = { 554, 388}, [3] = { 576, 366}, [4] = { 554, 344}, },
             [-4] = {[1] = { 576, 322}, [2] = { 598, 344}, [3] = { 620, 322}, [4] = { 598, 300}, },
             [-8] = {[1] = { 664, 234}, [2] = { 686, 256}, [3] = { 708, 234}, [4] = { 686, 212}, },
             [-11] = {[1] = { 730, 168}, [2] = { 752, 190}, [3] = { 774, 168}, [4] = { 752, 146}, },
    },
    [6] = {
             [1] = {[1] = { 488, 454}, [2] = { 510, 476}, [3] = { 532, 454}, [4] = { 510, 432}, },
             [2] = {[1] = { 466, 476}, [2] = { 488, 498}, [3] = { 510, 476}, [4] = { 488, 454}, },
             [3] = {[1] = { 444, 498}, [2] = { 466, 520}, [3] = { 488, 498}, [4] = { 466, 476}, },
             [4] = {[1] = { 422, 520}, [2] = { 444, 542}, [3] = { 466, 520}, [4] = { 444, 498}, },
             [5] = {[1] = { 400, 542}, [2] = { 422, 564}, [3] = { 444, 542}, [4] = { 422, 520}, },
             [6] = {[1] = { 378, 564}, [2] = { 400, 586}, [3] = { 422, 564}, [4] = { 400, 542}, },
             [0] = {[1] = { 510, 432}, [2] = { 532, 454}, [3] = { 554, 432}, [4] = { 532, 410}, },
             [-9] = {[1] = { 708, 234}, [2] = { 730, 256}, [3] = { 752, 234}, [4] = { 730, 212}, },
             [-5] = {[1] = { 620, 322}, [2] = { 642, 344}, [3] = { 664, 322}, [4] = { 642, 300}, },
             [-10] = {[1] = { 730, 212}, [2] = { 752, 234}, [3] = { 774, 212}, [4] = { 752, 190}, },
             [-3] = {[1] = { 576, 366}, [2] = { 598, 388}, [3] = { 620, 366}, [4] = { 598, 344}, },
             [-6] = {[1] = { 642, 300}, [2] = { 664, 322}, [3] = { 686, 300}, [4] = { 664, 278}, },
             [-7] = {[1] = { 664, 278}, [2] = { 686, 300}, [3] = { 708, 278}, [4] = { 686, 256}, },
             [-1] = {[1] = { 532, 410}, [2] = { 554, 432}, [3] = { 576, 410}, [4] = { 554, 388}, },
             [-2] = {[1] = { 554, 388}, [2] = { 576, 410}, [3] = { 598, 388}, [4] = { 576, 366}, },
             [-4] = {[1] = { 598, 344}, [2] = { 620, 366}, [3] = { 642, 344}, [4] = { 620, 322}, },
             [-8] = {[1] = { 686, 256}, [2] = { 708, 278}, [3] = { 730, 256}, [4] = { 708, 234}, },
             [-11] = {[1] = { 752, 190}, [2] = { 774, 212}, [3] = { 796, 190}, [4] = { 774, 168}, },
    },
    [7] = {
             [0] = {[1] = { 532, 454}, [2] = { 554, 476}, [3] = { 576, 454}, [4] = { 554, 432}, },
             [-9] = {[1] = { 730, 256}, [2] = { 752, 278}, [3] = { 774, 256}, [4] = { 752, 234}, },
             [-5] = {[1] = { 642, 344}, [2] = { 664, 366}, [3] = { 686, 344}, [4] = { 664, 322}, },
             [-10] = {[1] = { 752, 234}, [2] = { 774, 256}, [3] = { 796, 234}, [4] = { 774, 212}, },
             [2] = {[1] = { 488, 498}, [2] = { 510, 520}, [3] = { 532, 498}, [4] = { 510, 476}, },
             [-3] = {[1] = { 598, 388}, [2] = { 620, 410}, [3] = { 642, 388}, [4] = { 620, 366}, },
             [-6] = {[1] = { 664, 322}, [2] = { 686, 344}, [3] = { 708, 322}, [4] = { 686, 300}, },
             [3] = {[1] = { 466, 520}, [2] = { 488, 542}, [3] = { 510, 520}, [4] = { 488, 498}, },
             [4] = {[1] = { 444, 542}, [2] = { 466, 564}, [3] = { 488, 542}, [4] = { 466, 520}, },
             [5] = {[1] = { 422, 564}, [2] = { 444, 586}, [3] = { 466, 564}, [4] = { 444, 542}, },
             [-7] = {[1] = { 686, 300}, [2] = { 708, 322}, [3] = { 730, 300}, [4] = { 708, 278}, },
             [-1] = {[1] = { 554, 432}, [2] = { 576, 454}, [3] = { 598, 432}, [4] = { 576, 410}, },
             [-2] = {[1] = { 576, 410}, [2] = { 598, 432}, [3] = { 620, 410}, [4] = { 598, 388}, },
             [-4] = {[1] = { 620, 366}, [2] = { 642, 388}, [3] = { 664, 366}, [4] = { 642, 344}, },
             [-8] = {[1] = { 708, 278}, [2] = { 730, 300}, [3] = { 752, 278}, [4] = { 730, 256}, },
             [1] = {[1] = { 510, 476}, [2] = { 532, 498}, [3] = { 554, 476}, [4] = { 532, 454}, },
    },
    [8] = {
             [0] = {[1] = { 554, 476}, [2] = { 576, 498}, [3] = { 598, 476}, [4] = { 576, 454}, },
             [-9] = {[1] = { 752, 278}, [2] = { 774, 300}, [3] = { 796, 278}, [4] = { 774, 256}, },
             [-5] = {[1] = { 664, 366}, [2] = { 686, 388}, [3] = { 708, 366}, [4] = { 686, 344}, },
             [1] = {[1] = { 532, 498}, [2] = { 554, 520}, [3] = { 576, 498}, [4] = { 554, 476}, },
             [2] = {[1] = { 510, 520}, [2] = { 532, 542}, [3] = { 554, 520}, [4] = { 532, 498}, },
             [-3] = {[1] = { 620, 410}, [2] = { 642, 432}, [3] = { 664, 410}, [4] = { 642, 388}, },
             [-6] = {[1] = { 686, 344}, [2] = { 708, 366}, [3] = { 730, 344}, [4] = { 708, 322}, },
             [4] = {[1] = { 466, 564}, [2] = { 488, 586}, [3] = { 510, 564}, [4] = { 488, 542}, },
             [-7] = {[1] = { 708, 322}, [2] = { 730, 344}, [3] = { 752, 322}, [4] = { 730, 300}, },
             [-1] = {[1] = { 576, 454}, [2] = { 598, 476}, [3] = { 620, 454}, [4] = { 598, 432}, },
             [-2] = {[1] = { 598, 432}, [2] = { 620, 454}, [3] = { 642, 432}, [4] = { 620, 410}, },
             [-4] = {[1] = { 642, 388}, [2] = { 664, 410}, [3] = { 686, 388}, [4] = { 664, 366}, },
             [-8] = {[1] = { 730, 300}, [2] = { 752, 322}, [3] = { 774, 300}, [4] = { 752, 278}, },
             [3] = {[1] = { 488, 542}, [2] = { 510, 564}, [3] = { 532, 542}, [4] = { 510, 520}, },
    },
    [9] = {
             [0] = {[1] = { 576, 498}, [2] = { 598, 520}, [3] = { 620, 498}, [4] = { 598, 476}, },
             [-5] = {[1] = { 686, 388}, [2] = { 708, 410}, [3] = { 730, 388}, [4] = { 708, 366}, },
             [1] = {[1] = { 554, 520}, [2] = { 576, 542}, [3] = { 598, 520}, [4] = { 576, 498}, },
             [2] = {[1] = { 532, 542}, [2] = { 554, 564}, [3] = { 576, 542}, [4] = { 554, 520}, },
             [-3] = {[1] = { 642, 432}, [2] = { 664, 454}, [3] = { 686, 432}, [4] = { 664, 410}, },
             [-6] = {[1] = { 708, 366}, [2] = { 730, 388}, [3] = { 752, 366}, [4] = { 730, 344}, },
             [-7] = {[1] = { 730, 344}, [2] = { 752, 366}, [3] = { 774, 344}, [4] = { 752, 322}, },
             [-1] = {[1] = { 598, 476}, [2] = { 620, 498}, [3] = { 642, 476}, [4] = { 620, 454}, },
             [-2] = {[1] = { 620, 454}, [2] = { 642, 476}, [3] = { 664, 454}, [4] = { 642, 432}, },
             [-4] = {[1] = { 664, 410}, [2] = { 686, 432}, [3] = { 708, 410}, [4] = { 686, 388}, },
             [-8] = {[1] = { 752, 322}, [2] = { 774, 344}, [3] = { 796, 322}, [4] = { 774, 300}, },
             [3] = {[1] = { 510, 564}, [2] = { 532, 586}, [3] = { 554, 564}, [4] = { 532, 542}, },
    },
    [10] = {
             [1] = {[1] = { 576, 542}, [2] = { 598, 564}, [3] = { 620, 542}, [4] = { 598, 520}, },
             [2] = {[1] = { 554, 564}, [2] = { 576, 586}, [3] = { 598, 564}, [4] = { 576, 542}, },
             [-4] = {[1] = { 686, 432}, [2] = { 708, 454}, [3] = { 730, 432}, [4] = { 708, 410}, },
             [-5] = {[1] = { 708, 410}, [2] = { 730, 432}, [3] = { 752, 410}, [4] = { 730, 388}, },
             [-6] = {[1] = { 730, 388}, [2] = { 752, 410}, [3] = { 774, 388}, [4] = { 752, 366}, },
             [-7] = {[1] = { 752, 366}, [2] = { 774, 388}, [3] = { 796, 366}, [4] = { 774, 344}, },
             [0] = {[1] = { 598, 520}, [2] = { 620, 542}, [3] = { 642, 520}, [4] = { 620, 498}, },
             [-3] = {[1] = { 664, 454}, [2] = { 686, 476}, [3] = { 708, 454}, [4] = { 686, 432}, },
             [-1] = {[1] = { 620, 498}, [2] = { 642, 520}, [3] = { 664, 498}, [4] = { 642, 476}, },
             [-2] = {[1] = { 642, 476}, [2] = { 664, 498}, [3] = { 686, 476}, [4] = { 664, 454}, },
    },
    [11] = {
             [-4] = {[1] = { 708, 454}, [2] = { 730, 476}, [3] = { 752, 454}, [4] = { 730, 432}, },
             [-5] = {[1] = { 730, 432}, [2] = { 752, 454}, [3] = { 774, 432}, [4] = { 752, 410}, },
             [-6] = {[1] = { 752, 410}, [2] = { 774, 432}, [3] = { 796, 410}, [4] = { 774, 388}, },
             [-2] = {[1] = { 664, 498}, [2] = { 686, 520}, [3] = { 708, 498}, [4] = { 686, 476}, },
             [1] = {[1] = { 598, 564}, [2] = { 620, 586}, [3] = { 642, 564}, [4] = { 620, 542}, },
             [-3] = {[1] = { 686, 476}, [2] = { 708, 498}, [3] = { 730, 476}, [4] = { 708, 454}, },
             [-1] = {[1] = { 642, 520}, [2] = { 664, 542}, [3] = { 686, 520}, [4] = { 664, 498}, },
             [0] = {[1] = { 620, 542}, [2] = { 642, 564}, [3] = { 664, 542}, [4] = { 642, 520}, },
    },
    [12] = {
             [-4] = {[1] = { 730, 476}, [2] = { 752, 498}, [3] = { 774, 476}, [4] = { 752, 454}, },
             [-5] = {[1] = { 752, 454}, [2] = { 774, 476}, [3] = { 796, 454}, [4] = { 774, 432}, },
             [-2] = {[1] = { 686, 520}, [2] = { 708, 542}, [3] = { 730, 520}, [4] = { 708, 498}, },
             [-3] = {[1] = { 708, 498}, [2] = { 730, 520}, [3] = { 752, 498}, [4] = { 730, 476}, },
             [-1] = {[1] = { 664, 542}, [2] = { 686, 564}, [3] = { 708, 542}, [4] = { 686, 520}, },
             [0] = {[1] = { 642, 564}, [2] = { 664, 586}, [3] = { 686, 564}, [4] = { 664, 542}, },
    },
    [13] = {
             [-2] = {[1] = { 708, 542}, [2] = { 730, 564}, [3] = { 752, 542}, [4] = { 730, 520}, },
             [-4] = {[1] = { 752, 498}, [2] = { 774, 520}, [3] = { 796, 498}, [4] = { 774, 476}, },
             [-3] = {[1] = { 730, 520}, [2] = { 752, 542}, [3] = { 774, 520}, [4] = { 752, 498}, },
             [-1] = {[1] = { 686, 564}, [2] = { 708, 586}, [3] = { 730, 564}, [4] = { 708, 542}, },
    },
    [14] = {
             [-3] = {[1] = { 752, 542}, [2] = { 774, 564}, [3] = { 796, 542}, [4] = { 774, 520}, },
             [-2] = {[1] = { 730, 564}, [2] = { 752, 586}, [3] = { 774, 564}, [4] = { 752, 542}, },
    },
    [0] = {
             [1] = {[1] = { 356, 322}, [2] = { 378, 344}, [3] = { 400, 322}, [4] = { 378, 300}, },
             [2] = {[1] = { 334, 344}, [2] = { 356, 366}, [3] = { 378, 344}, [4] = { 356, 322}, },
             [3] = {[1] = { 312, 366}, [2] = { 334, 388}, [3] = { 356, 366}, [4] = { 334, 344}, },
             [4] = {[1] = { 290, 388}, [2] = { 312, 410}, [3] = { 334, 388}, [4] = { 312, 366}, },
             [5] = {[1] = { 268, 410}, [2] = { 290, 432}, [3] = { 312, 410}, [4] = { 290, 388}, },
             [6] = {[1] = { 246, 432}, [2] = { 268, 454}, [3] = { 290, 432}, [4] = { 268, 410}, },
             [7] = {[1] = { 224, 454}, [2] = { 246, 476}, [3] = { 268, 454}, [4] = { 246, 432}, },
             [8] = {[1] = { 202, 476}, [2] = { 224, 498}, [3] = { 246, 476}, [4] = { 224, 454}, },
             [9] = {[1] = { 180, 498}, [2] = { 202, 520}, [3] = { 224, 498}, [4] = { 202, 476}, },
             [10] = {[1] = { 158, 520}, [2] = { 180, 542}, [3] = { 202, 520}, [4] = { 180, 498}, },
             [11] = {[1] = { 136, 542}, [2] = { 158, 564}, [3] = { 180, 542}, [4] = { 158, 520}, },
             [12] = {[1] = { 114, 564}, [2] = { 136, 586}, [3] = { 158, 564}, [4] = { 136, 542}, },
             [0] = {[1] = { 378, 300}, [2] = { 400, 322}, [3] = { 422, 300}, [4] = { 400, 278}, },
             [-9] = {[1] = { 576, 102}, [2] = { 598, 124}, [3] = { 620, 102}, [4] = { 598, 80}, },
             [-5] = {[1] = { 488, 190}, [2] = { 510, 212}, [3] = { 532, 190}, [4] = { 510, 168}, },
             [-10] = {[1] = { 598, 80}, [2] = { 620, 102}, [3] = { 642, 80}, [4] = { 620, 58}, },
             [-3] = {[1] = { 444, 234}, [2] = { 466, 256}, [3] = { 488, 234}, [4] = { 466, 212}, },
             [-6] = {[1] = { 510, 168}, [2] = { 532, 190}, [3] = { 554, 168}, [4] = { 532, 146}, },
             [-12] = {[1] = { 642, 36}, [2] = { 664, 58}, [3] = { 686, 36}, [4] = { 664, 14}, },
             [-7] = {[1] = { 532, 146}, [2] = { 554, 168}, [3] = { 576, 146}, [4] = { 554, 124}, },
             [-1] = {[1] = { 400, 278}, [2] = { 422, 300}, [3] = { 444, 278}, [4] = { 422, 256}, },
             [-2] = {[1] = { 422, 256}, [2] = { 444, 278}, [3] = { 466, 256}, [4] = { 444, 234}, },
             [-4] = {[1] = { 466, 212}, [2] = { 488, 234}, [3] = { 510, 212}, [4] = { 488, 190}, },
             [-8] = {[1] = { 554, 124}, [2] = { 576, 146}, [3] = { 598, 124}, [4] = { 576, 102}, },
             [-11] = {[1] = { 620, 58}, [2] = { 642, 80}, [3] = { 664, 58}, [4] = { 642, 36}, },
    },
    [-9] = {
             [1] = {[1] = { 158, 124}, [2] = { 180, 146}, [3] = { 202, 124}, [4] = { 180, 102}, },
             [2] = {[1] = { 136, 146}, [2] = { 158, 168}, [3] = { 180, 146}, [4] = { 158, 124}, },
             [3] = {[1] = { 114, 168}, [2] = { 136, 190}, [3] = { 158, 168}, [4] = { 136, 146}, },
             [4] = {[1] = { 92, 190}, [2] = { 114, 212}, [3] = { 136, 190}, [4] = { 114, 168}, },
             [5] = {[1] = { 70, 212}, [2] = { 92, 234}, [3] = { 114, 212}, [4] = { 92, 190}, },
             [6] = {[1] = { 48, 234}, [2] = { 70, 256}, [3] = { 92, 234}, [4] = { 70, 212}, },
             [7] = {[1] = { 26, 256}, [2] = { 48, 278}, [3] = { 70, 256}, [4] = { 48, 234}, },
             [8] = {[1] = { 4, 278}, [2] = { 26, 300}, [3] = { 48, 278}, [4] = { 26, 256}, },
             [-2] = {[1] = { 224, 58}, [2] = { 246, 80}, [3] = { 268, 58}, [4] = { 246, 36}, },
             [0] = {[1] = { 180, 102}, [2] = { 202, 124}, [3] = { 224, 102}, [4] = { 202, 80}, },
             [-3] = {[1] = { 246, 36}, [2] = { 268, 58}, [3] = { 290, 36}, [4] = { 268, 14}, },
             [-1] = {[1] = { 202, 80}, [2] = { 224, 102}, [3] = { 246, 80}, [4] = { 224, 58}, },
    },
    [-5] = {
             [1] = {[1] = { 246, 212}, [2] = { 268, 234}, [3] = { 290, 212}, [4] = { 268, 190}, },
             [2] = {[1] = { 224, 234}, [2] = { 246, 256}, [3] = { 268, 234}, [4] = { 246, 212}, },
             [3] = {[1] = { 202, 256}, [2] = { 224, 278}, [3] = { 246, 256}, [4] = { 224, 234}, },
             [4] = {[1] = { 180, 278}, [2] = { 202, 300}, [3] = { 224, 278}, [4] = { 202, 256}, },
             [5] = {[1] = { 158, 300}, [2] = { 180, 322}, [3] = { 202, 300}, [4] = { 180, 278}, },
             [6] = {[1] = { 136, 322}, [2] = { 158, 344}, [3] = { 180, 322}, [4] = { 158, 300}, },
             [7] = {[1] = { 114, 344}, [2] = { 136, 366}, [3] = { 158, 344}, [4] = { 136, 322}, },
             [8] = {[1] = { 92, 366}, [2] = { 114, 388}, [3] = { 136, 366}, [4] = { 114, 344}, },
             [9] = {[1] = { 70, 388}, [2] = { 92, 410}, [3] = { 114, 388}, [4] = { 92, 366}, },
             [10] = {[1] = { 48, 410}, [2] = { 70, 432}, [3] = { 92, 410}, [4] = { 70, 388}, },
             [11] = {[1] = { 26, 432}, [2] = { 48, 454}, [3] = { 70, 432}, [4] = { 48, 410}, },
             [12] = {[1] = { 4, 454}, [2] = { 26, 476}, [3] = { 48, 454}, [4] = { 26, 432}, },
             [0] = {[1] = { 268, 190}, [2] = { 290, 212}, [3] = { 312, 190}, [4] = { 290, 168}, },
             [-5] = {[1] = { 378, 80}, [2] = { 400, 102}, [3] = { 422, 80}, [4] = { 400, 58}, },
             [-6] = {[1] = { 400, 58}, [2] = { 422, 80}, [3] = { 444, 58}, [4] = { 422, 36}, },
             [-2] = {[1] = { 312, 146}, [2] = { 334, 168}, [3] = { 356, 146}, [4] = { 334, 124}, },
             [-4] = {[1] = { 356, 102}, [2] = { 378, 124}, [3] = { 400, 102}, [4] = { 378, 80}, },
             [-3] = {[1] = { 334, 124}, [2] = { 356, 146}, [3] = { 378, 124}, [4] = { 356, 102}, },
             [-1] = {[1] = { 290, 168}, [2] = { 312, 190}, [3] = { 334, 168}, [4] = { 312, 146}, },
             [-7] = {[1] = { 422, 36}, [2] = { 444, 58}, [3] = { 466, 36}, [4] = { 444, 14}, },
    },
    [-10] = {
             [1] = {[1] = { 136, 102}, [2] = { 158, 124}, [3] = { 180, 102}, [4] = { 158, 80}, },
             [2] = {[1] = { 114, 124}, [2] = { 136, 146}, [3] = { 158, 124}, [4] = { 136, 102}, },
             [3] = {[1] = { 92, 146}, [2] = { 114, 168}, [3] = { 136, 146}, [4] = { 114, 124}, },
             [4] = {[1] = { 70, 168}, [2] = { 92, 190}, [3] = { 114, 168}, [4] = { 92, 146}, },
             [5] = {[1] = { 48, 190}, [2] = { 70, 212}, [3] = { 92, 190}, [4] = { 70, 168}, },
             [6] = {[1] = { 26, 212}, [2] = { 48, 234}, [3] = { 70, 212}, [4] = { 48, 190}, },
             [7] = {[1] = { 4, 234}, [2] = { 26, 256}, [3] = { 48, 234}, [4] = { 26, 212}, },
             [0] = {[1] = { 158, 80}, [2] = { 180, 102}, [3] = { 202, 80}, [4] = { 180, 58}, },
             [-1] = {[1] = { 180, 58}, [2] = { 202, 80}, [3] = { 224, 58}, [4] = { 202, 36}, },
             [-2] = {[1] = { 202, 36}, [2] = { 224, 58}, [3] = { 246, 36}, [4] = { 224, 14}, },
    },
    [-3] = {
             [1] = {[1] = { 290, 256}, [2] = { 312, 278}, [3] = { 334, 256}, [4] = { 312, 234}, },
             [2] = {[1] = { 268, 278}, [2] = { 290, 300}, [3] = { 312, 278}, [4] = { 290, 256}, },
             [3] = {[1] = { 246, 300}, [2] = { 268, 322}, [3] = { 290, 300}, [4] = { 268, 278}, },
             [4] = {[1] = { 224, 322}, [2] = { 246, 344}, [3] = { 268, 322}, [4] = { 246, 300}, },
             [5] = {[1] = { 202, 344}, [2] = { 224, 366}, [3] = { 246, 344}, [4] = { 224, 322}, },
             [6] = {[1] = { 180, 366}, [2] = { 202, 388}, [3] = { 224, 366}, [4] = { 202, 344}, },
             [7] = {[1] = { 158, 388}, [2] = { 180, 410}, [3] = { 202, 388}, [4] = { 180, 366}, },
             [8] = {[1] = { 136, 410}, [2] = { 158, 432}, [3] = { 180, 410}, [4] = { 158, 388}, },
             [0] = {[1] = { 312, 234}, [2] = { 334, 256}, [3] = { 356, 234}, [4] = { 334, 212}, },
             [-9] = {[1] = { 510, 36}, [2] = { 532, 58}, [3] = { 554, 36}, [4] = { 532, 14}, },
             [-5] = {[1] = { 422, 124}, [2] = { 444, 146}, [3] = { 466, 124}, [4] = { 444, 102}, },
             [14] = {[1] = { 4, 542}, [2] = { 26, 564}, [3] = { 48, 542}, [4] = { 26, 520}, },
             [13] = {[1] = { 26, 520}, [2] = { 48, 542}, [3] = { 70, 520}, [4] = { 48, 498}, },
             [-3] = {[1] = { 378, 168}, [2] = { 400, 190}, [3] = { 422, 168}, [4] = { 400, 146}, },
             [-6] = {[1] = { 444, 102}, [2] = { 466, 124}, [3] = { 488, 102}, [4] = { 466, 80}, },
             [12] = {[1] = { 48, 498}, [2] = { 70, 520}, [3] = { 92, 498}, [4] = { 70, 476}, },
             [9] = {[1] = { 114, 432}, [2] = { 136, 454}, [3] = { 158, 432}, [4] = { 136, 410}, },
             [11] = {[1] = { 70, 476}, [2] = { 92, 498}, [3] = { 114, 476}, [4] = { 92, 454}, },
             [-7] = {[1] = { 466, 80}, [2] = { 488, 102}, [3] = { 510, 80}, [4] = { 488, 58}, },
             [-1] = {[1] = { 334, 212}, [2] = { 356, 234}, [3] = { 378, 212}, [4] = { 356, 190}, },
             [-2] = {[1] = { 356, 190}, [2] = { 378, 212}, [3] = { 400, 190}, [4] = { 378, 168}, },
             [-4] = {[1] = { 400, 146}, [2] = { 422, 168}, [3] = { 444, 146}, [4] = { 422, 124}, },
             [-8] = {[1] = { 488, 58}, [2] = { 510, 80}, [3] = { 532, 58}, [4] = { 510, 36}, },
             [10] = {[1] = { 92, 454}, [2] = { 114, 476}, [3] = { 136, 454}, [4] = { 114, 432}, },
    },
    [-6] = {
             [1] = {[1] = { 224, 190}, [2] = { 246, 212}, [3] = { 268, 190}, [4] = { 246, 168}, },
             [2] = {[1] = { 202, 212}, [2] = { 224, 234}, [3] = { 246, 212}, [4] = { 224, 190}, },
             [3] = {[1] = { 180, 234}, [2] = { 202, 256}, [3] = { 224, 234}, [4] = { 202, 212}, },
             [4] = {[1] = { 158, 256}, [2] = { 180, 278}, [3] = { 202, 256}, [4] = { 180, 234}, },
             [5] = {[1] = { 136, 278}, [2] = { 158, 300}, [3] = { 180, 278}, [4] = { 158, 256}, },
             [6] = {[1] = { 114, 300}, [2] = { 136, 322}, [3] = { 158, 300}, [4] = { 136, 278}, },
             [7] = {[1] = { 92, 322}, [2] = { 114, 344}, [3] = { 136, 322}, [4] = { 114, 300}, },
             [8] = {[1] = { 70, 344}, [2] = { 92, 366}, [3] = { 114, 344}, [4] = { 92, 322}, },
             [9] = {[1] = { 48, 366}, [2] = { 70, 388}, [3] = { 92, 366}, [4] = { 70, 344}, },
             [10] = {[1] = { 26, 388}, [2] = { 48, 410}, [3] = { 70, 388}, [4] = { 48, 366}, },
             [11] = {[1] = { 4, 410}, [2] = { 26, 432}, [3] = { 48, 410}, [4] = { 26, 388}, },
             [-4] = {[1] = { 334, 80}, [2] = { 356, 102}, [3] = { 378, 80}, [4] = { 356, 58}, },
             [-5] = {[1] = { 356, 58}, [2] = { 378, 80}, [3] = { 400, 58}, [4] = { 378, 36}, },
             [-6] = {[1] = { 378, 36}, [2] = { 400, 58}, [3] = { 422, 36}, [4] = { 400, 14}, },
             [-2] = {[1] = { 290, 124}, [2] = { 312, 146}, [3] = { 334, 124}, [4] = { 312, 102}, },
             [-3] = {[1] = { 312, 102}, [2] = { 334, 124}, [3] = { 356, 102}, [4] = { 334, 80}, },
             [-1] = {[1] = { 268, 146}, [2] = { 290, 168}, [3] = { 312, 146}, [4] = { 290, 124}, },
             [0] = {[1] = { 246, 168}, [2] = { 268, 190}, [3] = { 290, 168}, [4] = { 268, 146}, },
    },
    [-12] = {
             [1] = {[1] = { 92, 58}, [2] = { 114, 80}, [3] = { 136, 58}, [4] = { 114, 36}, },
             [2] = {[1] = { 70, 80}, [2] = { 92, 102}, [3] = { 114, 80}, [4] = { 92, 58}, },
             [3] = {[1] = { 48, 102}, [2] = { 70, 124}, [3] = { 92, 102}, [4] = { 70, 80}, },
             [4] = {[1] = { 26, 124}, [2] = { 48, 146}, [3] = { 70, 124}, [4] = { 48, 102}, },
             [5] = {[1] = { 4, 146}, [2] = { 26, 168}, [3] = { 48, 146}, [4] = { 26, 124}, },
             [0] = {[1] = { 114, 36}, [2] = { 136, 58}, [3] = { 158, 36}, [4] = { 136, 14}, },
    },
    [-11] = {
             [1] = {[1] = { 114, 80}, [2] = { 136, 102}, [3] = { 158, 80}, [4] = { 136, 58}, },
             [2] = {[1] = { 92, 102}, [2] = { 114, 124}, [3] = { 136, 102}, [4] = { 114, 80}, },
             [3] = {[1] = { 70, 124}, [2] = { 92, 146}, [3] = { 114, 124}, [4] = { 92, 102}, },
             [4] = {[1] = { 48, 146}, [2] = { 70, 168}, [3] = { 92, 146}, [4] = { 70, 124}, },
             [5] = {[1] = { 26, 168}, [2] = { 48, 190}, [3] = { 70, 168}, [4] = { 48, 146}, },
             [6] = {[1] = { 4, 190}, [2] = { 26, 212}, [3] = { 48, 190}, [4] = { 26, 168}, },
             [-1] = {[1] = { 158, 36}, [2] = { 180, 58}, [3] = { 202, 36}, [4] = { 180, 14}, },
             [0] = {[1] = { 136, 58}, [2] = { 158, 80}, [3] = { 180, 58}, [4] = { 158, 36}, },
    },
    [-13] = {
             [1] = {[1] = { 70, 36}, [2] = { 92, 58}, [3] = { 114, 36}, [4] = { 92, 14}, },
             [2] = {[1] = { 48, 58}, [2] = { 70, 80}, [3] = { 92, 58}, [4] = { 70, 36}, },
             [3] = {[1] = { 26, 80}, [2] = { 48, 102}, [3] = { 70, 80}, [4] = { 48, 58}, },
             [4] = {[1] = { 4, 102}, [2] = { 26, 124}, [3] = { 48, 102}, [4] = { 26, 80}, },
    },
    [-7] = {
             [1] = {[1] = { 202, 168}, [2] = { 224, 190}, [3] = { 246, 168}, [4] = { 224, 146}, },
             [2] = {[1] = { 180, 190}, [2] = { 202, 212}, [3] = { 224, 190}, [4] = { 202, 168}, },
             [3] = {[1] = { 158, 212}, [2] = { 180, 234}, [3] = { 202, 212}, [4] = { 180, 190}, },
             [4] = {[1] = { 136, 234}, [2] = { 158, 256}, [3] = { 180, 234}, [4] = { 158, 212}, },
             [5] = {[1] = { 114, 256}, [2] = { 136, 278}, [3] = { 158, 256}, [4] = { 136, 234}, },
             [6] = {[1] = { 92, 278}, [2] = { 114, 300}, [3] = { 136, 278}, [4] = { 114, 256}, },
             [7] = {[1] = { 70, 300}, [2] = { 92, 322}, [3] = { 114, 300}, [4] = { 92, 278}, },
             [8] = {[1] = { 48, 322}, [2] = { 70, 344}, [3] = { 92, 322}, [4] = { 70, 300}, },
             [-4] = {[1] = { 312, 58}, [2] = { 334, 80}, [3] = { 356, 58}, [4] = { 334, 36}, },
             [-5] = {[1] = { 334, 36}, [2] = { 356, 58}, [3] = { 378, 36}, [4] = { 356, 14}, },
             [10] = {[1] = { 4, 366}, [2] = { 26, 388}, [3] = { 48, 366}, [4] = { 26, 344}, },
             [-2] = {[1] = { 268, 102}, [2] = { 290, 124}, [3] = { 312, 102}, [4] = { 290, 80}, },
             [9] = {[1] = { 26, 344}, [2] = { 48, 366}, [3] = { 70, 344}, [4] = { 48, 322}, },
             [-3] = {[1] = { 290, 80}, [2] = { 312, 102}, [3] = { 334, 80}, [4] = { 312, 58}, },
             [-1] = {[1] = { 246, 124}, [2] = { 268, 146}, [3] = { 290, 124}, [4] = { 268, 102}, },
             [0] = {[1] = { 224, 146}, [2] = { 246, 168}, [3] = { 268, 146}, [4] = { 246, 124}, },
    },
    [-1] = {
             [1] = {[1] = { 334, 300}, [2] = { 356, 322}, [3] = { 378, 300}, [4] = { 356, 278}, },
             [2] = {[1] = { 312, 322}, [2] = { 334, 344}, [3] = { 356, 322}, [4] = { 334, 300}, },
             [3] = {[1] = { 290, 344}, [2] = { 312, 366}, [3] = { 334, 344}, [4] = { 312, 322}, },
             [4] = {[1] = { 268, 366}, [2] = { 290, 388}, [3] = { 312, 366}, [4] = { 290, 344}, },
             [5] = {[1] = { 246, 388}, [2] = { 268, 410}, [3] = { 290, 388}, [4] = { 268, 366}, },
             [6] = {[1] = { 224, 410}, [2] = { 246, 432}, [3] = { 268, 410}, [4] = { 246, 388}, },
             [7] = {[1] = { 202, 432}, [2] = { 224, 454}, [3] = { 246, 432}, [4] = { 224, 410}, },
             [8] = {[1] = { 180, 454}, [2] = { 202, 476}, [3] = { 224, 454}, [4] = { 202, 432}, },
             [9] = {[1] = { 158, 476}, [2] = { 180, 498}, [3] = { 202, 476}, [4] = { 180, 454}, },
             [10] = {[1] = { 136, 498}, [2] = { 158, 520}, [3] = { 180, 498}, [4] = { 158, 476}, },
             [11] = {[1] = { 114, 520}, [2] = { 136, 542}, [3] = { 158, 520}, [4] = { 136, 498}, },
             [12] = {[1] = { 92, 542}, [2] = { 114, 564}, [3] = { 136, 542}, [4] = { 114, 520}, },
             [13] = {[1] = { 70, 564}, [2] = { 92, 586}, [3] = { 114, 564}, [4] = { 92, 542}, },
             [0] = {[1] = { 356, 278}, [2] = { 378, 300}, [3] = { 400, 278}, [4] = { 378, 256}, },
             [-9] = {[1] = { 554, 80}, [2] = { 576, 102}, [3] = { 598, 80}, [4] = { 576, 58}, },
             [-5] = {[1] = { 466, 168}, [2] = { 488, 190}, [3] = { 510, 168}, [4] = { 488, 146}, },
             [-10] = {[1] = { 576, 58}, [2] = { 598, 80}, [3] = { 620, 58}, [4] = { 598, 36}, },
             [-11] = {[1] = { 598, 36}, [2] = { 620, 58}, [3] = { 642, 36}, [4] = { 620, 14}, },
             [-6] = {[1] = { 488, 146}, [2] = { 510, 168}, [3] = { 532, 146}, [4] = { 510, 124}, },
             [-7] = {[1] = { 510, 124}, [2] = { 532, 146}, [3] = { 554, 124}, [4] = { 532, 102}, },
             [-1] = {[1] = { 378, 256}, [2] = { 400, 278}, [3] = { 422, 256}, [4] = { 400, 234}, },
             [-2] = {[1] = { 400, 234}, [2] = { 422, 256}, [3] = { 444, 234}, [4] = { 422, 212}, },
             [-4] = {[1] = { 444, 190}, [2] = { 466, 212}, [3] = { 488, 190}, [4] = { 466, 168}, },
             [-8] = {[1] = { 532, 102}, [2] = { 554, 124}, [3] = { 576, 102}, [4] = { 554, 80}, },
             [-3] = {[1] = { 422, 212}, [2] = { 444, 234}, [3] = { 466, 212}, [4] = { 444, 190}, },
    },
    [-2] = {
             [1] = {[1] = { 312, 278}, [2] = { 334, 300}, [3] = { 356, 278}, [4] = { 334, 256}, },
             [2] = {[1] = { 290, 300}, [2] = { 312, 322}, [3] = { 334, 300}, [4] = { 312, 278}, },
             [3] = {[1] = { 268, 322}, [2] = { 290, 344}, [3] = { 312, 322}, [4] = { 290, 300}, },
             [4] = {[1] = { 246, 344}, [2] = { 268, 366}, [3] = { 290, 344}, [4] = { 268, 322}, },
             [5] = {[1] = { 224, 366}, [2] = { 246, 388}, [3] = { 268, 366}, [4] = { 246, 344}, },
             [6] = {[1] = { 202, 388}, [2] = { 224, 410}, [3] = { 246, 388}, [4] = { 224, 366}, },
             [7] = {[1] = { 180, 410}, [2] = { 202, 432}, [3] = { 224, 410}, [4] = { 202, 388}, },
             [8] = {[1] = { 158, 432}, [2] = { 180, 454}, [3] = { 202, 432}, [4] = { 180, 410}, },
             [9] = {[1] = { 136, 454}, [2] = { 158, 476}, [3] = { 180, 454}, [4] = { 158, 432}, },
             [10] = {[1] = { 114, 476}, [2] = { 136, 498}, [3] = { 158, 476}, [4] = { 136, 454}, },
             [11] = {[1] = { 92, 498}, [2] = { 114, 520}, [3] = { 136, 498}, [4] = { 114, 476}, },
             [12] = {[1] = { 70, 520}, [2] = { 92, 542}, [3] = { 114, 520}, [4] = { 92, 498}, },
             [13] = {[1] = { 48, 542}, [2] = { 70, 564}, [3] = { 92, 542}, [4] = { 70, 520}, },
             [14] = {[1] = { 26, 564}, [2] = { 48, 586}, [3] = { 70, 564}, [4] = { 48, 542}, },
             [0] = {[1] = { 334, 256}, [2] = { 356, 278}, [3] = { 378, 256}, [4] = { 356, 234}, },
             [-9] = {[1] = { 532, 58}, [2] = { 554, 80}, [3] = { 576, 58}, [4] = { 554, 36}, },
             [-5] = {[1] = { 444, 146}, [2] = { 466, 168}, [3] = { 488, 146}, [4] = { 466, 124}, },
             [-10] = {[1] = { 554, 36}, [2] = { 576, 58}, [3] = { 598, 36}, [4] = { 576, 14}, },
             [-3] = {[1] = { 400, 190}, [2] = { 422, 212}, [3] = { 444, 190}, [4] = { 422, 168}, },
             [-6] = {[1] = { 466, 124}, [2] = { 488, 146}, [3] = { 510, 124}, [4] = { 488, 102}, },
             [-7] = {[1] = { 488, 102}, [2] = { 510, 124}, [3] = { 532, 102}, [4] = { 510, 80}, },
             [-1] = {[1] = { 356, 234}, [2] = { 378, 256}, [3] = { 400, 234}, [4] = { 378, 212}, },
             [-2] = {[1] = { 378, 212}, [2] = { 400, 234}, [3] = { 422, 212}, [4] = { 400, 190}, },
             [-4] = {[1] = { 422, 168}, [2] = { 444, 190}, [3] = { 466, 168}, [4] = { 444, 146}, },
             [-8] = {[1] = { 510, 80}, [2] = { 532, 102}, [3] = { 554, 80}, [4] = { 532, 58}, },
    },
    [-4] = {
             [1] = {[1] = { 268, 234}, [2] = { 290, 256}, [3] = { 312, 234}, [4] = { 290, 212}, },
             [2] = {[1] = { 246, 256}, [2] = { 268, 278}, [3] = { 290, 256}, [4] = { 268, 234}, },
             [3] = {[1] = { 224, 278}, [2] = { 246, 300}, [3] = { 268, 278}, [4] = { 246, 256}, },
             [4] = {[1] = { 202, 300}, [2] = { 224, 322}, [3] = { 246, 300}, [4] = { 224, 278}, },
             [5] = {[1] = { 180, 322}, [2] = { 202, 344}, [3] = { 224, 322}, [4] = { 202, 300}, },
             [6] = {[1] = { 158, 344}, [2] = { 180, 366}, [3] = { 202, 344}, [4] = { 180, 322}, },
             [7] = {[1] = { 136, 366}, [2] = { 158, 388}, [3] = { 180, 366}, [4] = { 158, 344}, },
             [8] = {[1] = { 114, 388}, [2] = { 136, 410}, [3] = { 158, 388}, [4] = { 136, 366}, },
             [0] = {[1] = { 290, 212}, [2] = { 312, 234}, [3] = { 334, 212}, [4] = { 312, 190}, },
             [13] = {[1] = { 4, 498}, [2] = { 26, 520}, [3] = { 48, 498}, [4] = { 26, 476}, },
             [-5] = {[1] = { 400, 102}, [2] = { 422, 124}, [3] = { 444, 102}, [4] = { 422, 80}, },
             [-3] = {[1] = { 356, 146}, [2] = { 378, 168}, [3] = { 400, 146}, [4] = { 378, 124}, },
             [-6] = {[1] = { 422, 80}, [2] = { 444, 102}, [3] = { 466, 80}, [4] = { 444, 58}, },
             [12] = {[1] = { 26, 476}, [2] = { 48, 498}, [3] = { 70, 476}, [4] = { 48, 454}, },
             [9] = {[1] = { 92, 410}, [2] = { 114, 432}, [3] = { 136, 410}, [4] = { 114, 388}, },
             [11] = {[1] = { 48, 454}, [2] = { 70, 476}, [3] = { 92, 454}, [4] = { 70, 432}, },
             [-7] = {[1] = { 444, 58}, [2] = { 466, 80}, [3] = { 488, 58}, [4] = { 466, 36}, },
             [-1] = {[1] = { 312, 190}, [2] = { 334, 212}, [3] = { 356, 190}, [4] = { 334, 168}, },
             [-2] = {[1] = { 334, 168}, [2] = { 356, 190}, [3] = { 378, 168}, [4] = { 356, 146}, },
             [-4] = {[1] = { 378, 124}, [2] = { 400, 146}, [3] = { 422, 124}, [4] = { 400, 102}, },
             [-8] = {[1] = { 466, 36}, [2] = { 488, 58}, [3] = { 510, 36}, [4] = { 488, 14}, },
             [10] = {[1] = { 70, 432}, [2] = { 92, 454}, [3] = { 114, 432}, [4] = { 92, 410}, },
    },
    [-8] = {
             [1] = {[1] = { 180, 146}, [2] = { 202, 168}, [3] = { 224, 146}, [4] = { 202, 124}, },
             [2] = {[1] = { 158, 168}, [2] = { 180, 190}, [3] = { 202, 168}, [4] = { 180, 146}, },
             [3] = {[1] = { 136, 190}, [2] = { 158, 212}, [3] = { 180, 190}, [4] = { 158, 168}, },
             [4] = {[1] = { 114, 212}, [2] = { 136, 234}, [3] = { 158, 212}, [4] = { 136, 190}, },
             [5] = {[1] = { 92, 234}, [2] = { 114, 256}, [3] = { 136, 234}, [4] = { 114, 212}, },
             [6] = {[1] = { 70, 256}, [2] = { 92, 278}, [3] = { 114, 256}, [4] = { 92, 234}, },
             [7] = {[1] = { 48, 278}, [2] = { 70, 300}, [3] = { 92, 278}, [4] = { 70, 256}, },
             [8] = {[1] = { 26, 300}, [2] = { 48, 322}, [3] = { 70, 300}, [4] = { 48, 278}, },
             [-4] = {[1] = { 290, 36}, [2] = { 312, 58}, [3] = { 334, 36}, [4] = { 312, 14}, },
             [-2] = {[1] = { 246, 80}, [2] = { 268, 102}, [3] = { 290, 80}, [4] = { 268, 58}, },
             [9] = {[1] = { 4, 322}, [2] = { 26, 344}, [3] = { 48, 322}, [4] = { 26, 300}, },
             [-3] = {[1] = { 268, 58}, [2] = { 290, 80}, [3] = { 312, 58}, [4] = { 290, 36}, },
             [-1] = {[1] = { 224, 102}, [2] = { 246, 124}, [3] = { 268, 102}, [4] = { 246, 80}, },
             [0] = {[1] = { 202, 124}, [2] = { 224, 146}, [3] = { 246, 124}, [4] = { 224, 102}, },
    },
    [-14] = {
             [2] = {[1] = { 26, 36}, [2] = { 48, 58}, [3] = { 70, 36}, [4] = { 48, 14}, },
             [3] = {[1] = { 4, 58}, [2] = { 26, 80}, [3] = { 48, 58}, [4] = { 26, 36}, },
    },
}

return Lines, Tiles
« Last Edit: August 10, 2015, 08:14:47 PM by KaliOfLS »
R~~~~ B~~~~~~~~ 
^ real life signature for sure

Tags: