Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - KaliOfLS

Pages: 1 ... 3 4 [5] 6 7 ... 28
61
Script Debug / Re: Effective Ship Movement
« on: August 15, 2015, 12:42:27 PM »
I tried issuing the move command while piloting the boat but not specifically the event macro keys.  Good question...  but this works perfectly for me... maybe under lag or poor scripting you can br off a tile or two but is exact x y important?  Not usually if you're not doing 8x8

62
General UO Chat / Login bug
« on: August 14, 2015, 09:18:44 AM »
I found an interesting thing late last night. 

I was messing around with my sampire in shame because he sucks and doesn't have good gear yet.  I was not really paying attention to the spawn and somehow, I let myself die because I wasn't casing whirlwind.  Son of a gun.  So I pulled the whole "I'm stuck" game, went to brit, rezzed, then back to my house.  I logged out and in to my mage, opened a gate to the level of shame he was on, relogged my sampire, took the gate and collected my things.  Messed around for another 5 minutes, and returned back to my keep. 

I wanted to log into my smith for a minute and I was on that whole 5 minute delay (or however long it is) for having aggroed monsters that I didn't kill.  However, I was able to log onto my mage.  I was standing in my keep with my other character not logged out.  I could buff him with my mage and just to test, I relogged my smith and he couldn't log in.  My mage and my sampire could though.

I think if you've recently logged in with the character (10 minutes?), then it somehow circumvents the wait time for combat flags.   What is this good for?  I don't know.  Maybe you want to swap to a spellweaver to last hit a low guy, no idea.  Just thought I would share it.  Maybe you want to use 2 of your own weavers to get arcane focus count up.   It's really not that cool, but I found it kind of funny.  It's not an exploit to make tons of loot :p

63
New member introductions / Re: This is me...
« on: August 13, 2015, 04:05:15 PM »
Welcome to SUO!  Where the people are cool and the owner is strange.

64
Player Templates / Fisherman Template Question
« on: August 12, 2015, 11:15:11 PM »
So, all this high seas talk and fisherman stuff seems interesting.  One aspect of UO that I never got into was fishing back in the day.  The only reason I traveled the seas of brittania was to gain skill with 8x8.   

Anyway, been looking around the net and here and it seems that any template really can crush what you need for fishing.  Except this thing called a scalis, who I fought once on the coast of bucs den with about 15 other people and took hours to beat.  So minus that thing, what about leviathan?  I figure if I can't take him with my template, I can always bring my legendary tamer or sampire along for the ride. 

With that being said, what about this template?  My fisherman is absolutely just created new for the most part.  He is a gargoyle and maybe this is a probelm?  I planed on putting mysticism on him since I haven't tried it out, and also toyed around with throwing but going to opt to not do that.  I think I'll make another thrower since I have some characters that are.. unfortunately boring as hell now and never played.  Like my traditional thief.  Side note, any thing fun to do with him anymore?  Seems since insurance, they're not much fun.  Plus people always seem to know I am stealthing around champ spawns and trying to catch a 120 of anything of value at a spawn from someone is almost impossible to get away with.  Anyway I digress.   

The template I am looking at is:
120 Fishing
120 Myst
100 Mage
100 Eval
100 Focus
100 Med
100 Resist

(20 coming from gear)

However, it may be prudent to drop mysticism and just make them two characters... Something I can put imbuing on or a mystic thrower or something. 

65
Submit your Script / Re: KRYZ's Monger Farmer
« on: August 12, 2015, 09:37:52 PM »
Did you look at the move sub I posted in your other thread?  It is similar to what you wanted to do, so you can maybe get some idea from it.

66
Submit your Script / Re: KRYZ's Monger Farmer
« on: August 12, 2015, 05:49:16 PM »
World map to sail?  I am a noob.

However, I found a way to determine the direction.  I am sorta working on it when I have time to come up with a cool sailing sub.

Maybe one that even uses 'turn right' instead of 'stop', 'right'  Hahaha  We'll see though.

67
Submit your Script / Re: KRYZ's Monger Farmer
« on: August 12, 2015, 11:43:49 AM »
I posted in your debug thread an example of how to handle movement.    I will see if I can add some journal checking for running into crap.   You will have to handle what to do if it is an enemy or a roadblock... also do you assume the boat is facing north?   I *might* be able to handle boat facing direction as well

68
General UO Chat / Re: heres a question for all of you
« on: August 11, 2015, 10:22:49 PM »
I would feel like a huge hypocrite to page on scripters.  So I never have.  I have been busted once recall mining.  Sad thing was, I wasn't afk.  I got 'recall bugged' where the client crashes right after recalling.  It happens when if you issue a command too fast after recalling.  The GM came during this time, and I was working on a script.  So when it crashed, I didn't do anything.  When I went to log back in, I was banned!  I only received a temp ban. 

The thing is, I think OSI knows that this entire game would hit the crap shoot if they banned scripting.  UO is an amazing game, and I wish there was one like it that developed crafting such as it started.  Anyway, mining is dreadful, who would do that without scripting?   

I do enjoy what TM is saying.  I think it's good, teaches people to write better scripts if someone can mess up your script. 

Protip 1:  Shout journal messages that are related to their action ;) If someone isn't checking the journal color -_-  hahahaha
Protip 2:  Block railers with wooden chests
Protip 3:  Lead spawn to them that they might not be expecting (Careful, considered griefing on OSI, but scripters aren't around to report you :D)

69
Script Debug / Re: Effective Ship Movement
« on: August 11, 2015, 10:10:04 PM »
This is an example of how I might do it.  There leaves a lot to be worked over.  

This assumes the boat is facing north.  It doesn't turn the boat to make easy to pass things.  There is no journal checking for "We've stopped moving".  

Code: [Select]




set !NewX #CharPosX + 40
set !NewY #CharPosY + 40
gosub MoveBoat !NewX !NewY
display ok #result

halt

sub MoveBoat
    if %0 <> 2
       return #false
    namespace push
    namespace local MoveBoat , #systime , #charid

    set !DestX %1
    set !DestY %2
    set !dX ABS ( !DestX - #charposx ) / 2
    set !dY ABS ( !DestY - #charposy ) / 2
    set !TimeOut #scnt + !dX + !dY + 1
   
    set #result #false

    while !DestX <> #charposx && !DestY <> #charposy && !TimeOut > #scnt
    {
        ;North and South axis
        if !DestY < #charposy
        {
           event macro 3 0 forward
           while !DestY < #charposy
           {
                 if !TimeOut < #scnt
                 {
                    event macro 3 0 stop
                    break
                 }
           }
           event macro 3 0 stop
        }
        else
        {
           if !DestY > #charposy
           {
              event macro 3 0 backward
              while !DestY > #charposy
              {
                  if !TimeOut < #scnt
                  {
                      event macro 3 0 stop
                      break
                  }
              }
              event macro 3 0 stop
            }
        }
        ;East and West Axis
        if !DestX < #charposx
        {
           event macro 3 0 left
           while !DestX < #charposx
           {
                 if !TimeOut < #scnt
                 {
                    event macro 3 0 stop
                    break
                 }
           }
           event macro 3 0 stop
        }
        else
        {
           if !DestX > #charposx
           {
              event macro 3 0 right
              while !DestX > #charposx
              {
                  if !TimeOut < #scnt
                  {
                      event macro 3 0 stop
                      break
                  }
              }
              event macro 3 0 stop
            }
        }
    }

    if !DestX = #charposx && !DestY = #charposy
       set #result #true

    namespace clear
    namespace pop
return #result

70
New member introductions / Re: Intro
« on: August 11, 2015, 06:35:48 PM »
Welcome! 

I wish I had a gimlet style welcome, but I don't.  I have an exclamation point though :D

71
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

72
Scripting Chat / Re: Question over authorship
« on: August 10, 2015, 07:56:15 PM »
I try to write my subs for people to easily copy and paste them.  I tend to write subs that depend on no variables besides the input parameters, use only local namespaces and describe how they are suppose to work in my script.  I do it so I can copy/paste sub routines as I see fit to build scripts.   

I encourage people to take and use them.  I think that in some ways, it helps new people learn good scripting habits and practices. 

73
New member introductions / Re: Hail!
« on: June 02, 2015, 07:35:40 AM »
Hallo?

How are ya?

74
Crafting / Re: Kali's Auto Scribe
« on: May 17, 2015, 06:45:06 AM »
So far, five users... are there any problems with it?

75
Crafting / Re: TG Crafting Factory 1.0
« on: May 13, 2015, 09:37:20 PM »
Nice, me too.

Pages: 1 ... 3 4 [5] 6 7 ... 28