This is a wiki for a reason. Anyone can contribute. If you see something that is inaccurate or can be improved, don't ask that it be fixed--just improve it.
[ Disclaimer, Create new user --- Wiki markup help, Install P99 ]

Difference between revisions of "MediaWiki:Zones.js"

From Project 1999 Wiki
Jump to: navigation, search
 
(152 intermediate revisions by 2 users not shown)
Line 1: Line 1:
(function() {
+
try {
  
  // TODO: Add support for cropping maps that have multiple maps.
+
window.zoneData = {
   // For instance, the following CSS styles show only one of the three maps for
+
   'Akanon': 'Ak\'Anon',
   // Erudin Palace:
+
   'Ak\'anon': 'Ak\'Anon',
   // background-image:url(/images/Erudinpalace.jpg);
+
   'Ak\'Anon': {
  // background-position: 250px 0px; width: 275px; height: 272px
+
    height: 614,
  // Figure out how to make the Xs line up with those styles added
+
    image: 'Akanon.jpg',
 
+
    interval: 250,
  var locIsWithinAlternateData = function(loc, alternateData) {
+
    maxX: 250,
     return loc.x < alternateData.maxX &&
+
    maxY: 2250,
     loc.x > alternateData.minX &&
+
    minX: 1250,
     loc.y < alternateData.maxY &&
+
    minY: 250,
     loc.y > alternateData.minY;
+
    width: 384,
   };
+
     zeroX: 62,
 
+
     zeroY: 567,
 
+
     zoomX: 0.25,
  /**
+
     zoomY: 0.25
  * Determines if the provided name contains any of the provided words
+
   },
  */
+
  'Befallen': {
  // TODO: Add a some polyfill to make this a lot simpler
+
    levels: {
  var containsAny = function(name/* word1, word2, etc. */) {
+
      1: {
    for(var arg = 1; arg < arguments.length; ++ arg) {
+
        height: 540,
       var word = arguments[arg];
+
        image: 'Befallen12.jpg',
       if (name.includes(word)) return true;
+
        maxX: 200,
 +
        maxY: 0,
 +
        minX: -300,
 +
        minY: -700,
 +
        interval: 100,
 +
        width: 476,
 +
        zeroX: 201,
 +
        zeroY: -21,
 +
        zoomX: 0.85,
 +
        zoomY: 0.85
 +
       },
 +
       3: {
 +
        height: 540,
 +
        image: 'Befallen3.jpg',
 +
        maxX: 200,
 +
        maxY: -300,
 +
        minX: -300,
 +
        minY: -1000,
 +
        interval: 100,
 +
        width: 476,
 +
        zeroX: 205,
 +
        zeroY: -233,
 +
        zoomX: 0.98,
 +
        zoomY: 0.745
 +
      }
 
     }
 
     }
    return false;
+
   },
   };
+
   'Beholder\'s Maze': 'Gorge of King Xorbb',
 
+
   'Blackburrow': {
   var containsAnyNumber = function(name, number, suffix) {
+
  levels:{
    return containsAny.call(null, name,
+
      1: {
    number + suffix,
+
        height: 406,
    'level ' + number,
+
        image: 'Zone_blackburrow1.jpg',
    'level: ' + number
+
        interval: 150,
    );
+
        maxX: 300,
   };
+
        maxY: 300,
 
+
        minX: -400,
  var getZoneLevelData = function(levels, text) {
+
        minY: -300,
    // Check for part "level" aliases (eg. "1st floor" vs. "Level One")
+
        width: 550,
    text = text.toLowerCase();
+
        zeroX: 301,
    if (containsAnyNumber(text, 0, 'th') || containsAny(text, 'basement', 'underground')) return levels[0];
+
        zeroY: 241,
    if (containsAnyNumber(text, 1, 'st') || containsAny(text, 'one', 'first', 'ground')) return levels[1];
+
        zoomX: 0.549,
    if (containsAnyNumber(text, 2, 'nd') || containsAny(text, 'two', 'second')) return levels[2];
+
        zoomY: 0.549
    if (containsAnyNumber(text, 3, 'rd') || containsAny(text, 'three', 'third')) return levels[3];
+
      },
    if (containsAnyNumber(text, 4, 'th') || containsAny(text, 'four', 'fourth')) return levels[4];
+
       2: {
    if (containsAnyNumber(text, 5, 'th') || containsAny(text, 'five', 'fifth')) return levels[5];
+
        height: 408,
    if (containsAnyNumber(text, 6, 'th') || containsAny(text, 'six', 'sixth')) return levels[6];
+
        image: 'Zone_blackburrow2.jpg',
    if (containsAnyNumber(text, 7, 'th') || containsAny(text, 'seven', 'seventh')) return levels[7];
+
        interval: 150,
    if (containsAnyNumber(text, 8, 'th') || containsAny(text, 'eight', 'eighth')) return levels[8];
+
        maxX: 300,
    if (containsAnyNumber(text, 9, 'th') || containsAny(text, 'nine', 'ninth')) return levels[9];
+
        maxY: 300,
 
+
        minX: -450,
    // If we still couldn't match, and there is a ground/1st floor, use it
+
        minY: -300,
    return levels[1];
+
        width: 550,
  };
+
        zeroX: 301,
 
+
        zeroY: 241,
 
+
        zoomX: 0.549,
 
+
        zoomY: 0.549
  var findZoneData = function(zoneName, locs, nonLocParts) {
+
       },
    var zone = zoneData[zoneName];
+
       3: {
 
+
         height: 414,
  // Handle aliases (eg. "North Ro" instead of "Northern Desert of Ro")
+
         image: 'Zone_blackburrow3.jpg',
  if (typeof(zone) === 'string') zone = zoneData[zone];
+
         interval: 150,
 
+
         maxX: 450,
  if (!zone) return null;
+
         maxY: 300,
 
+
         minX: -400,
  // Handle Multi-Level Zones (with different maps for 1st, 2nd, etc. floor)
+
         minY: -300,
  if (zone.levels) return getZoneLevelData(zone.levels, nonLocParts);
+
         width: 550,
 
+
         zeroX: 298,
  // Handle Zones with alternate maps on the same level (eg. Kelethin in GFay)
+
         zeroY: 243,
  if (!zone.alternateMaps) return zone;
+
         zoomX: 0.558,
 
+
         zoomY: 0.549
  for (var i = 0; i < zone.alternateMaps.length; i++) {
+
       },
    var alternateData = zone.alternateMaps[i];
+
    var allLocsAreWithin = true;
+
    // wish I had ES6 [].every
+
    $.each(locs, function(i, loc) {
+
       allLocsAreWithin = allLocsAreWithin &&
+
      locIsWithinAlternateData(loc, alternateData);
+
    });
+
    if (allLocsAreWithin) return alternateData;
+
  };
+
  return zone;
+
};
+
 
+
var addImageUrl = function(zoneData) {
+
  zoneData.imageUrl = '/images/' + zoneData.image;
+
  return zoneData;
+
};
+
 
+
var getZoneData = function(zoneName, locs, nonLocParts) {
+
  var zoneData = findZoneData(zoneName, locs, nonLocParts);
+
  if (!zoneData) return null;
+
  zoneData.zoneName = zoneName;
+
  return addImageUrl(zoneData);
+
};
+
 
+
  /**
+
  * This basic function serves as the click handler for "lightbox-style" maps
+
  */
+
  var removeSelf = function() {
+
    $(this).remove();
+
  };
+
 
+
 
+
  var build$MapImage = function(zoneData) {
+
    return $(
+
      '<img alt="Map of ' + zoneData.zoneName + '" ' +
+
      '    class="thumbborder" ' +
+
      '    height="'+ zoneData.height + '" ' +
+
       '    src="' + zoneData.imageUrl + '" ' +
+
      '    title="Map of ' + zoneData.zoneName + '"' +
+
      '    width="' + zoneData.width + '" ' +
+
      '>'
+
      );
+
  };``
+
 
+
 
+
  var build$WrappedMap = function(zoneData) {
+
    return $('<div class="x-container"></div>')
+
       .css({ position: 'relative' })
+
      .append(build$MapImage(zoneData));
+
  }
+
 
+
 
+
  var build$LightboxFramedMap = function(zoneData) {
+
    return build$WrappedMap(zoneData)
+
      .css({
+
         left: '50%',
+
         marginLeft: '-' + (zoneData.width / 2) + 'px', // centering
+
         marginTop: '-' + (zoneData.height / 2) + 'px',
+
         opacity: 1,
+
         top: '50%'
+
      });
+
  };
+
 
+
  var build$MapFrame = function() {
+
    return $('<div class="map-wrapper"></div>')
+
            .css({ position: 'absolute' });
+
  };
+
 
+
  var build$FullMap = function(zoneData) {
+
    var $frame = build$MapFrame()
+
      .css({
+
         background: 'rgba(0,0,0,0.8)',
+
         height: '100%',
+
         left: 0,
+
         position: 'fixed',
+
         top: 0,
+
         width: '100%',
+
         zIndex: 4 // one higher than #p-search's 3
+
       })
+
      .click(removeSelf);
+
    if (zoneData) {
+
      $frame.html(build$LightboxFramedMap(zoneData));
+
      $frame.zoneData = zoneData;
+
 
     }
 
     }
    return $frame;
+
   },
   };
+
  'Burning Wood': 'Burning Woods',
 
+
   'Burning Woods': {
   var build$SmallMap = function(zoneData) {
+
     height: 599,
     return build$MapFrame().append(build$WrappedMap(zoneData));
+
    image: 'Map_burningwood.jpg',
  }
+
    interval: 1000,
 
+
    maxX: 3000,
 
+
    maxY: 7000,
var buildX = function(left, top, sizeInEm) {
+
    minX: -5000,
  sizeInEm = sizeInEm || 2.5;
+
    minY: -5000,
   return $('<div class="x">x</div>')
+
    width: 428,
     .css({
+
    zeroX: 175.5,
      color: 'red',
+
    zeroY: 347,
      fontSize: sizeInEm + 'em',
+
    zoomX: 0.04795,
      fontWeight: 'bold',
+
    zoomY: 0.0474
      left: left,
+
  },
      position: 'absolute',
+
   'Butcherblock Mountains': {
      top: top
+
     height: 480,
     })
+
    image: 'Butcherblock-v3.jpg',
}
+
    interval: 1000,
 
+
    maxX: 3000,
/**
+
    maxY: 3000,
* Draws a red "X" on the map at the provided coordinate
+
    minX: 3000,
*/
+
    minY: 3000,
var addX = function($xContainer, zoneData, x, y, xSize) {
+
    width: 500,
   var left = (zoneData.zeroX || 0) + x * -1 * (zoneData.zoomX || 0.1);
+
    zeroX: 251,
   var top = (zoneData.zeroY || 0) + y * -1 * (zoneData.zoomY || 0.1);
+
    zeroY: 240,
   $xContainer.append(buildX(left, top, xSize));
+
    zoomX: 0.073,
}
+
    zoomY: 0.0727
 
+
  },
var addXs = function($xContainer, zoneData, locs, xSize) {
+
  'Cabilis East': {
  $.each(locs, function(i, loc) {
+
    height: 676,
    addX($xContainer, zoneData, loc.x, loc.y, xSize);
+
    image: 'Map_ecabilis.jpg',
  });
+
    interval: 200,
}
+
    maxX: 200,
 
+
    maxY: 1200,
 
+
    minX: -600,
var parseLoc = function(locText) {
+
    minY: -800,
  if (typeof locText !== 'string') return locText;
+
    width: 342,
 
+
    zeroX: 111.5,
   var match = locText.match(/\(? *([\+\-]?\d+\.?\d*), *([\+\-]?\d+\.?\d*)\)?/);
+
    zeroY: 410,
   return {x: parseFloat(match[2]), y: parseFloat(match[1]) };
+
    zoomX: 0.313,
}
+
    zoomY: 0.313
 
+
  },
var isLoc = function(locBit) {
+
  'Cabilis West': {
    // If we can't split the string by its comma and find a number on either side, it's not a loc
+
    height: 629,
     try {
+
    image: 'Map_wcabilis.jpg',
       return locBit.split(',')[0].match(/\d+/) && locBit.split(',')[1].match(/\d+/);
+
     interval: 200,
    } catch (err) {
+
    maxX: 1200,
       return false;
+
    maxY: 800,
 +
    minX: 200,
 +
    minY: -1000,
 +
    width: 400,
 +
    zeroX: 439,
 +
    zeroY: 281,
 +
    zoomX: 0.321,
 +
    zoomY: 0.319
 +
  },
 +
   'Charasis': 'Howling Stones',
 +
  'Chardok': {
 +
    height: 540,
 +
    image: 'Map_chardok.jpg',
 +
    width: 678,
 +
    zeroX: 441,
 +
    zeroY: 178,
 +
    interval: 100,
 +
    maxX: 1400,
 +
    maxY: 600,
 +
    minX: -600,
 +
    minY: -1100,
 +
    zoomX: 0.2999,
 +
    zoomY: 0.3
 +
   },
 +
  'City of Mist': {
 +
    height: 452,
 +
    image: 'Map_citymist.jpg',
 +
    interval: 250,
 +
    maxX: 500,
 +
    maxY: 500,
 +
    minX: -1000,
 +
    minY: -500,
 +
    width: 600,
 +
    zeroX: 220,
 +
    zeroY: 116,
 +
    zoomX: 0.395,
 +
    zoomY: 0.295
 +
   },
 +
  'Clan Runnyeye': {
 +
    levels: {
 +
      1: {
 +
        height: 488,
 +
        width: 431,
 +
        image: 'Runnyeye1.jpg',
 +
        zeroX: 204,
 +
        zeroY: 347,
 +
        interval: 100,
 +
        maxX: 200,
 +
        maxY: 400,
 +
        minX: -200,
 +
        minY: -100,
 +
        zoomX: 0.85,
 +
        zoomY: 0.85
 +
      },
 +
      2: {
 +
        height: 594,
 +
        width: 493,
 +
        image: 'Runnyeye2.jpg',
 +
        zeroX: 198.5,
 +
        zeroY: 340,
 +
        interval: 100,
 +
        maxX: 200,
 +
        maxY: 400,
 +
        minX: -300,
 +
        minY: -200,
 +
        zoomX: 0.86,
 +
        zoomY: 0.86
 +
      },
 +
      3: {
 +
        height: 609,
 +
        width: 415,
 +
        image: 'Runnyeye3.jpg',
 +
        zeroX: 207,
 +
        zeroY: 359,
 +
        interval: 100,
 +
        maxX: 200,
 +
        maxY: 400,
 +
        minX: -200,
 +
        minY: -200,
 +
        zoomX: 0.86,
 +
        zoomY: 0.85
 +
      },
 +
      4: {
 +
        height: 569,
 +
        width: 462,
 +
        image: 'Runnyeye4.jpg',
 +
        zeroX: 187.5,
 +
        zeroY: 287,
 +
        interval: 100,
 +
        maxX: 200,
 +
        maxY: 300,
 +
        minX: -300,
 +
        minY: -200,
 +
        zoomX: 0.863,
 +
        zoomY: 0.86
 +
      },
 +
    }
 +
  },
 +
  'Cobalt Scar': {
 +
    height: 431,
 +
    image: 'Map_cobalt_scar.jpg',
 +
    interval: 500,
 +
    maxX: 2000,
 +
    maxY: 1500,
 +
    minX: -2000,
 +
    minY: -1500,
 +
    width: 550,
 +
    zeroX: 262,
 +
    zeroY: 220,
 +
    zoomX: 0.1195,
 +
    zoomY: 0.1195
 +
   },
 +
  'Crushbone': {
 +
    image: 'Crushbone.jpg',
 +
    height: 394,
 +
    width: 450,
 +
    zeroX: 304.5,
 +
    zeroY: 142,
 +
    interval: 200,
 +
    maxX: 800,
 +
    maxY: 400,
 +
    minX: -400,
 +
    minY: -600,
 +
    zoomX: 0.329,
 +
    zoomY: 0.328
 +
   },
 +
  'Crypt of Dalnir': {
 +
    levels: {
 +
      1: {
 +
        height: 332,
 +
        image: 'Map_dalnir1.jpg',
 +
        interval: 100,
 +
        maxX: 100,
 +
        maxY: 300,
 +
        minX: -800,
 +
        minY: -100,
 +
        width: 582,
 +
        zeroX: 72,
 +
        zeroY: 198,
 +
        zoomX: 0.59,
 +
        zoomY: 0.61
 +
      },
 +
      2: {
 +
        height: 493,
 +
        image: 'Map_dalnir2.jpg',
 +
        interval: 100,
 +
        maxX: -700,
 +
        maxY: 300,
 +
        minX: -1000,
 +
        minY: 0,
 +
        width: 462,
 +
        zeroX: -693,
 +
        zeroY: 375,
 +
        zoomX: 1.072,
 +
        zoomY: 1.07
 +
      },
 +
      3: {
 +
        height: 471,
 +
        image: 'Map_dalnir3.jpg',  
 +
        interval: 100,
 +
        maxX: 0,
 +
        maxY: 400,
 +
        minX: -800,
 +
        minY: -300,
 +
        width: 531,
 +
        zeroX: 44,
 +
        zeroY: 253,
 +
        zoomX: 0.55,
 +
        zoomY: 0.55
 +
      },
 +
    },
 +
  },
 +
  'Crystal Caverns': {
 +
     levels:{
 +
       0: {
 +
        height: 490,
 +
        image: 'Map_crystal_caverns3.jpg',
 +
        interval: 50,
 +
        maxX: 500,
 +
        maxY: 0,
 +
        minX: 150,
 +
        minY: -450,
 +
        width: 440,
 +
        zeroX: 554,
 +
        zeroY: 25,
 +
        zoomX: 1.02,
 +
        zoomY: 1.02
 +
      },
 +
      1: {
 +
        height: 474,
 +
        image: 'Map_crystal_caverns1.jpg',
 +
        interval: 200,
 +
        maxX: 1000,
 +
        maxY: 1000,
 +
        minX: -1000,
 +
        minY: -800,
 +
        width: 550,
 +
        zeroX: 273,
 +
        zeroY: 266,
 +
        zoomX: 0.258,
 +
        zoomY: 0.258
 +
      },
 +
      2: {
 +
        height: 693,
 +
        image: 'Map_crystal_caverns2.jpg',
 +
        interval: 100,
 +
        maxX: 900,
 +
        maxY: 1000,
 +
        minX: 200,
 +
        minY: 200,
 +
        width: 491,
 +
        zeroX: 563,
 +
        zeroY: 793,
 +
        zoomX: 0.58,
 +
        zoomY: 0.58
 +
      },
 +
      3: {
 +
        height: 693,
 +
        image: 'Map_crystal_caverns2.jpg',
 +
        interval: 100,
 +
        maxX: 1000,
 +
        maxY: 700,
 +
        minX: 200,
 +
        minY: 300,
 +
        width: 491,
 +
        zeroX: 561,
 +
        zeroY: 387.5,
 +
        zoomX: 0.58,
 +
        zoomY: 0.58
 +
       }
 
     }
 
     }
   }
+
   },
 +
  'Dagnor\'s Cauldron': {
 +
    height: 518,
 +
    image: 'Dagnor.jpg',
 +
    width: 383,
 +
    interval: 1000,
 +
    maxX: 1000,
 +
    maxY: 3000,
 +
    minX: -3000,
 +
    minY: -2000,
 +
    zeroX: 108,
 +
    zeroY: 300,
 +
    zoomX: 0.0975,
 +
    zoomY: 0.0975
 +
  },
 +
  'Dalnir': 'Crypt of Dalnir',
 +
  'Dragon Necropolis': {
 +
    levels:{
 +
      0: {
 +
        height: 729,
 +
        image: 'Map_dragon_necropolis1.jpg',
 +
        maxX: 1500,
 +
        maxY: 2000,
 +
        minX: -3000,
 +
        minY: -500,
 +
        interval: 500,
 +
        width: 590,
 +
        zeroX: 252.9,
 +
        zeroY: 620,
 +
        zoomX: 0.104,
 +
        zoomY: 0.13
 +
      },
 +
      1: {
 +
        height: 729,
 +
        image: 'Map_dragon_necropolis1.jpg',
 +
        maxX: 2500,
 +
        maxY: 2000,
 +
        minX: -3000,
 +
        minY: -500,
 +
        interval: 500,
 +
        width: 590,
 +
        zeroX: 252.9,
 +
        zeroY: 260,
 +
        zoomX: 0.104,
 +
        zoomY: 0.13
 +
      }
 +
    }
 +
  },
 +
  'Dreadlands': {
 +
    alternateMaps: [
 +
      {
 +
        height: 215,
 +
        image: 'Map_dreadlandsvalley.jpg',
 +
        interval: 1000,
 +
        maxX: 11000,
 +
        maxY: 4000,
 +
        minX: 5000,
 +
        minY: -1000,
 +
        width: 258,
 +
        zeroX: 475,
 +
        zeroY: 175,
 +
        zoomX: .0445,
 +
        zoomY: .0452
 +
      }
 +
    ],
 +
    height: 328,
 +
    image: 'Map_dreadlands.jpg',
 +
    interval: 1000,
 +
    maxX: 6000,
 +
    maxY: 4000,
 +
    minX: -6000,
 +
    minY: -3000,
 +
    width: 591,
 +
    zeroX: 276,
 +
    zeroY: 174,
 +
    zoomX: .0472,
 +
    zoomY: .0471
 +
  },
 +
  'East Cabilis': 'Cabilis East',
 +
  'East Freeport': 'Freeport East',
 +
  'East Commonlands': {
 +
    height: 279,
 +
    image: 'Map_eastcommons.jpg',
 +
    interval: 1000,
 +
    maxX: 5000,
 +
    maxY: 2000,
 +
    minX: 2000,
 +
    minY: 2000,
 +
    width: 642,
 +
    zeroX: 469.3,
 +
    zeroY: 133,
 +
    zoomX: 0.0887,
 +
    zoomY: 0.0887
 +
  },
 +
  'Emerald Jungle': {
 +
    height: 502,
 +
    image: 'Map_emeraldjungle.jpg',
 +
    interval: 1000,
 +
    maxX: 6000,
 +
    maxY: 5000,
 +
    minX: -4000,
 +
    minY: -4000,
 +
    width: 551,
 +
    zeroX: 323,
 +
    zeroY: 278,
 +
    zoomX: 0.0575,
 +
    zoomY: 0.0575
 +
  },
 +
  'East Karana':  'Eastern Plains of Karana',
 +
  'Eastern Karana':  'Eastern Plains of Karana',
 +
  'Eastern Plains of Karana': {
 +
    height: 554,
 +
    image: 'Map_ekarana.jpg',
 +
    interval: 1000,
 +
    maxX: 2000,
 +
    maxY: 2000,
 +
    minX: 4000,
 +
    minY: 5000,
 +
    width: 450,
 +
    zeroX: 119.5,
 +
    zeroY: 193,
 +
    zoomX: 0.0793,
 +
    zoomY: 0.0788
 +
  },
 +
  'Eastern Wastes': {
 +
    height: 452,
 +
    image: 'Map_eastern_wastes.jpg',
 +
    interval: 1000,
 +
    maxX: 7000,
 +
    maxY: 1000,
 +
    minX: 6000,
 +
    minY: 9000,
 +
    width: 550,
 +
    zeroX: 284,
 +
    zeroY: 62,
 +
    zoomX: 0.038,
 +
    zoomY: 0.038
 +
  },
 +
  'Erudin': {
 +
    alternateMaps: [
 +
      {
 +
        height: 564,
 +
        image: 'Erudindocks.jpg',
 +
        interval: 100,
 +
        maxX: 200,
 +
        maxY: 300,
 +
        minX: -400,
 +
        minY: -400,
 +
        width: 450,
 +
        zeroX: 122,
 +
        zeroY: 223,
 +
        zoomX: 0.731,
 +
        zoomY: 0.731
 +
      }
 +
    ],
 +
    height: 663,
 +
    image: 'Erudin.jpg',
 +
    interval: 100,
 +
    maxX: 0,
 +
    maxY: -600,
 +
    minX: -500,
 +
    minY: -1500,
 +
    width: 370,
 +
    zeroX: 29,
 +
    zeroY: -336,
 +
    zoomX: 0.63,
 +
    zoomY: 0.624
 +
  },
 +
  'Erudin Palace': {
 +
    levels: {
 +
      0: {
 +
        height: 271,
 +
        image: 'Erudinpalace_0.png',
 +
        interval: 100,
 +
        maxX: 900,
 +
        maxY: 900,
 +
        minX: 500,
 +
        minY: 500,
 +
        width: 279,
 +
        zeroX: 544,
 +
        zeroY: 529,
 +
        zoomX: 0.585,
 +
        zoomY: 0.585
 +
      },
 +
      1: {
 +
        height: 261,
 +
        image: 'Erudinpalace_1.png',
 +
        interval: 100,
 +
        maxX: 800,
 +
        maxY: 900,
 +
        minX: 500,
 +
        minY: 500,
 +
        width: 225,
 +
        zeroX: 505,
 +
        zeroY: 530,
 +
        zoomX: 0.585,
 +
        zoomY: 0.585
 +
      }
 +
    }
 +
  },
 +
  'Erud\'s Crossing': {
 +
    height: 452,
 +
    image: 'Map_erudsxing.jpg',
 +
    maxX: 2000,
 +
    maxY: -600,
 +
    minX: 600,
 +
    minY: -2000,
 +
    interval: 200,
 +
    width: 550,
 +
    zeroX: 669.5,
 +
    zeroY: -122,
 +
    zoomX: 0.307,
 +
    zoomY: 0.2725
 +
  },
 +
  'Estate of Unrest': {
 +
    levels: {
 +
      0: {
 +
        height: 401,
 +
        image: 'Unrestmanor.jpg',
 +
        interval: 200,
 +
        maxX:200,
 +
        maxY: 800,
 +
        minX: -200,
 +
        minY: 400,
 +
        width: 400,
 +
        zeroX: 293,
 +
        zeroY: 585,
 +
        zoomX: 0.49,
 +
        zoomY: 0.49,
 +
      },
 +
      1: {
 +
        image: 'Unrest.jpg',
 +
        height: 537,
 +
        width: 400,
 +
        zeroX: 192,
 +
        zeroY: 484,
 +
        interval: 200,
 +
        maxX: 200,
 +
        maxY: 800,
 +
        minX: -200,
 +
        minY: 0,
 +
        zoomX: 0.52,
 +
        zoomY: 0.52
 +
    },
 +
    2: {
 +
      height: 401,
 +
      image: 'Unrestmanor.jpg',
 +
      interval: 200,
 +
      maxX:100,
 +
      maxY: 700,
 +
      minX: -100,
 +
      minY: 500,
 +
      width: 400,
 +
      zeroX: 97,
 +
      zeroY: 680,
 +
      zoomX: 0.975,
 +
      zoomY: 0.975,
 +
    },
 +
    3: {
 +
      height: 401,
 +
      image: 'Unrestmanor.jpg',
 +
      interval: 200,
 +
      maxX:100,
 +
      maxY: 700,
 +
      minX: -100,
 +
      minY: 500,
 +
      width: 400,
 +
      zeroX: 293,
 +
      zeroY: 680,
 +
      zoomX: 0.975,
 +
      zoomY: 0.975
 +
    },
 +
    4: {
 +
      height: 401,
 +
      image: 'Unrestmanor.jpg',
 +
      interval: 200,
 +
      maxX:100,
 +
      maxY: 700,
 +
      minX: -100,
 +
      minY: 500,
 +
      width: 400,
 +
      zeroX: 97,
 +
      zeroY: 873,
 +
      zoomX: 0.975,
 +
      zoomY: 0.975,
 +
    }
 +
  }
 +
  },
 +
  'Everfrost Peaks': {
 +
    alternateMaps: [
 +
      {
 +
        height: 404,
 +
        image: 'Map_everfrostcaves.jpg',
 +
        maxX: -3000,
 +
        maxY: 5500,
 +
        minX: -5500,
 +
        minY: 3000,
 +
        interval: 500,
 +
        width: 400,
 +
        zeroX: -359,
 +
        zeroY: 780,
 +
        zoomX: 0.1356,
 +
        zoomY: 0.136
 +
      }
 +
    ],
 +
    height: 425,
 +
    image: 'Map_everfrost.jpg',
 +
    maxX: 2000,
 +
    maxY: 4000,
 +
    minX: -8000,
 +
    minY: -3000,
 +
    interval: 1000,
 +
    width: 550,
 +
    zeroX: 101.5,
 +
    zeroY: 230,
 +
    zoomX: 0.0565,
 +
    zoomY: 0.0566
 +
  },
 +
  'Feerrott': 'The Feerrott',
 +
  'Field of Bone': {
 +
    height: 586,
 +
    image: 'Map_fieldofbone.jpg',
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 3000,
 +
    minX: -1000,
 +
    minY: -3000,
 +
    width: 488,
 +
    zeroX: 353,
 +
    zeroY: 278,
 +
    zoomX: 0.0773,
 +
    zoomY: 0.0771
 +
  },
 +
  'Firiona Vie': {
 +
    alternateMaps:[{
 +
      height: 539,
 +
      image: 'Map_firionaviedocks.jpg',
 +
      interval: 500,
 +
      maxX: 3500,
 +
      maxY: -2000,
 +
      minX: 1000,
 +
      minY: -4500,
 +
      width: 550,
 +
      zeroX: 714,
 +
      zeroY: -380,
 +
      zoomX: 0.194,
 +
      zoomY: 0.194
 +
    }],
 +
    height: 555,
 +
    image: 'Map_firionavie.jpg',
 +
    interval: 1000,
 +
    maxX: 6000,
 +
    maxY: 5000,
 +
    minX: 4000,
 +
    minY: 5000,
 +
    width: 540,
 +
    zeroX: 324,
 +
    zeroY: 282,
 +
    zoomX: 0.053,
 +
    zoomY: 0.0525
 +
  },
 +
  'Freeport East': {
 +
    levels: {
 +
      0: {
 +
        image: 'FreeportEast-Basement-Grid.jpg',
 +
        height: 366,
 +
        width: 800,
 +
        zeroX: 251,
 +
        zeroY: 57,
 +
        interval: 500,
 +
        maxX: 500,
 +
        maxY: 0,
 +
        minX: -1000,
 +
        minY: -500,
 +
        zoomX: 0.418,
 +
        zoomY: 0.418
 +
      },
 +
      1 :{
 +
        image: 'FreeportEast-Grid.jpg',
 +
        height: 847,
 +
        width: 1055,
 +
        zeroX: 226,
 +
        zeroY: 303,
 +
        interval: 500,
 +
        maxX: 500,
 +
        maxY: 1000,
 +
        minX: -3000,
 +
        minY: -2500,
 +
        zoomX: 0.25,
 +
        zoomY: 0.25
 +
      }
 +
    }
 +
  },
 +
  'Freeport North': {
 +
    image: 'FreeportNorth-Grid.jpg',
 +
    height: 601,
 +
    width: 683,
 +
    zeroX: 376,
 +
    zeroY: 283,
 +
    interval: 200,
 +
    maxX: 800,
 +
    maxY: 600, 
 +
    minX: -600,
 +
    minY: -600,
 +
    zoomX: 0.39,
 +
    zoomY: 0.39
 +
  },
 +
  'Frontier Mountains': {
 +
      height: 549,
 +
      image: 'Map_frontiermtns.jpg',
 +
      maxX: 4000,
 +
      maxY: 4000,
 +
      minX: -3000,
 +
      minY: -4000,
 +
      interval: 1000,
 +
      width: 532,
 +
      zeroX: 271.5,
 +
      zeroY: 284,
 +
      zoomX: 0.0578,
 +
      zoomY: 0.0577
 +
  },
 +
  'Freeport West': {
 +
    image: 'Freeport_west_grid.png',
 +
    height: 690,
 +
    width: 845,
 +
    zeroX: 385,
 +
    zeroY: 439,
 +
    interval: 200,
 +
    maxX: 1400,
 +
    maxY: 1600,
 +
    minX: -1600,
 +
    minY: -800,
 +
    zoomX: 0.25,
 +
    zoomY: 0.25
 +
  },
 +
  'Gorge of King Xorbb': {
 +
    height: 357,
 +
    image: 'Map_gxorbb.jpg',
 +
    maxX: 1000,
 +
    maxY: 1500,
 +
    minX: -2000,
 +
    minY: -1500,
 +
    interval: 500,
 +
    width: 400,
 +
    zeroX: 112.5,
 +
    zeroY: 173.5,
 +
    zoomX: 0.12545,
 +
    zoomY: 0.12545
 +
  },
 +
  'Great Divide': {
 +
    height: 528,
 +
    image: 'Map_great_divide.jpg',
 +
    width: 550,
 +
    zeroX: 262,
 +
    zeroY: 41,
 +
    interval: 1000,
 +
    maxX: 5000,
 +
    maxY: 1000,
 +
    minX: -5000,
 +
    minY: -9000,
 +
    zoomX: 0.0535,
 +
    zoomY: 0.053
 +
  },
 +
  'Greater Faydark': {
 +
    alternateMaps: [
 +
      {
 +
        height: 519,
 +
        image: 'Kelethin.jpg',
 +
        interval: 200,
 +
        maxX: 1000,
 +
        minX: -700,
 +
        maxY: 1200,
 +
        minY: -800,
 +
        width: 442,
 +
        zeroX: 237,
 +
        zeroY: 312,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
      }
 +
    ],
 +
    height: 532,
 +
    image: 'Greaterfaydark.jpg',
 +
    interval: 1000,
 +
    maxX: 3000,
 +
    maxY: 2000,
 +
    minX: 3000,
 +
    minY: 2000,
 +
    width: 550,
 +
    zeroX: 269,
 +
    zeroY: 255,
 +
    zoomX: .089,
 +
    zoomY: .089
 +
  },
 +
  'Grobb': {
 +
    height: 456,
 +
    image: 'Grobb.jpg',
 +
    interval: 200,
 +
    maxX: 200,
 +
    maxY: 600,
 +
    minX: 800,
 +
    minY: 200,
 +
    width: 550,
 +
    zeroX: 109,
 +
    zeroY: 341,
 +
    zoomX: 0.442,
 +
    zoomY: 0.439
 +
  },
 +
  'Halas': {
 +
    height:434,
 +
    image: 'Zone_halas.jpg',
 +
    interval: 200,
 +
    maxX: 400,
 +
    maxY: 600,
 +
    minX: -600,
 +
    minY: 0,
 +
    width: 550,
 +
    zeroX: 252.5,
 +
    zeroY: 343,
 +
    zoomX: 0.458,
 +
    zoomY: 0.46
 +
  },
 +
  'Highhold': 'Highpass Hold',
 +
  'High Keep': 'Highpass Keep',
 +
  'Highpass Keep': {
 +
    levels: {
 +
      0: {
 +
        height: 293,
 +
        image: 'Highkeepbasement.png',
 +
        interval: 100,
 +
        maxX: 0,
 +
        maxY: 200,
 +
        minX: -600,
 +
        minY: -100,
 +
        width: 500,
 +
        zeroX: 26,
 +
        zeroY: 169,
 +
        zoomX: 0.728,
 +
        zoomY: 0.724
 +
      },
 +
      1: {
 +
        height: 294,
 +
        image: 'Highkeepfirstlevel.png',
 +
        interval: 100,
 +
        maxX: 100,
 +
        maxY: 200,
 +
        minX: -500,
 +
        minY: -100,
 +
        width: 500,
 +
        zeroX: 96,
 +
        zeroY: 169,
 +
        zoomX: 0.728,
 +
        zoomY: 0.724
 +
      },
 +
      2: {
 +
        height: 235,
 +
        image: 'Highkeepseocondlevel.png',
 +
        interval: 100,
 +
        maxX: -200,
 +
        maxY: 100,
 +
        minX: -400,
 +
        minY: -100,
 +
        width: 247,
 +
        zeroX: -120,
 +
        zeroY: 97,
 +
        zoomX: 0.836,
 +
        zoomY: 0.88
 +
      },
 +
      4: {
 +
        height: 305,
 +
        image: 'Highkeepfourthlevel.png',
 +
        interval: 100,
 +
        maxX: 0,
 +
        maxY: 100,
 +
        minX: -400,
 +
        minY: -100,
 +
        width: 475,
 +
        zeroX: 50,
 +
        zeroY: 131,
 +
        zoomX: 0.88,
 +
        zoomY: 0.88
 +
      }
 +
    }
 +
  },
 +
  'Highpass Hold': {
 +
      height: 532,
 +
      image: 'Loc-Accurate_Highpass_Hold.jpg',
 +
      maxX: 500,
 +
      maxY: 500,
 +
      minX: -500,
 +
      minY: -1000,
 +
      interval: 500,
 +
      width: 379,
 +
      zeroX: 222,
 +
      zeroY: 237,
 +
      zoomX: 0.273,
 +
      zoomY: 0.273
 +
  },
 +
  'Howling Stones': {
 +
    levels:{
 +
      0: {
 +
        height: 540,
 +
        image: 'Map_charasis2.jpg',
 +
        maxX: 400,
 +
        maxY: 400,
 +
        minX: -300,
 +
        minY: -400,
 +
        interval: 100,
 +
        width: 540,
 +
        zeroX: 285,
 +
        zeroY: 241,
 +
        zoomX: 0.339,
 +
        zoomY: 0.339
 +
      },
 +
    1: {
 +
        height: 999,
 +
        image: 'Map_charasis1.jpg',
 +
        maxX: 800,
 +
        maxY: 700,
 +
        minX: -700,
 +
        minY: -800,
 +
        interval: 100,
 +
        width: 961,
 +
        zeroX: 510,
 +
        zeroY: 433,
 +
        zoomX: 0.61,
 +
        zoomY: 0.61
 +
      },
 +
    },
 +
  },
 +
  'Kael': 'Kael Drakkel',
 +
  'Kael Drakkal': 'Kael Drakkel',
 +
  'Kael Drakkel': {
 +
    height: 600,
 +
    image: 'Map_kael_drakkal.jpg',
 +
    interval:250,
 +
    maxX: 3250,
 +
    maxY: 2750,
 +
    minX: -500,
 +
    minY: -2000,
 +
    width: 507,
 +
    zeroX: 404,
 +
    zeroY: 344,
 +
    zoomX: 0.12,
 +
    zoomY: 0.1205
 +
  },
 +
  'Kaesora': {
 +
    height: 342,
 +
    image: 'Map_kaesora1.jpg',
 +
    width: 559,
 +
    zeroX: 219,
 +
    zeroY: 204,
 +
    interval: 100,
 +
    maxX: 400,
 +
    maxY: 400,
 +
    minX: -600,
 +
    minY: -200,
 +
    zoomX: 0.455,
 +
    zoomY: 0.455
 +
  },
 +
  'Karnor\'s Castle': {
 +
    height: 524,
 +
    image: 'Map_karnor1.jpg',
 +
    width: 755,
 +
    zeroX: 241,
 +
    zeroY: 277,
 +
    interval: 100,
 +
    maxX: 400,
 +
    maxY: 500,
 +
    minX: -800,
 +
    minY: -400,
 +
    zoomX: .605,
 +
    zoomY: .61
 +
  },
 +
  'Kelethin': 'Greater Faydark',
 +
  'Kerra Island': {
 +
    height: 504,
 +
    image: 'Kerra.jpg',
 +
    interval: 500,
 +
    maxX: 1000,
 +
    maxY: 1500,
 +
    minX: 1000,
 +
    minY: 1000,
 +
    width: 415,
 +
    zeroX: 146.5,
 +
    zeroY: 277,
 +
    zoomX: 0.238,
 +
    zoomY: 0.238
 +
  },
 +
  'Kithicor': 'Kithicor Forest',
 +
  'Kithicor Forest': {
 +
    height: 333,
 +
    image: 'Map_kithicor.jpg',
 +
    interval: 1000,
 +
    maxX: 5000,
 +
    maxY: 2000,
 +
    minX: -1000,
 +
    minY: -1000,
 +
    width: 560,
 +
    zeroX: 449.5,
 +
    zeroY: 194,
 +
    zoomX: 0.088,
 +
    zoomY: 0.088
 +
  },
 +
  'Iceclad': 'Iceclad Ocean',
 +
  'Iceclad Ocean': {
 +
    height: 457,
 +
    image: 'Iceclad.jpg',
 +
    interval: 2000,
 +
    maxX: 10000,
 +
    maxY: 8000,
 +
    minX: -10000,
 +
    minY: -10000,
 +
    width: 550,
 +
    zeroX: 245,
 +
    zeroY: 214,
 +
    zoomX: 0.0226,
 +
    zoomY: 0.0226
 +
  },
 +
  'Icewell Keep': {
 +
    levels:{
 +
      0: {
 +
        height: 511,
 +
        image: 'Map_icewell_keep.jpg',
 +
        maxX: 1000,
 +
        maxY: 750,
 +
        minX: -500,
 +
        minY: -1000,
 +
        interval: 250,
 +
        width: 590,
 +
        zeroX: 279,
 +
        zeroY: 233,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
      },
 +
      1: {
 +
        height: 511,
 +
        image: 'Map_icewell_keep.jpg',
 +
        maxX: 500,
 +
        maxY: 1000,
 +
        minX: -500,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 590,
 +
        zeroX: 477,
 +
        zeroY: 498,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
      },
 +
      2: {
 +
        height: 511,
 +
        image: 'Map_icewell_keep.jpg',
 +
        maxX: 250,
 +
        maxY: 1000,
 +
        minX: -250,
 +
        minY: 500,
 +
        interval: 250,
 +
        width: 590,
 +
        zeroX: 477,
 +
        zeroY: 360,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
      },
 +
      3: {
 +
        height: 511,
 +
        image: 'Map_icewell_keep.jpg',
 +
        maxX: 250,
 +
        maxY: 1000,
 +
        minX: -250,
 +
        minY: 500,
 +
        interval: 250,
 +
        width: 590,
 +
        zeroX: 477,
 +
        zeroY: 230,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
      }
 +
    },
 +
  },
 +
  "Kurn's Tower": {
 +
    levels: {
 +
      tunnels: {
 +
        height: 693,
 +
        image: 'Map_kurnslower.jpg',
 +
        interval: 100,
 +
        maxX: 400,
 +
        maxY: 300,
 +
        minX: -400,
 +
        minY: -300,
 +
        width: 500,
 +
        zeroX: 226.5,
 +
        zeroY: 517,
 +
        zoomX: .597,
 +
        zoomY: .595,
  
  /**
+
        maxZ: -71.1,
  * Extracts all of the locs (objects with x and y properties) from a provided
+
        minZ: -200
  * string such as:
+
      },
  * "500, 200"
+
      0: {
  * "(200, 300), (300, 200)"
+
        height: 693,
  */
+
        image: 'Map_kurnslower.jpg',
  var getLocs = function(locString) {
+
        interval: 100,
    var nonLocParts = '';
+
        maxX: 400,
    return locString
+
        maxY: 300,
    .split(/([\+\-]?\d+\.?\d*\D*,\D*[\+\-]?\d+\.?\d*)/g)
+
         minX: -400,
    .filter(function(part) {
+
         minY: -300,
         // Filter out the non-loc parts, but save them
+
         width: 500,
         if (isLoc(part)) return true;
+
        zeroX: 226.5,
         nonLocParts += part; // save as it might be something like "1st floor"
+
        zeroY: 160,
      })
+
        zoomX: .598,
    .map(parseLoc)
+
        zoomY: .599,
    .concat(nonLocParts);
+
  };
+
  
  var buildMap = function(mapSize, zoneData) {
+
        maxZ: -11.1,
    var $map;
+
        minZ: -71
    switch(mapSize){
+
      },
       case 'full': return build$FullMap(zoneData);
+
      1: {
       case 'small': return build$SmallMap(zoneData);
+
        height: 561,
     }  
+
        image: 'Map_kurnsupper.jpg',
   };
+
        interval: 100,
 
+
        maxX: 300,
   /**
+
        maxY: 300,
  * Adds a loc map image to the page.
+
        minX: -300,
  */
+
        minY: -300,
  var showMapWithLocs = function(mapSize, zoneData, locs, $container) {
+
        width: 550,
     zoneData = addImageUrl(zoneData);
+
        zeroX: 159,
     var $map = buildMap(mapSize, zoneData);
+
        zeroY: 403,
     $('body').append($map);
+
        zoomX: 0.49,
     var $xContainer = $map.find('.x-container');
+
        zoomY: 0.49
     $map.find('img').load(function() {
+
      },
      addXs($xContainer, zoneData, locs);
+
      2: {
     });
+
        height: 561,
     if (mapSize === 'small') $map.css({ marginTop: 25 });
+
        image: 'Map_kurnsupper.jpg',
     if ($container) $container.prepend($map);
+
        interval: 100,
     else $('body').append($map);
+
        maxX: 300,
     return $map;
+
        maxY: 300,
   };
+
        minX: -300,
 
+
        minY: -200,
    
+
        width: 550,
   // Handle "loc links" (generated from {{loc}} templates)
+
        zeroX: 159,
   var handleLocLinks = function() {
+
        zeroY: 108,
     $('.loc-link').click(function() {
+
        zoomX: 0.49,
       var data = $(this).data();
+
        zoomY: 0.49
      var locs = [parseLoc(data.loc)];
+
       },
      var zoneData = getZoneData(data.zone, locs);
+
      3: {
       if (zoneData) {
+
        height: 561,
         showMapWithLocs('full', zoneData, locs);
+
        image: 'Map_kurnsupper.jpg',
      } else {
+
        interval: 100,
         // If not, stop here
+
        maxX: 100,
         alert('We\'re sorry, but ' + data.zone + ' has not been loc mapped ' +
+
        maxY: 300,
              'yet ... please see Category:Loc_Mapped for more information');
+
        minX: -300,
 +
        minY: -300,
 +
        width: 550,
 +
        zeroX: 355,
 +
        zeroY: 108,
 +
        zoomX: 0.49,
 +
        zoomY: 0.49
 +
       },
 +
      4: {
 +
        height: 561,
 +
        image: 'Map_kurnsupper.jpg',
 +
        interval: 100,
 +
        maxX: 0,
 +
        maxY: 200,
 +
        minX: -300,
 +
        minY: -200,
 +
        width: 550,
 +
        zeroX: 356,
 +
        zeroY: 403,
 +
        zoomX: 0.49,
 +
        zoomY: 0.49
 +
      }
 +
     }
 +
   },
 +
   'Innothule Swamp': {
 +
    height: 621,
 +
    image: 'Map_innothule.jpg',
 +
    maxX: 2000,
 +
    maxY: 3000,
 +
    minX: -1000,
 +
    minY: -3000,
 +
     interval: 1000,
 +
     width: 325,
 +
     zeroX: 210.5,
 +
     zeroY: 297,
 +
    zoomX: 0.099,
 +
    zoomY: 0.117
 +
  },
 +
  'Lake of Ill Omen': {
 +
     height: 542,
 +
    image: 'Map_lakeofillomen.jpg',
 +
    maxX: 4000,
 +
    maxY: 6000,
 +
    minX: -8000,
 +
    minY: -4000,
 +
    interval: 2000,
 +
    width: 550,
 +
    zeroX: 191.5,
 +
    zeroY: 327,
 +
    zoomX: 0.0438,
 +
     zoomY: 0.0436
 +
  },
 +
  'Lake Rathe': 'Lake Rathetear',
 +
  'Lake Rathetear': {
 +
     height: 450,
 +
    image: 'Map_lakerathetear.jpg',
 +
    interval: 1000,
 +
    maxX: 3000,
 +
    maxY: 5000,
 +
    minX: -2000,
 +
    minY: -1000,
 +
    width: 450,
 +
    zeroX: 252,
 +
    zeroY: 347,
 +
    zoomX: 0.0755,
 +
    zoomY: 0.0755
 +
  },
 +
  'Lesser Faydark': {
 +
     height: 465,
 +
     image: 'Lesserfaydark.jpg',
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 2000,
 +
    minX: -2000,
 +
    minY: -1000,
 +
    width: 635,
 +
    zeroX: 394,
 +
    zeroY: 288,
 +
    zoomX: 0.095,
 +
     zoomY: 0.132
 +
   },
 +
   'Lavastorm Mountains' : {
 +
    height: 472,
 +
    image: 'Map_lavastorm.jpg',
 +
    maxX: 1500,
 +
    maxY: 1500,
 +
    minX: -1500,
 +
    minY: -2000,
 +
    interval: 500,
 +
    width: 400,
 +
    zeroX: 222.3,
 +
    zeroY: 214,
 +
    zoomX: 0.1325,
 +
    zoomY: 0.1325
 +
   },
 +
   'Lower Guk': {
 +
     alternateMaps: [
 +
      {
 +
        height: 552,
 +
        image: 'Lgukdead.jpg',
 +
        width: 550,
 +
        zeroX: 0,
 +
        zeroY: 761,
 +
        interval: 100,
 +
        maxX: 0,
 +
        maxY: 1700,
 +
        minX: -1200,
 +
        minY: 500,
 +
        zoomX: 0.446,
 +
        zoomY: 0.444
 +
      }
 +
    ],
 +
    height: 552,
 +
    image: 'Lguklive.jpg',
 +
    width: 550,
 +
    zeroX: 282,
 +
    zeroY: 466.5,
 +
    interval: 100,
 +
    maxX: 700,
 +
    maxY: 1100,
 +
    minX: -600,
 +
    minY: -200,
 +
    zoomX: 0.385,
 +
    zoomY: 0.394
 +
  },
 +
    'Mistmoore Castle': {
 +
       levels: {
 +
        1: {
 +
          height: 598,
 +
          image: 'Mistmoore.jpg',
 +
          interval: 100,
 +
          maxX: 600,
 +
          maxY: 300,
 +
          minX: -200,
 +
          minY: -500,
 +
          width: 550,
 +
          zeroX: 396,
 +
          zeroY: 197,
 +
          zoomX: 0.618,
 +
          zoomY: 0.615
 +
      },
 +
       2: {
 +
          height: 598,
 +
          image: 'Mistmoore.jpg',
 +
          interval: 100,
 +
          maxX: 200,
 +
          maxY: 0,
 +
          minX: -200,
 +
          minY: -200,
 +
          width: 550,
 +
          zeroX: 393,
 +
          zeroY: 442,
 +
          zoomX: 0.618,
 +
          zoomY: 0.615
 +
         }
 +
      }
 +
  },
 +
  'Misty Thicket': {
 +
    height: 341,
 +
    image: 'Map_mistythicket.jpg',
 +
    maxX: 1500,
 +
    maxY: 1500,
 +
    minX: -3000,
 +
    minY: -1500,
 +
    interval: 500,
 +
    width: 550,
 +
    zeroX: 197,
 +
    zeroY: 163.3,
 +
    zoomX: 0.1208,
 +
    zoomY: 0.1208
 +
  },
 +
  'Nagafens Lair': 'Nagafen\'s Lair',
 +
  'Nagafen\'s Lair': {
 +
         height: 595,
 +
         image: 'Nagafenslair.jpg',
 +
        interval: 100,
 +
        maxX: 300,
 +
        maxY: -100,
 +
        minX: -1000,
 +
        minY: -1600,
 +
        width: 550,
 +
        zeroX: 149,
 +
        zeroY: -15,
 +
        zoomX: 0.376,
 +
        zoomY: 0.376
 +
  },
 +
  'Najena': {
 +
    levels: {
 +
      0:{
 +
        height: 529,
 +
        image: 'Najena.jpg',
 +
        maxX: 250,
 +
        maxY: 500,
 +
        minX: 0,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 541,
 +
        zeroX: 368,
 +
        zeroY: 410,
 +
        zoomX: 0.376,
 +
        zoomY: 0.375
 +
      },
 +
      1: {
 +
        height: 529,
 +
        image: 'Najena.jpg',
 +
        maxX: 750,
 +
        maxY: 500,
 +
        mivnX: -250,
 +
        minY: -250,
 +
        interval: 250,
 +
        width: 541,
 +
        zeroX: 368,
 +
        zeroY: 220,
 +
        zoomX: 0.376,
 +
        zoomY: 0.375
 
       }
 
       }
       return false
+
    }
     })
+
  },
     .on('mouseover', function(e) {
+
  'Nektulos Forest': {
       var data = $(this).data();
+
    height: 519,
       var zoneData = getZoneData(data.zone, [parseLoc(data.loc)]);
+
    image: 'Map_nektulos.jpg',
       if (!zoneData) return;
+
    interval: 1000,
 +
    maxX: 2000,
 +
    maxY: 3000,
 +
    minX: 2000,
 +
    minY: 3000,
 +
    width: 271,
 +
    zeroX: 137.4,
 +
    zeroY: 264.8,
 +
    zoomX: 0.091,
 +
    zoomY: 0.091
 +
  },
 +
  'North Freeport': 'Freeport North',
 +
  'Northern Felwithe': {
 +
    height: 385,
 +
    image: 'Nfelwithe.jpg',
 +
    interval: 100,
 +
    maxX: 100,
 +
    maxY: 400,
 +
    minX: 800,
 +
    minY: 300,
 +
    width: 589,
 +
    zeroX: 109,
 +
    zeroY: 217,
 +
    zoomX: 0.547,
 +
    zoomY: 0.55
 +
  },
 +
  'North Felwithe': 'Northern Felwithe',
 +
  'Northern Plains of Karana':  'Northern Karana',
 +
  'Northern Karana': {
 +
    height: 476,
 +
    image: 'Map_nkarana.jpg',
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 2000,
 +
    minX: 3000,
 +
    minY: 5000,
 +
    width: 500,
 +
    zeroX: 263.3,
 +
    zeroY: 135.5,
 +
    zoomX: 0.071,
 +
    zoomY: 0.0705
 +
  },
 +
  'Northern Desert of Ro': {
 +
    height: 569,
 +
    image: 'Map_northro.jpg',
 +
    interval: 1000,
 +
    maxX: 2000,
 +
    maxY: 5000,
 +
    minX: -2000,
 +
    minY: -2000,
 +
    width: 296,
 +
    zeroX: 169.5,
 +
    zeroY: 378.8,
 +
    zoomX: 0.087,
 +
    zoomY: 0.087
 +
  },
 +
  'Northern Kaladim': 'North Kaladim',
 +
  'North Kaladim': {
 +
    height: 490,
 +
    image: 'Nkaladim.jpg',
 +
    interval: 100,
 +
    maxX: 400,
 +
    maxY: 1000,
 +
    minX: -300,
 +
    minY: 400,
 +
    width: 430,
 +
    zeroX: 251,
 +
    zeroY: 636,
 +
    zoomX: 0.525,
 +
    zoomY: 0.525
 +
  },
 +
  'North Qeynos': {
 +
    height: 319,
 +
    image: 'Zone_nqeynos.jpg',
 +
    interval: 200,
 +
    maxX: 600,
 +
    maxY: 600,
 +
    minX: -600,
 +
    minY: -400,
 +
    width: 458,
 +
    zeroX: 204,
 +
    zeroY: 189,
 +
    zoomX: 0.39,
 +
    zoomY: 0.39
 +
  },
 +
  'North Ro': 'Northern Desert of Ro',
 +
  'Mines of Nurga': {
 +
    alternateMaps:[{
 +
      height: 375,
 +
      image: 'Map_nurga2.jpg',
 +
      interval: 200,
 +
      maxX: 1800,
 +
      maxY: -1000,
 +
      minX: 0,
 +
      minY: -2100,
 +
      width: 550,
 +
      zeroX: 545,
 +
      zeroY: -267,
 +
      zoomX: 0.3045,
 +
      zoomY: 0.304
 +
    }],
 +
    height: 435,
 +
    image: 'Map_nurga1.jpg',
 +
    interval: 200,
 +
    maxX: 200,
 +
    maxY: -800,
 +
    minX: -2000,
 +
    minY: -2400,
 +
    width: 587,
 +
    zeroX: 50,
 +
    zeroY: -213,
 +
    zoomX: 0.261,
 +
    zoomY: 0.261
 +
  },
 +
  'Oasis of Marr': {
 +
    height: 508,
 +
    image: 'Map_oasisofmarr.jpg',
 +
    interval: 1000,
 +
    maxX: 2000,
 +
    maxY: 3000,
 +
    minX: -2000,
 +
    minY: -2000,
 +
    width: 315,
 +
    zeroX: 172.5,
 +
    zeroY: 271,
 +
    zoomX: 0.103,
 +
    zoomY: 0.1017
 +
  },
 +
  'Ocean of Tears': {
 +
    image: 'Ocean_of_Tears-edited.jpg',
 +
    height: 394,
 +
    width: 800,
 +
    zeroX: 390,
 +
    zeroY: 152,
 +
    interval: 1000,
 +
    maxX: 10000,
 +
    maxY: 3000,
 +
    minX: -10000,
 +
    minY: -5000,
 +
    zoomX: 0.0368,
 +
    zoomY: 0.0442
 +
  },
 +
  'Oggok': {
 +
    height: 440,
 +
    image: 'Oggok.jpg',
 +
    interval: 200,
 +
    maxX: 1000,
 +
    maxY: 800,
 +
    minX: 400,
 +
    minY: 400,
 +
    width: 536,
 +
    zeroX: 361,
 +
    zeroY: 305,
 +
    zoomX: .3155,
 +
    zoomY: .315
 +
  },
 +
  'Old Sebilis': {
 +
    height: 674,
 +
    image: 'Map_sebilis1.jpg',
 +
    interval: 200,
 +
    maxX: 1000,
 +
    maxY: 400,
 +
    minX: -800,
 +
    minY: -2000,
 +
    width: 423,
 +
    zeroX: 227,
 +
    zeroY: 98,
 +
    zoomX: 0.227,
 +
    zoomY: 0.281
 +
  },
 +
  'Overthere': 'The Overthere',
 +
  'Paineel': {
 +
    height: 520,
 +
    image: 'Paineelin.jpg',
 +
    interval: 100,
 +
    maxX: 1000,
 +
    maxY: 1400,
 +
    minX: 0,
 +
    minY: 400,
 +
    width: 492,
 +
    zeroX: 507,
 +
    zeroY: 716,
 +
    zoomX: 0.5215,
 +
    zoomY: 0.5212
 +
  },
 +
  'Permafrost': {levels:{
 +
    0:{
 +
       height: 733,
 +
      image: 'Zone_permafrost.jpg',
 +
      interval: 100,
 +
      maxX: 400,
 +
      maxY: 500,
 +
      minX: -50,
 +
      minY: 200,
 +
      width: 550,
 +
      zeroX: 502,
 +
      zeroY: 820,
 +
      zoomX: 0.459,
 +
      zoomY: 0.459
 +
     },
 +
     1:{
 +
      height: 733,
 +
      image: 'Zone_permafrost.jpg',
 +
      interval: 100,
 +
      maxX: 500,
 +
      maxY: 1300,
 +
      minX: -700,
 +
      minY: -300,
 +
      width: 550,
 +
      zeroX: 227,
 +
      zeroY: 590,
 +
      zoomX: 0.459,
 +
      zoomY: 0.459
 +
  }}},
 +
  'Plane of Fear': {
 +
    height: 589,
 +
    image: 'Fearmap.jpg',
 +
    maxX: 1600,
 +
    maxY: 1600,
 +
    minX: -1600,
 +
    minY: -1600,
 +
    interval: 400,
 +
    width: 600,
 +
    zeroX: 297,
 +
    zeroY: 287,
 +
    zoomX: 0.187,
 +
    zoomY: 0.187
 +
  },
 +
  'Plane of Growth': {
 +
       height: 613,
 +
      image: 'Map_plane_of_growth.jpg',
 +
       interval: 500,
 +
      maxX: 4000,
 +
      maxY: 4000,
 +
      minX: -4000,
 +
      minY: -4000,
 +
      width: 626,
 +
      zeroX: 317,
 +
      zeroY: 303,
 +
      zoomX: 0.0711,
 +
      zoomY: 0.0728
 +
  },
 +
  'Plane of Hate': {
 +
    levels:{
 +
       1: {
 +
        height: 598,
 +
        image: 'Plane_of_hate_kronas.jpg',
 +
        maxX: 400,
 +
        maxY: 500,
 +
        minX: -400,
 +
        minY: -500,
 +
        interval: 100,
 +
        width: 504,
 +
        zeroX: 248,
 +
        zeroY: 309,
 +
        zoomX: 0.606,
 +
        zoomY: 0.606
 +
      },
 +
      2: {
 +
        height: 698,
 +
        image: 'HateSecondFloorTrimmed.jpg',
 +
        maxX: 500,
 +
        maxY: 600,
 +
        minX: -500,
 +
        minY: -600,
 +
        interval: 100,
 +
        width: 903,
 +
        zeroX: 313.5,
 +
        zeroY: 339,
 +
        zoomX: 0.542,
 +
        zoomY: 0.542
 +
      }
 +
    }
 +
  },
 +
  'Qeynos Aqueducts': {
 +
    height: 650,
 +
    image: 'QeynosCats1.jpg',
 +
    interval: 100,
 +
    maxX: 300,
 +
    maxY: 1000,
 +
    minX: -600,
 +
    minY: -200,
 +
    width: 544,
 +
    zeroX: 187,
 +
    zeroY: 529,
 +
    zoomX: 0.508,
 +
    zoomY: 0.507
 +
  },
 +
  'Qeynos Catacombs': 'Qeynos Aqueducts',
 +
  'Qeynos Hills': {
 +
    height: 575,
 +
    image: 'Qeynoshills.jpg',
 +
    interval: 1000,
 +
    maxX: 2000,
 +
    maxY: 6000,
 +
    minX: 2000,
 +
    minY: 1000,
 +
    width: 324,
 +
    zeroX: 136,
 +
    zeroY: 516.3,
 +
    zoomX: 0.0945,
 +
    zoomY: 0.094
 +
  },
 +
  'Rathe Mountains': {
 +
    height: 660,
 +
    image: 'Zone_rathemtns.jpg',
 +
    interval: 1500,
 +
    maxX: 3000,
 +
    maxY: 7500,
 +
    minX: 4500,
 +
    minY: 3000,
 +
    width: 490,
 +
    zeroX: 219.5,
 +
    zeroY: 453.5,
 +
    zoomX: 0.0707,
 +
    zoomY: 0.0702
 +
  },
 +
  'Rivervale': {
 +
    height: 540,
 +
    image: 'Rivervale.jpg',
 +
    interval: 200,
 +
    maxX: 200,
 +
    maxY: 600,
 +
    minX: 800,
 +
    minY: 400,
 +
    width: 484,
 +
    zeroX: 85,
 +
    zeroY: 287,
 +
    zoomX: 0.522,
 +
    zoomY: 0.517
 +
  },
 +
  'Runnyeye':  'Clan Runnyeye',
 +
  'RunnyEye':  'Clan Runnyeye',
 +
  'RunnyEye Citadel':  'Clan Runnyeye',
 +
  'Sebilis': 'Old Sebilis',
 +
  'Siren Grotto': 'Siren\'s Grotto',
 +
  'Siren\'s Grotto': {
 +
    levels:{
 +
      0: {
 +
        height: 615,
 +
        image: 'Map_sirens_grotto_level1.gif',
 +
        maxX: 200,
 +
        maxY: 300,
 +
        minX: -800,
 +
        minY: -900,
 +
        interval: 100,
 +
        width: 540,
 +
        zeroX: 118,
 +
        zeroY: 150,
 +
        zoomX: 0.50,
 +
        zoomY: 0.50
 +
      },
 +
      1: {
 +
        height: 615,
 +
        image: 'Sirens_grotto_b_draelon.gif',
 +
        maxX: 200,
 +
        maxY: 300,
 +
        minX: -800,
 +
        minY: -900,
 +
        interval: 100,
 +
        width: 540,
 +
        zeroX: 118,
 +
        zeroY: 150,
 +
        zoomX: 0.50,
 +
        zoomY: 0.50
 +
      },
 +
      2: {
 +
        height: 615,
 +
        image: 'Sirens_grotto_c_draelon.gif',
 +
        maxX: 200,
 +
        maxY: 300,
 +
        minX: -800,
 +
        minY: -900,
 +
        interval: 100,
 +
        width: 540,
 +
        zeroX: 118,
 +
        zeroY: 150,
 +
        zoomX: 0.50,
 +
        zoomY: 0.50
 +
      }
 +
    }
 +
  },
 +
/*  'Siren\'s Grotto': {
 +
    height: 709,
 +
    image: 'Map_sirens_grotto.jpg',
 +
    interval: 100,
 +
    maxX: 200,
 +
    maxY: 300,
 +
    minX: -300,
 +
    minY: -600,
 +
    width: 390,
 +
    zeroX: 145.5,
 +
    zeroY: 197.5,
 +
    zoomX: 0.705,
 +
    zoomY: 0.705
 +
  },*/
 +
  'Skyfire Mountains': {
 +
    height: 626,
 +
    image: 'Map_skyfiremtns.jpg',
 +
    width: 550,
 +
    zeroX: 292,
 +
    zeroY: 314,
 +
    interval: 1000,
 +
    maxX: 6000,
 +
    maxY: 6000,
 +
    minX: -5000,
 +
    minY: -6000,
 +
    zoomX: 0.0513,
 +
    zoomY: 0.0515
 +
  },
 +
  'Skyshrine': {
 +
    levels:{
 +
      1: {
 +
        height: 809,
 +
        image: 'SkyshrineMapsMainLowerFloor.jpg',
 +
        maxX: 0,
 +
        maxY: 1400,
 +
        minX: -1000,
 +
        minY: -400,
 +
        interval: 200,
 +
        width: 550,
 +
        zeroX: -19,
 +
        zeroY: 618,
 +
        zoomX: 0.49,
 +
        zoomY: 0.49
 +
      },
 +
      2: {
 +
        height: 630,
 +
        image: 'SkyshrineMapsMainUpperFloor.jpg',
 +
        maxX: 200,
 +
        maxY: 1400,
 +
        minX: -1400,
 +
        minY: 0,
 +
        interval: 200,
 +
        width: 600,
 +
        zeroX: 48,
 +
        zeroY: 492,
 +
        zoomX: 0.355,
 +
        zoomY: 0.355
 +
      },
  
      var locs = [parseLoc(data.loc)];
+
// MainLowerTopSubMap: {
      this.$map = showMapWithLocs('small', zoneData, locs, $(e.target));
+
// height: 809,
    })
+
// image: 'SkyshrineMapsMainLowerFloor.jpg',
    .on('mouseleave', function(e) {
+
// maxX: -200,
       if (this.$map) this.$map.remove();
+
// maxY: 600,
       return false;
+
// minX: -800,
    });
+
// minY: 400,
  };
+
// interval: 200,
 +
// width: 550,
 +
// zeroX: -68,
 +
// zeroY: 314,
 +
// zoomX: 0.49,
 +
// zoomY: 0.49
 +
// },
 +
// MainLowerBottomSubMap: {
 +
// height: 809,
 +
// image: 'SkyshrineMapsMainLowerFloor.jpg',
 +
// maxX: -400,
 +
// maxY: 400,
 +
// minX: -800,
 +
// minY: 0,
 +
// interval: 200,
 +
// width: 550,
 +
// zeroX: -168,
 +
// zeroY: 714,
 +
// zoomX: 0.49,
 +
// zoomY: 0.49
 +
// },
 +
      3: {
 +
        height: 535,
 +
        image: 'SkyshrineMapsLowerMaze.jpg',
 +
        maxX: 0,
 +
        maxY: 3200,
 +
        minX: -2200,
 +
        minY: 1200,
 +
        interval: 200,
 +
        width: 600,
 +
        zeroX: 12,
 +
        zeroY: 859,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
      },
 +
      4: {
 +
        height: 535,
 +
        image: 'SkyshrineMapsUpperMaze.jpg',
 +
        maxX: 0,
 +
        maxY: 3200,
 +
        minX: -2200,
 +
        minY: 1200,
 +
        interval: 200,
 +
        width: 600,
 +
        zeroX: 12,
 +
        zeroY: 859,
 +
        zoomX: 0.264,
 +
        zoomY: 0.264
 +
       },
 +
      5: {
 +
        height: 554,
 +
        image: 'SkyshrineMapsTower1F.jpg',
 +
        maxX: 1400,
 +
        maxY: 1200,
 +
        minX: 0,
 +
        minY: -200,
 +
        interval: 200,
 +
        width: 600,
 +
        zeroX: 578,
 +
        zeroY: 414,
 +
        zoomX: 0.363,
 +
        zoomY: 0.364
 +
       },
 +
      6: {
 +
        height: 554,
 +
        image: 'SkyshrineMapsTower2F.jpg',
 +
        maxX: 1400,
 +
        maxY: 1200,
 +
        minX: 0,
 +
        minY: -200,
 +
        interval: 200,
 +
        width: 600,
 +
        zeroX: 578,
 +
        zeroY: 414,
 +
        zoomX: 0.363,
 +
        zoomY: 0.364
 +
      },
 +
      7: {
 +
        height: 554,
 +
        image: 'SkyshrineMapsTower3F.jpg',
 +
        maxX: 1400,
 +
        maxY: 1200,
 +
        minX: 0,
 +
        minY: -200,
 +
        interval: 200,
 +
        width: 600,
 +
        zeroX: 578,
 +
        zeroY: 414,
 +
        zoomX: 0.363,
 +
        zoomY: 0.364
 +
      },
  
  var getZoneName = function() {
+
      8: {
    return $('b:contains("Zone:")').parent().text().split('Zone:')[1].trim();
+
        height: 760,
   };
+
        image: 'SkyshrineMapsYelinaksLair.jpg',
 
+
        maxX: 2800,
   var handleLocBoxes = function() {
+
        maxY: 3200,
     // Get the mob's loc(s)
+
        minX: 1000,
     var $locTd = $('b:contains("Location:")').parent();
+
        minY: 800,
     var locs = getLocs($locTd.text());
+
        interval: 200,
     if (locs.length <= 1) return; // No loc box to hook up
+
        width: 600,
 
+
        zeroX: 908,
     var nonLocParts = locs[locs.length - 1];
+
        zeroY: 1047,
     locs = locs.slice(0, locs.length - 1);
+
        zoomX: 0.322,
 
+
        zoomY: 0.322
     // Find the zone name
+
      }
     var zoneName = getZoneName();
+
    }
     // Do we have data for that zone's map?
+
   },
     var zoneData = getZoneData(zoneName, locs, nonLocParts);
+
  'Sleepers Tomb': 'Sleeper\'s Tomb',
     if (!zoneData) return;  // If not, stop here
+
   'Sleeper\'s Tomb': {
 
+
     height: 431,
     // Add the mouseover link
+
    image: 'Map_sleepers_tomb.jpg',
     var $link = $(' <a href="#">(Map)</a>');
+
     maxX: 2000,
 
+
    maxY: 500,
     // When it's moused-over, show the map
+
    minX: -2500,
     $link
+
    minY: -3000,
     .on('mouseover', function(e) {
+
    interval: 500,
       this.$map = showMapWithLocs('small', zoneData, locs, $locTd);
+
    width: 539,
    })
+
    zeroX: 249,
    .on('mouseleave', function(e) {
+
    zeroY: 11.4,
       this.$map.remove();
+
    zoomX: 0.14,
       return false;
+
    zoomY: 0.14
    })
+
  },
    .on('click', function(e) {
+
  'Sol A': "Solusek's Eye",
      showMapWithLocs('full', zoneData, locs);
+
  "Solusek's Eye": {
     });
+
    height: 600,
 
+
    image: 'Solusekseye.jpg',
     // $locTd.find('b').html($('<span>Location </span>').append($link).append('<span>:</span>'));
+
     maxX: -300,
     $locTd
+
    maxY: 100,
      .find('b')
+
    minX: -1200,
       .html($('<span>Location </span>')
+
    minY: -1000,
       .append($link)
+
    interval: 100,
       .append('<span>:</span>'));
+
    width: 495,
   };
+
    zeroX: -134.5,
 
+
     zeroY: 45,
 
+
    zoomX: 0.4905,
   try {
+
    zoomY: 0.4905
     handleLocLinks();
+
  },
     handleLocBoxes();
+
  'South Felwithe': 'Southern Felwithe',
   } catch (err) {/* Didn't work, move on */}
+
  'South Kaladim': {
 
+
     height: 341,
 
+
    image: 'Skaladim.jpg',
  // Define two helper functions for building new zone definitions
+
    interval: 100,
 
+
    maxX: 600,
  // 1) Use this function to find the correct 0,0 point
+
    maxY: 500,
   window.testZero = window.testZeroZero = function(zoneData) {
+
    minX: -500,
     $('.map-wrapper').remove(); // test functions don't clean up properly
+
     minY: -200,
     var locs = [{ x: 0, y: 0 }];
+
    width: 550,
     showMapWithLocs('full', zoneData, locs);
+
    zeroX: 291,
  };
+
    zeroY: 238,
 
+
    zoomX: 0.51,
 
+
    zoomY: 0.52
   // 2) Use this function to generate a grid of alignment of X's
+
  },
   window.testGrid = function(zoneData) {
+
  'South Karana' : 'Southern Karana',
     $('.map-wrapper').remove(); // test functions don't clean up properly
+
  'South Qeynos': {
     var $locTd = $('b:contains("Location:")').parent();
+
    height: 426,
     var locs = [];
+
    image: 'Zone_sqeynos.jpg',
     for (var x = zoneData.maxX; x >= zoneData.minX; x -= zoneData.interval) {
+
    interval: 200,
       for (var y = zoneData.maxY; y >= zoneData.minY; y -= zoneData.interval) {
+
    maxX: 200,
         locs.push({ x: x, y: y });
+
    maxY: 600,
 +
    minX: -600,
 +
    minY: -400,
 +
     width: 423,
 +
     zeroX: 107,
 +
     zeroY: 259,
 +
    zoomX: .395,
 +
    zoomY: .39,
 +
  },
 +
  'Southern Desert of Ro': {
 +
     height: 549,
 +
    image: 'Zone_southro.jpg',
 +
     interval: 1000,
 +
    maxX: 2000,
 +
     maxY: 2000,
 +
     minX: -1000,
 +
    minY: -4000,
 +
    width: 315,
 +
    zeroX: 179,
 +
    zeroY: 178,
 +
    zoomX: 0.1,
 +
    zoomY: 0.1
 +
  },
 +
  'Southern Felwithe': {
 +
    height: 377,
 +
     image: 'Sfelwithe.jpg',
 +
    interval: 100,
 +
    maxX: -300,
 +
     maxY: 800,
 +
     minX: -900,
 +
    minY: 200,
 +
    width: 400,
 +
    zeroX:-153,
 +
    zeroY: 465,
 +
    zoomX: 0.576,
 +
    zoomY: 0.578
 +
  },
 +
  'Southern Plains of Karana':  'Southern Karana',
 +
  'Southern Karana': {
 +
       height: 548,
 +
      image: 'Zone_southkarana.jpg',  
 +
      maxX: 3000,
 +
      maxY: 2000,
 +
      minX: -4000,
 +
      minY: -8000,
 +
      interval: 1000,
 +
      width: 385,
 +
      zeroX: 177,
 +
      zeroY: 132,
 +
      zoomX: 0.049,
 +
      zoomY: 0.049
 +
  }, 
 +
  'Splitpaw': 'Splitpaw Lair',
 +
  'Splitpaw Lair': {
 +
       height: 680,
 +
      image: 'Splitpaw_Map.png',
 +
      maxX: 200,
 +
      maxY: 1400,
 +
      minX: -400,
 +
      minY: -100,
 +
      interval: 200,
 +
      width: 337,
 +
      zeroX: 131,
 +
      zeroY: 604,
 +
      zoomX: 0.4,
 +
       zoomY: 0.402
 +
  },
 +
  'Steamfont': 'Steamfont Mountains',
 +
  'Steamfont Mountains': {
 +
    image: 'Steamfont.jpg',
 +
    height: 472,
 +
     width: 495,
 +
    zeroX: 245.5,
 +
     zeroY: 220,
 +
    interval: 1000,
 +
    maxX: 2000,
 +
    maxY: 2000,
 +
    minX: -2000,
 +
    minY: -2000,
 +
    zoomX: 0.1065,
 +
    zoomY: 0.1065
 +
  },
 +
  'Stonebrunt Mountains': {
 +
    height: 619,
 +
    image: 'Map_stonebrunt_mountains.jpg',
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 5000,
 +
    minX: 4000,
 +
    minY: 6000,
 +
    width: 529,
 +
    zeroX: 253.3,
 +
    zeroY: 285.5,
 +
    zoomX: 0.0578,
 +
    zoomY: 0.0576
 +
  },
 +
  'Surefall Glade': {
 +
    height: 539,
 +
    image: 'Surefallglade.jpg',
 +
    interval: 200,
 +
    maxX: 400,
 +
    maxY: 1000,
 +
    minX: 800,
 +
    minY: 800,
 +
    width: 330,
 +
    zeroX: 97,
 +
    zeroY: 306,
 +
    zoomX: 0.323,
 +
    zoomY: 0.32
 +
  },
 +
  'Swamp of No Hope': {
 +
    height: 624,
 +
    image: 'Map_swampofnohope.jpg',
 +
     width: 550,
 +
    zeroX: 250,
 +
    zeroY: 342,
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 6000,
 +
    minX: -5000,
 +
    minY: -5000,
 +
    zoomX: 0.0578,
 +
    zoomY: 0.0578
 +
  },
 +
  'Temple of Droga': {
 +
    alternateMaps: [{
 +
       height: 406,
 +
      image: 'Map_templedrogainner.jpg',
 +
       interval: 200,
 +
      maxX: 2300,
 +
      maxY: 800,
 +
      minX: 800,
 +
      minY: -600,
 +
      width: 430,
 +
      zeroX: 627,
 +
      zeroY: 232,
 +
      zoomX: 0.26,
 +
       zoomY: 0.261
 +
    }],
 +
    height: 605,
 +
    image: 'Map_droga.jpg',
 +
    interval: 200,
 +
    maxX: 1100,
 +
    maxY: 1500,
 +
    minX: -1600,
 +
    minY: -1400,
 +
    width: 550,
 +
    zeroX: 255,
 +
    zeroY: 325,
 +
    zoomX: 0.20,
 +
    zoomY: 0.20
 +
   },
 +
  'Temple of Solusek Ro': 'The Temple of Solusek Ro',
 +
  'Temple of Veeshan': {
 +
      height: 955,
 +
      image: 'Map_tov.png',
 +
      width: 769,
 +
      zeroX: 299,
 +
      zeroY: 477,
 +
      interval: 500,
 +
      maxX: 1500,
 +
      maxY: 2500,
 +
      minX: -2500,
 +
      minY: -2500,
 +
      zoomX: 0.182,
 +
      zoomY: 0.184
 +
   },
 +
  'The Estate of Unrest': 'Estate of Unrest',
 +
  'The Feerrott': {
 +
     height: 417,
 +
     image: 'Map_feerrott.jpg',
 +
    interval: 500,
 +
    maxX: 3000,
 +
    maxY: 1500,
 +
    minX: -3000,
 +
    minY: -2000,
 +
    width: 700,
 +
    zeroX: 349,
 +
    zeroY: 180,
 +
    zoomX: 0.1005,
 +
    zoomY: 0.1005
 +
   },
 +
  'The Hole': {
 +
    height: 465,
 +
    image: 'Map_thehole.jpg',
 +
    interval: 200,
 +
    maxX: 1200,
 +
    maxY: 1200,
 +
    minX: 1200,
 +
    minY: 600,
 +
    width: 600,
 +
    zeroX: 292,
 +
    zeroY: 292,
 +
    zoomX: 0.261,
 +
    zoomY: 0.261
 +
   },
 +
  'The Overthere': {
 +
    height: 644,
 +
    image: 'Map_overthere.jpg',
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 4000,
 +
    minX: 4000,
 +
    minY: 4000,
 +
    width: 600,
 +
    zeroX: 284.5,
 +
    zeroY: 318,
 +
    zoomX: 0.0628,
 +
    zoomY: 0.0628
 +
  },
 +
  'The Temple of Solusek Ro': {
 +
     levels:{
 +
      1: {
 +
        height: 431,
 +
        image: 'Templesro1.jpg',
 +
        interval: 100,
 +
        maxX: 100,
 +
        maxY: 600,
 +
        minX: -100,
 +
        minY: 200,
 +
        width: 300,
 +
        zeroX: 146,
 +
        zeroY: 662,
 +
        zoomX: 1.05,
 +
        zoomY: 1.05
 +
      },
 +
      2: {
 +
        height: 336,
 +
        image: 'Templesro2.jpg',
 +
        interval: 100,
 +
        maxX: 100,
 +
        maxY: 600,
 +
        minX: -100,
 +
        minY: 300,
 +
        width: 300,
 +
        zeroX: 146,
 +
        zeroY: 593,
 +
        zoomX: 1.045,
 +
        zoomY: 1.03
 +
      },
 +
     }
 +
  },
 +
  'The Wakening Land': {
 +
    height: 424,
 +
    image: 'Map_wakening_lands.jpg',
 +
    interval: 1000,
 +
    maxX: 5000,
 +
    maxY: 3000,
 +
    minX: -5000,
 +
    minY: -4000,
 +
    width: 550,
 +
    zeroX: 257.5,
 +
    zeroY: 172,
 +
    zoomX: 0.05,
 +
    zoomY: 0.05
 +
  },
 +
  'The Wakening Lands': 'The Wakening Land',
 +
  'The Warrens': {
 +
     height: 314,
 +
    image: 'Warrens.jpg',
 +
    interval: 200,
 +
    maxX: 1200,
 +
    maxY: 1200,
 +
    minX: 1200,
 +
    minY: 400,
 +
    width: 550,
 +
    zeroX: 263.9,
 +
    zeroY: 222.5,
 +
    zoomX: 0.2185,
 +
    zoomY: 0.22
 +
   },
 +
   'Thurgadin': {
 +
     height: 557,
 +
    image: 'Map_thurgadin.jpg',
 +
    interval:200,
 +
    maxX: 800,
 +
    maxY: 200,
 +
    minX: -600,
 +
    minY: -1200,
 +
    width: 550,
 +
    zeroX: 300.5,
 +
     zeroY: 104,
 +
    zoomX: 0.343,
 +
    zoomY: 0.344
 +
  },
 +
  'Timorous Deep': {
 +
    height: 738,
 +
    image: 'Map_timdeep.jpg',
 +
     interval: 1000,
 +
     maxX: 4000,
 +
    maxY: 9000,
 +
    minX: -7000,
 +
    minY: -13000,
 +
    width: 400,
 +
    zeroX: 152.5,
 +
    zeroY: 313,
 +
    zoomX: 0.0313,
 +
    zoomY: 0.0313
 +
  },
 +
  'Tower of Frozen Shadow': {
 +
    levels: {
 +
       1: {
 +
        height: 639,
 +
        image: 'Map_tower_of_frozen_shadow_1.jpg',
 +
        maxX: 500,
 +
        maxY: 500,
 +
        minX: 0,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 549,
 +
        zeroX: 478,
 +
        zeroY: 598,
 +
        zoomX: 0.395,
 +
        zoomY: 0.392
 +
      },
 +
      2: {
 +
        height: 639,
 +
        image: 'Map_tower_of_frozen_shadow_1.jpg',
 +
        maxX: 750,
 +
        maxY: 750,
 +
        minX: 0,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 549,
 +
        zeroX: 381,
 +
        zeroY: 598,
 +
        zoomX: 0.395,
 +
        zoomY: 0.394
 +
      },
 +
      3: {
 +
        height: 639,
 +
        image: 'Map_tower_of_frozen_shadow_1.jpg',
 +
        maxX: 1000,
 +
        maxY: 1250,
 +
        minX: 250,
 +
        minY: 500,
 +
        interval: 250,
 +
        width: 549,
 +
        zeroX: 387,
 +
        zeroY: 509,
 +
        zoomX: 0.395,
 +
        zoomY: 0.394
 +
      },
 +
      4: {
 +
        height: 639,
 +
        image: 'Map_tower_of_frozen_shadow_1.jpg',
 +
        maxX: 500,
 +
        maxY: 1250,
 +
        minX: -100,
 +
        minY: 750,
 +
        interval: 250,
 +
        width: 549,
 +
        zeroX: 485,
 +
        zeroY: 506,
 +
        zoomX: 0.392,
 +
        zoomY: 0.392
 +
      },
 +
      5: {
 +
        height: 682,
 +
        image: 'Map_tower_of_frozen_shadow_2.jpg',
 +
        maxX: 0,
 +
        maxY: 750,
 +
        minX: -250,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 566,
 +
        zeroX: 371,
 +
        zeroY: 682,
 +
        zoomX: 0.395,
 +
        zoomY: 0.395
 +
      },
 +
      '6A': {
 +
         height: 682,
 +
        image: 'Map_tower_of_frozen_shadow_2.jpg',
 +
        maxX: 0,
 +
        maxY: 1500,
 +
        minX: -750,
 +
        minY: 500,
 +
        interval: 250,
 +
        width: 566,
 +
        zeroX: -25,
 +
        zeroY: 882,
 +
        zoomX: 0.395,
 +
        zoomY: 0.394
 +
      },
 +
      '6B': {
 +
        height: 682,
 +
        image: 'Map_tower_of_frozen_shadow_2.jpg',
 +
        maxX: 0,
 +
        maxY: 750,
 +
        minX: -750,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 566,
 +
        zeroX: -26,
 +
        zeroY: 290,
 +
        zoomX: 0.395,
 +
        zoomY: 0.395
 +
      },
 +
      7: {
 +
        height: 682,
 +
        image: 'Map_tower_of_frozen_shadow_2.jpg',
 +
        maxX: 250,
 +
        maxY: 1000,
 +
        minX: -250,
 +
        minY: 0,
 +
        interval: 250,
 +
        width: 566,
 +
        zeroX: 468,
 +
        zeroY: 386,
 +
        zoomX: 0.395,
 +
        zoomY: 0.394
 
       }
 
       }
     };
+
     }
     showMapWithLocs('full', zoneData, locs);
+
  },
   };
+
  'Toxxulia Forest': {
 +
     height: 537,
 +
    image: 'Toxxulia.jpg',
 +
    interval: 1000,
 +
    maxX: 3000,
 +
    maxY: 3000,
 +
    minX: 2000,
 +
    minY: 3000,
 +
    width: 441,
 +
    zeroX: 262.3,
 +
    zeroY: 261.5,
 +
    zoomX: 0.0915,
 +
    zoomY: 0.091
 +
   },
 +
  "Trakanon's Teeth":{
 +
    height: 417,
 +
    image: 'Map_trakanonsteeth.jpg',
 +
    maxX: 5000,
 +
    maxY: 4000,
 +
    minX: -5000,
 +
    minY: -3000,
 +
    interval: 1000,
 +
    width: 550,
 +
    zeroX: 264.5,
 +
    zeroY: 216,
 +
    zoomX: 0.0468,
 +
    zoomY: 0.047
 +
  },
 +
  'Unrest': 'Estate of Unrest',
 +
  'Upper Guk': {
 +
    height: 644,
 +
    image: 'Upperguk.jpg',
 +
    interval: 250,
 +
    maxX: 750,
 +
    maxY: 1500,
 +
    minX: 500,
 +
    minY: 0,
 +
    width: 450,
 +
    zeroX: 234,
 +
    zeroY: 564,
 +
    zoomX: 0.324,
 +
    zoomY: 0.323
 +
  },
 +
  'Wakening Land': 'The Wakening Land',
 +
  'Wakening Lands': 'The Wakening Land',
 +
  'Warsliks Woods': {
 +
    image: 'Map_warslikswood.jpg',
 +
    height: 480,
 +
    width: 535,
 +
    zeroX: 286.5,
 +
    zeroY: 252,
 +
    interval: 1000,
 +
    maxX: 4000,
 +
    maxY: 4000,
 +
    minX: -3000,
 +
    minY: -3000,
 +
    zoomX: 0.059,
 +
    zoomY: 0.0589
 +
  },
 +
  'West Cabilis': 'Cabilis West',
 +
  'West Commonlands': {
 +
    height: 284,
 +
    image: 'Zone_westcommons.jpg',
 +
    interval: 1000,
 +
    maxX: 5000,
 +
    maxY: 2000,
 +
    minX: 2000,
 +
    minY: 2000,
 +
    width: 649,
 +
    zeroX: 435.5,
 +
    zeroY: 126.5,
 +
    zoomX: 0.096,
 +
    zoomY: 0.096
 +
  },
 +
  'West Freeport':  'Freeport West',
 +
  'West Karana': 'Western Plains of Karana',
 +
  'Western Karana': 'Western Plains of Karana',
 +
  'Western Plains of Karana': {
 +
    height: 422,
 +
    image: 'Zone_westkarana.jpg',
 +
    interval: 1000,
 +
    maxX: -1000,
 +
    maxY: 1000,
 +
    minX: -16000,
 +
    minY: -4000,
 +
    width: 1058,
 +
    zeroX: -23,
 +
    zeroY: 107,
 +
    zoomX: 0.0638,
 +
    zoomY: 0.0641
 +
  },
 +
  'Western Wastes':{
 +
    height: 594,
 +
    image: 'Westernwastes.jpg',
 +
    interval: 1000,
 +
    maxX: 5000,
 +
    maxY:5000,
 +
    minX: -5000,
 +
    minY:-5000,
 +
    width: 600,
 +
    zeroX:294,
 +
    zeroY:288,
 +
    zoomX: 0.0532,
 +
    zoomY: 0.0533
 +
  }
 +
};
  
})();
+
} catch(err) {
 +
  // Something went wrong; make sure we at least "export" an empty
 +
  // object to minimize further damage
 +
  console.error(err);
 +
  window.zoneData = {};
 +
}

Latest revision as of 19:52, 26 October 2025

try {

window.zoneData = {
  'Akanon': 'Ak\'Anon',
  'Ak\'anon': 'Ak\'Anon',
  'Ak\'Anon': {
    height: 614,
    image: 'Akanon.jpg',
    interval: 250,
    maxX: 250,
    maxY: 2250,
    minX: 1250,
    minY: 250,
    width: 384,
    zeroX: 62,
    zeroY: 567,
    zoomX: 0.25,
    zoomY: 0.25
  },
  'Befallen': {
    levels: {
      1: {
        height: 540,
        image: 'Befallen12.jpg',
        maxX: 200,
        maxY: 0,
        minX: -300,
        minY: -700,
        interval: 100,
        width: 476,
        zeroX: 201,
        zeroY: -21,
        zoomX: 0.85,
        zoomY: 0.85
      },
      3: {
        height: 540,
        image: 'Befallen3.jpg',
        maxX: 200,
        maxY: -300,
        minX: -300,
        minY: -1000,
        interval: 100,
        width: 476,
        zeroX: 205,
        zeroY: -233,
        zoomX: 0.98,
        zoomY: 0.745
      }
    }
  },
  'Beholder\'s Maze': 'Gorge of King Xorbb',
  'Blackburrow': {
   levels:{
      1: {
        height: 406,
        image: 'Zone_blackburrow1.jpg',
        interval: 150,
        maxX: 300,
        maxY: 300,
        minX: -400,
        minY: -300,
        width: 550,
        zeroX: 301,
        zeroY: 241,
        zoomX: 0.549,
        zoomY: 0.549
      },
      2: {
        height: 408,
        image: 'Zone_blackburrow2.jpg',
        interval: 150,
        maxX: 300,
        maxY: 300,
        minX: -450,
        minY: -300,
        width: 550,
        zeroX: 301,
        zeroY: 241,
        zoomX: 0.549,
        zoomY: 0.549
      },
      3: {
        height: 414,
        image: 'Zone_blackburrow3.jpg',
        interval: 150,
        maxX: 450,
        maxY: 300,
        minX: -400,
        minY: -300,
        width: 550,
        zeroX: 298,
        zeroY: 243,
        zoomX: 0.558,
        zoomY: 0.549
      },
    }
  },
  'Burning Wood': 'Burning Woods',
  'Burning Woods': {
    height: 599,
    image: 'Map_burningwood.jpg',
    interval: 1000,
    maxX: 3000,
    maxY: 7000,
    minX: -5000,
    minY: -5000,
    width: 428,
    zeroX: 175.5,
    zeroY: 347,
    zoomX: 0.04795,
    zoomY: 0.0474
  },
  'Butcherblock Mountains': {
    height: 480,
    image: 'Butcherblock-v3.jpg',
    interval: 1000,
    maxX: 3000,
    maxY: 3000,
    minX: 3000,
    minY: 3000,
    width: 500,
    zeroX: 251,
    zeroY: 240,
    zoomX: 0.073,
    zoomY: 0.0727
  },
  'Cabilis East': {
    height: 676,
    image: 'Map_ecabilis.jpg',
    interval: 200,
    maxX: 200,
    maxY: 1200,
    minX: -600,
    minY: -800,
    width: 342,
    zeroX: 111.5,
    zeroY: 410,
    zoomX: 0.313,
    zoomY: 0.313
  },
  'Cabilis West': {
    height: 629,
    image: 'Map_wcabilis.jpg',
    interval: 200,
    maxX: 1200,
    maxY: 800,
    minX: 200,
    minY: -1000,
    width: 400,
    zeroX: 439,
    zeroY: 281,
    zoomX: 0.321,
    zoomY: 0.319
  },
  'Charasis': 'Howling Stones',
  'Chardok': {
    height: 540,
    image: 'Map_chardok.jpg',
    width: 678,
    zeroX: 441,
    zeroY: 178,
    interval: 100,
    maxX: 1400,
    maxY: 600,
    minX: -600,
    minY: -1100,
    zoomX: 0.2999,
    zoomY: 0.3
  },
  'City of Mist': {
    height: 452,
    image: 'Map_citymist.jpg',
    interval: 250,
    maxX: 500,
    maxY: 500,
    minX: -1000,
    minY: -500,
    width: 600,
    zeroX: 220,
    zeroY: 116,
    zoomX: 0.395,
    zoomY: 0.295
  },
  'Clan Runnyeye': {
    levels: {
      1: {
        height: 488,
        width: 431,
        image: 'Runnyeye1.jpg',
        zeroX: 204,
        zeroY: 347,
        interval: 100,
        maxX: 200,
        maxY: 400,
        minX: -200,
        minY: -100,
        zoomX: 0.85,
        zoomY: 0.85
      },
      2: {
        height: 594,
        width: 493,
        image: 'Runnyeye2.jpg',
        zeroX: 198.5,
        zeroY: 340,
        interval: 100,
        maxX: 200,
        maxY: 400,
        minX: -300,
        minY: -200,
        zoomX: 0.86,
        zoomY: 0.86
      },
      3: {
        height: 609,
        width: 415,
        image: 'Runnyeye3.jpg',
        zeroX: 207,
        zeroY: 359,
        interval: 100,
        maxX: 200,
        maxY: 400,
        minX: -200,
        minY: -200,
        zoomX: 0.86,
        zoomY: 0.85
      },
      4: {
        height: 569,
        width: 462,
        image: 'Runnyeye4.jpg',
        zeroX: 187.5,
        zeroY: 287,
        interval: 100,
        maxX: 200,
        maxY: 300,
        minX: -300,
        minY: -200,
        zoomX: 0.863,
        zoomY: 0.86
      },
    }
  },
  'Cobalt Scar': {
    height: 431,
    image: 'Map_cobalt_scar.jpg',
    interval: 500,
    maxX: 2000,
    maxY: 1500,
    minX: -2000,
    minY: -1500,
    width: 550,
    zeroX: 262,
    zeroY: 220,
    zoomX: 0.1195,
    zoomY: 0.1195
  },
  'Crushbone': {
    image: 'Crushbone.jpg',
    height: 394,
    width: 450,
    zeroX: 304.5,
    zeroY: 142,
    interval: 200,
    maxX: 800,
    maxY: 400,
    minX: -400,
    minY: -600,
    zoomX: 0.329,
    zoomY: 0.328
  },
  'Crypt of Dalnir': {
    levels: {
      1: {
        height: 332,
        image: 'Map_dalnir1.jpg', 
        interval: 100,
        maxX: 100,
        maxY: 300,
        minX: -800,
        minY: -100,
        width: 582,
        zeroX: 72,
        zeroY: 198,
        zoomX: 0.59,
        zoomY: 0.61
      },
      2: {
        height: 493,
        image: 'Map_dalnir2.jpg', 
        interval: 100,
        maxX: -700,
        maxY: 300,
        minX: -1000,
        minY: 0,
        width: 462,
        zeroX: -693,
        zeroY: 375,
        zoomX: 1.072,
        zoomY: 1.07
      },
      3: {
        height: 471,
        image: 'Map_dalnir3.jpg', 
        interval: 100,
        maxX: 0,
        maxY: 400,
        minX: -800,
        minY: -300,
        width: 531,
        zeroX: 44,
        zeroY: 253,
        zoomX: 0.55,
        zoomY: 0.55
      },
    },
  },
  'Crystal Caverns': {
    levels:{
      0: {
        height: 490,
        image: 'Map_crystal_caverns3.jpg',
        interval: 50,
        maxX: 500,
        maxY: 0,
        minX: 150,
        minY: -450,
        width: 440,
        zeroX: 554,
        zeroY: 25,
        zoomX: 1.02,
        zoomY: 1.02
      },
      1: {
        height: 474,
        image: 'Map_crystal_caverns1.jpg',
        interval: 200,
        maxX: 1000,
        maxY: 1000,
        minX: -1000,
        minY: -800,
        width: 550,
        zeroX: 273,
        zeroY: 266,
        zoomX: 0.258,
        zoomY: 0.258
      },
      2: {
        height: 693,
        image: 'Map_crystal_caverns2.jpg',
        interval: 100,
        maxX: 900,
        maxY: 1000,
        minX: 200,
        minY: 200,
        width: 491,
        zeroX: 563,
        zeroY: 793,
        zoomX: 0.58,
        zoomY: 0.58
      },
      3: {
        height: 693,
        image: 'Map_crystal_caverns2.jpg',
        interval: 100,
        maxX: 1000,
        maxY: 700,
        minX: 200,
        minY: 300,
        width: 491,
        zeroX: 561,
        zeroY: 387.5,
        zoomX: 0.58,
        zoomY: 0.58
      }
    }
  },
  'Dagnor\'s Cauldron': {
    height: 518,
    image: 'Dagnor.jpg',
    width: 383,
    interval: 1000,
    maxX: 1000,
    maxY: 3000,
    minX: -3000,
    minY: -2000,
    zeroX: 108,
    zeroY: 300,
    zoomX: 0.0975,
    zoomY: 0.0975
  },
  'Dalnir': 'Crypt of Dalnir',
  'Dragon Necropolis': {
    levels:{
      0: {
        height: 729,
        image: 'Map_dragon_necropolis1.jpg',
        maxX: 1500,
        maxY: 2000,
        minX: -3000,
        minY: -500,
        interval: 500,
        width: 590,
        zeroX: 252.9,
        zeroY: 620,
        zoomX: 0.104,
        zoomY: 0.13
      },
      1: {
        height: 729,
        image: 'Map_dragon_necropolis1.jpg',
        maxX: 2500,
        maxY: 2000,
        minX: -3000,
        minY: -500,
        interval: 500,
        width: 590,
        zeroX: 252.9,
        zeroY: 260,
        zoomX: 0.104,
        zoomY: 0.13
      }
    }
  },
  'Dreadlands': {
    alternateMaps: [
      {
        height: 215,
        image: 'Map_dreadlandsvalley.jpg',
        interval: 1000,
        maxX: 11000,
        maxY: 4000,
        minX: 5000,
        minY: -1000,
        width: 258,
        zeroX: 475,
        zeroY: 175,
        zoomX: .0445,
        zoomY: .0452
      }
    ],
    height: 328,
    image: 'Map_dreadlands.jpg',
    interval: 1000,
    maxX: 6000,
    maxY: 4000,
    minX: -6000,
    minY: -3000,
    width: 591,
    zeroX: 276,
    zeroY: 174,
    zoomX: .0472,
    zoomY: .0471
  },
  'East Cabilis': 'Cabilis East',
  'East Freeport': 'Freeport East',
  'East Commonlands': {
    height: 279,
    image: 'Map_eastcommons.jpg',
    interval: 1000,
    maxX: 5000,
    maxY: 2000,
    minX: 2000,
    minY: 2000,
    width: 642,
    zeroX: 469.3,
    zeroY: 133,
    zoomX: 0.0887,
    zoomY: 0.0887
  },
  'Emerald Jungle': {
    height: 502,
    image: 'Map_emeraldjungle.jpg',
    interval: 1000,
    maxX: 6000,
    maxY: 5000,
    minX: -4000,
    minY: -4000,
    width: 551,
    zeroX: 323,
    zeroY: 278,
    zoomX: 0.0575,
    zoomY: 0.0575
  },
  'East Karana':  'Eastern Plains of Karana',
  'Eastern Karana':  'Eastern Plains of Karana',
  'Eastern Plains of Karana': {
    height: 554,
    image: 'Map_ekarana.jpg',
    interval: 1000,
    maxX: 2000,
    maxY: 2000,
    minX: 4000,
    minY: 5000,
    width: 450,
    zeroX: 119.5,
    zeroY: 193,
    zoomX: 0.0793,
    zoomY: 0.0788
  },
  'Eastern Wastes': {
    height: 452,
    image: 'Map_eastern_wastes.jpg',
    interval: 1000,
    maxX: 7000,
    maxY: 1000,
    minX: 6000,
    minY: 9000,
    width: 550,
    zeroX: 284,
    zeroY: 62,
    zoomX: 0.038,
    zoomY: 0.038
  },
  'Erudin': {
    alternateMaps: [
      {
        height: 564,
        image: 'Erudindocks.jpg',
        interval: 100,
        maxX: 200,
        maxY: 300,
        minX: -400,
        minY: -400,
        width: 450,
        zeroX: 122,
        zeroY: 223,
        zoomX: 0.731,
        zoomY: 0.731
      }
    ],
    height: 663,
    image: 'Erudin.jpg',
    interval: 100,
    maxX: 0,
    maxY: -600,
    minX: -500,
    minY: -1500,
    width: 370,
    zeroX: 29,
    zeroY: -336,
    zoomX: 0.63,
    zoomY: 0.624
  },
  'Erudin Palace': {
    levels: {
      0: {
        height: 271,
        image: 'Erudinpalace_0.png',
        interval: 100,
        maxX: 900,
        maxY: 900,
        minX: 500,
        minY: 500,
        width: 279,
        zeroX: 544,
        zeroY: 529,
        zoomX: 0.585,
        zoomY: 0.585
      },
      1: {
        height: 261,
        image: 'Erudinpalace_1.png',
        interval: 100,
        maxX: 800,
        maxY: 900,
        minX: 500,
        minY: 500,
        width: 225,
        zeroX: 505,
        zeroY: 530,
        zoomX: 0.585,
        zoomY: 0.585
      }
    }
  },
  'Erud\'s Crossing': {
    height: 452,
    image: 'Map_erudsxing.jpg',
    maxX: 2000,
    maxY: -600,
    minX: 600,
    minY: -2000,
    interval: 200,
    width: 550,
    zeroX: 669.5,
    zeroY: -122,
    zoomX: 0.307,
    zoomY: 0.2725
  },
  'Estate of Unrest': {
    levels: {
      0: {
        height: 401,
        image: 'Unrestmanor.jpg',
        interval: 200,
        maxX:200,
        maxY: 800,
        minX: -200,
        minY: 400,
        width: 400,
        zeroX: 293,
        zeroY: 585,
        zoomX: 0.49,
        zoomY: 0.49,
      },
      1: {
        image: 'Unrest.jpg',
        height: 537,
        width: 400,
        zeroX: 192,
        zeroY: 484,
        interval: 200,
        maxX: 200,
        maxY: 800,
        minX: -200,
        minY: 0,
        zoomX: 0.52,
        zoomY: 0.52
    },
    2: {
      height: 401,
      image: 'Unrestmanor.jpg',
      interval: 200,
      maxX:100,
      maxY: 700,
      minX: -100,
      minY: 500,
      width: 400,
      zeroX: 97,
      zeroY: 680,
      zoomX: 0.975,
      zoomY: 0.975,
    },
    3: {
      height: 401,
      image: 'Unrestmanor.jpg',
      interval: 200,
      maxX:100,
      maxY: 700,
      minX: -100,
      minY: 500,
      width: 400,
      zeroX: 293,
      zeroY: 680,
      zoomX: 0.975,
      zoomY: 0.975
    },
    4: {
      height: 401,
      image: 'Unrestmanor.jpg',
      interval: 200,
      maxX:100,
      maxY: 700,
      minX: -100,
      minY: 500,
      width: 400,
      zeroX: 97,
      zeroY: 873,
      zoomX: 0.975,
      zoomY: 0.975,
    }
   }
  },
  'Everfrost Peaks': {
    alternateMaps: [
      {
        height: 404,
        image: 'Map_everfrostcaves.jpg',
        maxX: -3000,
        maxY: 5500,
        minX: -5500,
        minY: 3000,
        interval: 500,
        width: 400,
        zeroX: -359,
        zeroY: 780,
        zoomX: 0.1356,
        zoomY: 0.136
      }
    ],
    height: 425,
    image: 'Map_everfrost.jpg',
    maxX: 2000,
    maxY: 4000,
    minX: -8000,
    minY: -3000,
    interval: 1000,
    width: 550,
    zeroX: 101.5,
    zeroY: 230,
    zoomX: 0.0565,
    zoomY: 0.0566
  },
  'Feerrott': 'The Feerrott',
  'Field of Bone': {
    height: 586,
    image: 'Map_fieldofbone.jpg',
    interval: 1000,
    maxX: 4000,
    maxY: 3000,
    minX: -1000,
    minY: -3000,
    width: 488,
    zeroX: 353,
    zeroY: 278,
    zoomX: 0.0773,
    zoomY: 0.0771
  },
  'Firiona Vie': {
    alternateMaps:[{
      height: 539,
      image: 'Map_firionaviedocks.jpg',
      interval: 500,
      maxX: 3500,
      maxY: -2000,
      minX: 1000,
      minY: -4500,
      width: 550,
      zeroX: 714,
      zeroY: -380,
      zoomX: 0.194,
      zoomY: 0.194
    }],
    height: 555,
    image: 'Map_firionavie.jpg',
    interval: 1000,
    maxX: 6000,
    maxY: 5000,
    minX: 4000,
    minY: 5000,
    width: 540,
    zeroX: 324,
    zeroY: 282,
    zoomX: 0.053,
    zoomY: 0.0525
  },
  'Freeport East': {
    levels: {
      0: {
        image: 'FreeportEast-Basement-Grid.jpg',
        height: 366,
        width: 800,
        zeroX: 251,
        zeroY: 57,
        interval: 500,
        maxX: 500,
        maxY: 0,
        minX: -1000,
        minY: -500,
        zoomX: 0.418,
        zoomY: 0.418
      },
      1 :{
        image: 'FreeportEast-Grid.jpg',
        height: 847,
        width: 1055,
        zeroX: 226,
        zeroY: 303,
        interval: 500,
        maxX: 500,
        maxY: 1000,
        minX: -3000,
        minY: -2500,
        zoomX: 0.25,
        zoomY: 0.25
      }
    }
  },
  'Freeport North': {
    image: 'FreeportNorth-Grid.jpg',
    height: 601,
    width: 683,
    zeroX: 376,
    zeroY: 283,
    interval: 200,
    maxX: 800,
    maxY: 600,   
    minX: -600,
    minY: -600,
    zoomX: 0.39,
    zoomY: 0.39
  },
  'Frontier Mountains': {
      height: 549,
      image: 'Map_frontiermtns.jpg', 
      maxX: 4000,
      maxY: 4000,
      minX: -3000,
      minY: -4000,
      interval: 1000,
      width: 532,
      zeroX: 271.5,
      zeroY: 284,
      zoomX: 0.0578,
      zoomY: 0.0577
  },
  'Freeport West': {
    image: 'Freeport_west_grid.png',
    height: 690,
    width: 845,
    zeroX: 385,
    zeroY: 439,
    interval: 200,
    maxX: 1400,
    maxY: 1600,
    minX: -1600,
    minY: -800,
    zoomX: 0.25,
    zoomY: 0.25
  },
  'Gorge of King Xorbb': {
    height: 357,
    image: 'Map_gxorbb.jpg',
    maxX: 1000,
    maxY: 1500,
    minX: -2000,
    minY: -1500,
    interval: 500,
    width: 400,
    zeroX: 112.5,
    zeroY: 173.5,
    zoomX: 0.12545,
    zoomY: 0.12545
  },
  'Great Divide': {
    height: 528,
    image: 'Map_great_divide.jpg',
    width: 550,
    zeroX: 262,
    zeroY: 41,
    interval: 1000,
    maxX: 5000,
    maxY: 1000,
    minX: -5000,
    minY: -9000,
    zoomX: 0.0535,
    zoomY: 0.053
  },
  'Greater Faydark': {
    alternateMaps: [
      {
        height: 519,
        image: 'Kelethin.jpg',
        interval: 200,
        maxX: 1000,
        minX: -700,
        maxY: 1200,
        minY: -800,
        width: 442,
        zeroX: 237,
        zeroY: 312,
        zoomX: 0.264,
        zoomY: 0.264
      }
    ],
    height: 532,
    image: 'Greaterfaydark.jpg',
    interval: 1000,
    maxX: 3000,
    maxY: 2000,
    minX: 3000,
    minY: 2000,
    width: 550,
    zeroX: 269,
    zeroY: 255,
    zoomX: .089,
    zoomY: .089
  },
  'Grobb': {
    height: 456,
    image: 'Grobb.jpg',
    interval: 200,
    maxX: 200,
    maxY: 600,
    minX: 800,
    minY: 200,
    width: 550,
    zeroX: 109,
    zeroY: 341,
    zoomX: 0.442,
    zoomY: 0.439
  },
  'Halas': {
    height:434,
    image: 'Zone_halas.jpg',
    interval: 200,
    maxX: 400,
    maxY: 600,
    minX: -600,
    minY: 0,
    width: 550,
    zeroX: 252.5,
    zeroY: 343,
    zoomX: 0.458,
    zoomY: 0.46
  },
  'Highhold': 'Highpass Hold',
  'High Keep': 'Highpass Keep',
  'Highpass Keep': {
    levels: {
      0: {
        height: 293,
        image: 'Highkeepbasement.png',
        interval: 100,
        maxX: 0,
        maxY: 200,
        minX: -600,
        minY: -100,
        width: 500,
        zeroX: 26,
        zeroY: 169,
        zoomX: 0.728,
        zoomY: 0.724
      },
      1: {
        height: 294,
        image: 'Highkeepfirstlevel.png',
        interval: 100,
        maxX: 100,
        maxY: 200,
        minX: -500,
        minY: -100,
        width: 500,
        zeroX: 96,
        zeroY: 169,
        zoomX: 0.728,
        zoomY: 0.724
      },
      2: {
        height: 235,
        image: 'Highkeepseocondlevel.png',
        interval: 100,
        maxX: -200,
        maxY: 100,
        minX: -400,
        minY: -100,
        width: 247,
        zeroX: -120,
        zeroY: 97,
        zoomX: 0.836,
        zoomY: 0.88
      },
      4: {
        height: 305,
        image: 'Highkeepfourthlevel.png',
        interval: 100,
        maxX: 0,
        maxY: 100,
        minX: -400,
        minY: -100,
        width: 475,
        zeroX: 50,
        zeroY: 131,
        zoomX: 0.88,
        zoomY: 0.88
      }
    }
  },
  'Highpass Hold': {
      height: 532,
      image: 'Loc-Accurate_Highpass_Hold.jpg', 
      maxX: 500,
      maxY: 500,
      minX: -500,
      minY: -1000,
      interval: 500,
      width: 379,
      zeroX: 222,
      zeroY: 237,
      zoomX: 0.273,
      zoomY: 0.273
  },
  'Howling Stones': {
    levels:{
      0: {
        height: 540,
        image: 'Map_charasis2.jpg',
        maxX: 400,
        maxY: 400,
        minX: -300,
        minY: -400,
        interval: 100,
        width: 540,
        zeroX: 285,
        zeroY: 241,
        zoomX: 0.339,
        zoomY: 0.339
      },
    1: {
        height: 999,
        image: 'Map_charasis1.jpg',
        maxX: 800,
        maxY: 700,
        minX: -700,
        minY: -800,
        interval: 100,
        width: 961,
        zeroX: 510,
        zeroY: 433,
        zoomX: 0.61,
        zoomY: 0.61
      },
    },
  },
  'Kael': 'Kael Drakkel',
  'Kael Drakkal': 'Kael Drakkel',
  'Kael Drakkel': {
    height: 600,
    image: 'Map_kael_drakkal.jpg',
    interval:250,
    maxX: 3250,
    maxY: 2750,
    minX: -500,
    minY: -2000,
    width: 507,
    zeroX: 404,
    zeroY: 344,
    zoomX: 0.12,
    zoomY: 0.1205
  },
  'Kaesora': {
    height: 342,
    image: 'Map_kaesora1.jpg',
    width: 559,
    zeroX: 219,
    zeroY: 204, 
    interval: 100,
    maxX: 400,
    maxY: 400,
    minX: -600,
    minY: -200,
    zoomX: 0.455,
    zoomY: 0.455
  },
  'Karnor\'s Castle': {
    height: 524,
    image: 'Map_karnor1.jpg',
    width: 755,
    zeroX: 241,
    zeroY: 277,
    interval: 100,
    maxX: 400,
    maxY: 500,
    minX: -800,
    minY: -400,
    zoomX: .605,
    zoomY: .61
  },
  'Kelethin': 'Greater Faydark',
  'Kerra Island': {
    height: 504,
    image: 'Kerra.jpg',
    interval: 500,
    maxX: 1000,
    maxY: 1500,
    minX: 1000,
    minY: 1000,
    width: 415,
    zeroX: 146.5,
    zeroY: 277,
    zoomX: 0.238,
    zoomY: 0.238
  },
  'Kithicor': 'Kithicor Forest',
  'Kithicor Forest': {
    height: 333,
    image: 'Map_kithicor.jpg',
    interval: 1000,
    maxX: 5000,
    maxY: 2000,
    minX: -1000,
    minY: -1000,
    width: 560,
    zeroX: 449.5,
    zeroY: 194,
    zoomX: 0.088,
    zoomY: 0.088
  },
  'Iceclad': 'Iceclad Ocean',
  'Iceclad Ocean': {
    height: 457,
    image: 'Iceclad.jpg',
    interval: 2000,
    maxX: 10000,
    maxY: 8000,
    minX: -10000,
    minY: -10000,
    width: 550,
    zeroX: 245,
    zeroY: 214,
    zoomX: 0.0226,
    zoomY: 0.0226
  },
  'Icewell Keep': {
    levels:{
      0: {
        height: 511,
        image: 'Map_icewell_keep.jpg',
        maxX: 1000,
        maxY: 750,
        minX: -500,
        minY: -1000,
        interval: 250,
        width: 590,
        zeroX: 279,
        zeroY: 233,
        zoomX: 0.264,
        zoomY: 0.264
      },
      1: {
        height: 511,
        image: 'Map_icewell_keep.jpg',
        maxX: 500,
        maxY: 1000,
        minX: -500,
        minY: 0,
        interval: 250,
        width: 590,
        zeroX: 477,
        zeroY: 498,
        zoomX: 0.264,
        zoomY: 0.264
      },
      2: {
        height: 511,
        image: 'Map_icewell_keep.jpg',
        maxX: 250,
        maxY: 1000,
        minX: -250,
        minY: 500,
        interval: 250,
        width: 590,
        zeroX: 477,
        zeroY: 360,
        zoomX: 0.264,
        zoomY: 0.264
      },
      3: {
        height: 511,
        image: 'Map_icewell_keep.jpg',
        maxX: 250,
        maxY: 1000,
        minX: -250,
        minY: 500,
        interval: 250,
        width: 590,
        zeroX: 477,
        zeroY: 230,
        zoomX: 0.264,
        zoomY: 0.264
      }
    },
  },
  "Kurn's Tower": {
    levels: {
      tunnels: {
        height: 693,
        image: 'Map_kurnslower.jpg',
        interval: 100,
        maxX: 400,
        maxY: 300,
        minX: -400,
        minY: -300,
        width: 500,
        zeroX: 226.5,
        zeroY: 517,
        zoomX: .597,
        zoomY: .595,

        maxZ: -71.1,
        minZ: -200
      },
      0: {
        height: 693,
        image: 'Map_kurnslower.jpg',
        interval: 100,
        maxX: 400,
        maxY: 300,
        minX: -400,
        minY: -300,
        width: 500,
        zeroX: 226.5,
        zeroY: 160,
        zoomX: .598,
        zoomY: .599,

        maxZ: -11.1,
        minZ: -71
      },
      1: {
        height: 561,
        image: 'Map_kurnsupper.jpg',
        interval: 100,
        maxX: 300,
        maxY: 300,
        minX: -300,
        minY: -300,
        width: 550,
        zeroX: 159,
        zeroY: 403,
        zoomX: 0.49,
        zoomY: 0.49
      },
      2: {
        height: 561,
        image: 'Map_kurnsupper.jpg',
        interval: 100,
        maxX: 300,
        maxY: 300,
        minX: -300,
        minY: -200,
        width: 550,
        zeroX: 159,
        zeroY: 108,
        zoomX: 0.49,
        zoomY: 0.49
      },
      3: {
        height: 561,
        image: 'Map_kurnsupper.jpg',
        interval: 100,
        maxX: 100,
        maxY: 300,
        minX: -300,
        minY: -300,
        width: 550,
        zeroX: 355,
        zeroY: 108,
        zoomX: 0.49,
        zoomY: 0.49
      },
      4: {
        height: 561,
        image: 'Map_kurnsupper.jpg',
        interval: 100,
        maxX: 0,
        maxY: 200,
        minX: -300,
        minY: -200,
        width: 550,
        zeroX: 356,
        zeroY: 403,
        zoomX: 0.49,
        zoomY: 0.49
      }
    }
  },
  'Innothule Swamp': {
    height: 621,
    image: 'Map_innothule.jpg',
    maxX: 2000,
    maxY: 3000,
    minX: -1000,
    minY: -3000,
    interval: 1000,
    width: 325,
    zeroX: 210.5,
    zeroY: 297,
    zoomX: 0.099,
    zoomY: 0.117
  },
  'Lake of Ill Omen': {
    height: 542,
    image: 'Map_lakeofillomen.jpg',
    maxX: 4000,
    maxY: 6000,
    minX: -8000,
    minY: -4000,
    interval: 2000,
    width: 550,
    zeroX: 191.5,
    zeroY: 327,
    zoomX: 0.0438,
    zoomY: 0.0436
  },
  'Lake Rathe': 'Lake Rathetear',
  'Lake Rathetear': {
    height: 450,
    image: 'Map_lakerathetear.jpg',
    interval: 1000,
    maxX: 3000,
    maxY: 5000,
    minX: -2000,
    minY: -1000,
    width: 450,
    zeroX: 252,
    zeroY: 347,
    zoomX: 0.0755,
    zoomY: 0.0755
  },
  'Lesser Faydark': {
    height: 465,
    image: 'Lesserfaydark.jpg',
    interval: 1000,
    maxX: 4000,
    maxY: 2000,
    minX: -2000,
    minY: -1000,
    width: 635,
    zeroX: 394,
    zeroY: 288,
    zoomX: 0.095,
    zoomY: 0.132
  },
  'Lavastorm Mountains' : {
    height: 472,
    image: 'Map_lavastorm.jpg',
    maxX: 1500,
    maxY: 1500,
    minX: -1500,
    minY: -2000,
    interval: 500,
    width: 400,
    zeroX: 222.3,
    zeroY: 214,
    zoomX: 0.1325,
    zoomY: 0.1325
  },
  'Lower Guk': {
    alternateMaps: [
      {
        height: 552,
        image: 'Lgukdead.jpg',
        width: 550,
        zeroX: 0,
        zeroY: 761,
        interval: 100,
        maxX: 0,
        maxY: 1700,
        minX: -1200,
        minY: 500,
        zoomX: 0.446,
        zoomY: 0.444
      }
    ],
    height: 552,
    image: 'Lguklive.jpg',
    width: 550,
    zeroX: 282,
    zeroY: 466.5,
    interval: 100,
    maxX: 700,
    maxY: 1100,
    minX: -600,
    minY: -200,
    zoomX: 0.385,
    zoomY: 0.394
  },
    'Mistmoore Castle': {
      levels: {
        1: {
          height: 598,
          image: 'Mistmoore.jpg',
          interval: 100,
          maxX: 600,
          maxY: 300,
          minX: -200,
          minY: -500,
          width: 550,
          zeroX: 396,
          zeroY: 197,
          zoomX: 0.618,
          zoomY: 0.615
      },
      2: {
          height: 598,
          image: 'Mistmoore.jpg',
          interval: 100,
          maxX: 200,
          maxY: 0,
          minX: -200,
          minY: -200,
          width: 550,
          zeroX: 393,
          zeroY: 442,
          zoomX: 0.618,
          zoomY: 0.615
        }
      }
   },
  'Misty Thicket': {
    height: 341,
    image: 'Map_mistythicket.jpg',
    maxX: 1500,
    maxY: 1500,
    minX: -3000,
    minY: -1500,
    interval: 500,
    width: 550,
    zeroX: 197,
    zeroY: 163.3,
    zoomX: 0.1208,
    zoomY: 0.1208
  },
  'Nagafens Lair': 'Nagafen\'s Lair',
  'Nagafen\'s Lair': {
        height: 595,
        image: 'Nagafenslair.jpg',
        interval: 100,
        maxX: 300,
        maxY: -100,
        minX: -1000,
        minY: -1600,
        width: 550,
        zeroX: 149,
        zeroY: -15,
        zoomX: 0.376,
        zoomY: 0.376
  },
  'Najena': {
    levels: {
      0:{
        height: 529,
        image: 'Najena.jpg', 
        maxX: 250,
        maxY: 500,
        minX: 0,
        minY: 0,
        interval: 250,
        width: 541,
        zeroX: 368,
        zeroY: 410,
        zoomX: 0.376,
        zoomY: 0.375
      },
      1: {
        height: 529,
        image: 'Najena.jpg', 
        maxX: 750,
        maxY: 500,
        mivnX: -250,
        minY: -250,
        interval: 250,
        width: 541,
        zeroX: 368,
        zeroY: 220,
        zoomX: 0.376,
        zoomY: 0.375
      }
    }
  },
  'Nektulos Forest': {
    height: 519,
    image: 'Map_nektulos.jpg',
    interval: 1000,
    maxX: 2000,
    maxY: 3000,
    minX: 2000,
    minY: 3000,
    width: 271,
    zeroX: 137.4,
    zeroY: 264.8,
    zoomX: 0.091,
    zoomY: 0.091
  },
  'North Freeport': 'Freeport North',
  'Northern Felwithe': {
    height: 385,
    image: 'Nfelwithe.jpg',
    interval: 100,
    maxX: 100,
    maxY: 400,
    minX: 800,
    minY: 300,
    width: 589,
    zeroX: 109,
    zeroY: 217,
    zoomX: 0.547,
    zoomY: 0.55
  },
  'North Felwithe': 'Northern Felwithe',
  'Northern Plains of Karana':  'Northern Karana',
  'Northern Karana': {
    height: 476,
    image: 'Map_nkarana.jpg',
    interval: 1000,
    maxX: 4000,
    maxY: 2000,
    minX: 3000,
    minY: 5000,
    width: 500,
    zeroX: 263.3,
    zeroY: 135.5,
    zoomX: 0.071,
    zoomY: 0.0705
  },
  'Northern Desert of Ro': {
    height: 569,
    image: 'Map_northro.jpg',
    interval: 1000,
    maxX: 2000,
    maxY: 5000,
    minX: -2000,
    minY: -2000,
    width: 296,
    zeroX: 169.5,
    zeroY: 378.8,
    zoomX: 0.087,
    zoomY: 0.087
  },
  'Northern Kaladim': 'North Kaladim',
  'North Kaladim': {
    height: 490,
    image: 'Nkaladim.jpg',
    interval: 100,
    maxX: 400,
    maxY: 1000,
    minX: -300,
    minY: 400,
    width: 430,
    zeroX: 251,
    zeroY: 636,
    zoomX: 0.525,
    zoomY: 0.525
  },
  'North Qeynos': {
    height: 319,
    image: 'Zone_nqeynos.jpg',
    interval: 200,
    maxX: 600,
    maxY: 600,
    minX: -600,
    minY: -400,
    width: 458,
    zeroX: 204,
    zeroY: 189,
    zoomX: 0.39,
    zoomY: 0.39
  },
  'North Ro': 'Northern Desert of Ro',
  'Mines of Nurga': {
     alternateMaps:[{
       height: 375,
       image: 'Map_nurga2.jpg',
       interval: 200,
       maxX: 1800,
       maxY: -1000,
       minX: 0,
       minY: -2100,
       width: 550,
       zeroX: 545,
       zeroY: -267,
       zoomX: 0.3045,
       zoomY: 0.304
     }],
     height: 435,
     image: 'Map_nurga1.jpg',
     interval: 200,
     maxX: 200,
     maxY: -800,
     minX: -2000,
     minY: -2400,
     width: 587,
     zeroX: 50,
     zeroY: -213,
     zoomX: 0.261,
     zoomY: 0.261
   },
  'Oasis of Marr': {
     height: 508,
     image: 'Map_oasisofmarr.jpg',
     interval: 1000,
     maxX: 2000,
     maxY: 3000,
     minX: -2000,
     minY: -2000,
     width: 315,
     zeroX: 172.5,
     zeroY: 271,
     zoomX: 0.103,
     zoomY: 0.1017
   },
  'Ocean of Tears': {
    image: 'Ocean_of_Tears-edited.jpg',
    height: 394,
    width: 800,
    zeroX: 390,
    zeroY: 152,
    interval: 1000,
    maxX: 10000,
    maxY: 3000,
    minX: -10000,
    minY: -5000,
    zoomX: 0.0368,
    zoomY: 0.0442
  },
  'Oggok': {
    height: 440,
    image: 'Oggok.jpg',
    interval: 200,
    maxX: 1000,
    maxY: 800,
    minX: 400,
    minY: 400,
    width: 536,
    zeroX: 361,
    zeroY: 305,
    zoomX: .3155,
    zoomY: .315
  },
  'Old Sebilis': {
    height: 674,
    image: 'Map_sebilis1.jpg',
    interval: 200,
    maxX: 1000,
    maxY: 400,
    minX: -800,
    minY: -2000,
    width: 423,
    zeroX: 227,
    zeroY: 98,
    zoomX: 0.227,
    zoomY: 0.281
  },
  'Overthere': 'The Overthere',
  'Paineel': {
    height: 520,
    image: 'Paineelin.jpg',
    interval: 100,
    maxX: 1000,
    maxY: 1400,
    minX: 0,
    minY: 400,
    width: 492,
    zeroX: 507,
    zeroY: 716,
    zoomX: 0.5215,
    zoomY: 0.5212
  },
  'Permafrost': {levels:{
    0:{
      height: 733,
      image: 'Zone_permafrost.jpg',
      interval: 100,
      maxX: 400,
      maxY: 500,
      minX: -50,
      minY: 200,
      width: 550,
      zeroX: 502,
      zeroY: 820,
      zoomX: 0.459,
      zoomY: 0.459
    },
    1:{
      height: 733,
      image: 'Zone_permafrost.jpg', 
      interval: 100,
      maxX: 500,
      maxY: 1300,
      minX: -700,
      minY: -300,
      width: 550,
      zeroX: 227,
      zeroY: 590,
      zoomX: 0.459,
      zoomY: 0.459
  }}},
  'Plane of Fear': {
    height: 589,
    image: 'Fearmap.jpg',
    maxX: 1600,
    maxY: 1600,
    minX: -1600,
    minY: -1600,
    interval: 400,
    width: 600,
    zeroX: 297,
    zeroY: 287,
    zoomX: 0.187,
    zoomY: 0.187
  },
  'Plane of Growth': {
      height: 613,
      image: 'Map_plane_of_growth.jpg',
      interval: 500,
      maxX: 4000,
      maxY: 4000,
      minX: -4000,
      minY: -4000,
      width: 626,
      zeroX: 317,
      zeroY: 303,
      zoomX: 0.0711,
      zoomY: 0.0728
  },
  'Plane of Hate': {
    levels:{
      1: {
        height: 598,
        image: 'Plane_of_hate_kronas.jpg',
        maxX: 400,
        maxY: 500,
        minX: -400,
        minY: -500,
        interval: 100,
        width: 504,
        zeroX: 248,
        zeroY: 309,
        zoomX: 0.606,
        zoomY: 0.606
      },
      2: {
        height: 698,
        image: 'HateSecondFloorTrimmed.jpg',
        maxX: 500,
        maxY: 600,
        minX: -500,
        minY: -600,
        interval: 100,
        width: 903,
        zeroX: 313.5,
        zeroY: 339,
        zoomX: 0.542,
        zoomY: 0.542
      }
    }
  },
  'Qeynos Aqueducts': {
    height: 650,
    image: 'QeynosCats1.jpg',
    interval: 100,
    maxX: 300,
    maxY: 1000,
    minX: -600,
    minY: -200,
    width: 544,
    zeroX: 187,
    zeroY: 529,
    zoomX: 0.508,
    zoomY: 0.507
  },
  'Qeynos Catacombs': 'Qeynos Aqueducts',
  'Qeynos Hills': {
    height: 575,
    image: 'Qeynoshills.jpg',
    interval: 1000,
    maxX: 2000,
    maxY: 6000,
    minX: 2000,
    minY: 1000,
    width: 324,
    zeroX: 136,
    zeroY: 516.3,
    zoomX: 0.0945,
    zoomY: 0.094
  },
  'Rathe Mountains': {
    height: 660,
    image: 'Zone_rathemtns.jpg',
    interval: 1500,
    maxX: 3000,
    maxY: 7500,
    minX: 4500,
    minY: 3000,
    width: 490,
    zeroX: 219.5,
    zeroY: 453.5,
    zoomX: 0.0707,
    zoomY: 0.0702
  },
  'Rivervale': {
    height: 540,
    image: 'Rivervale.jpg',
    interval: 200,
    maxX: 200,
    maxY: 600,
    minX: 800,
    minY: 400,
    width: 484,
    zeroX: 85,
    zeroY: 287,
    zoomX: 0.522,
    zoomY: 0.517
  },
  'Runnyeye':  'Clan Runnyeye',
  'RunnyEye':  'Clan Runnyeye',
  'RunnyEye Citadel':  'Clan Runnyeye',
  'Sebilis': 'Old Sebilis',
  'Siren Grotto': 'Siren\'s Grotto',
  'Siren\'s Grotto': {
    levels:{
      0: {
        height: 615,
        image: 'Map_sirens_grotto_level1.gif',
        maxX: 200,
        maxY: 300,
        minX: -800,
        minY: -900,
        interval: 100,
        width: 540,
        zeroX: 118,
        zeroY: 150,
        zoomX: 0.50,
        zoomY: 0.50
      },
      1: {
        height: 615,
        image: 'Sirens_grotto_b_draelon.gif',
        maxX: 200,
        maxY: 300,
        minX: -800,
        minY: -900,
        interval: 100,
        width: 540,
        zeroX: 118,
        zeroY: 150,
        zoomX: 0.50,
        zoomY: 0.50
      },
      2: {
        height: 615,
        image: 'Sirens_grotto_c_draelon.gif',
        maxX: 200,
        maxY: 300,
        minX: -800,
        minY: -900,
        interval: 100,
        width: 540,
        zeroX: 118,
        zeroY: 150,
        zoomX: 0.50,
        zoomY: 0.50
      }
    }
  },
/*  'Siren\'s Grotto': {
    height: 709,
    image: 'Map_sirens_grotto.jpg',
    interval: 100,
    maxX: 200,
    maxY: 300,
    minX: -300,
    minY: -600,
    width: 390,
    zeroX: 145.5,
    zeroY: 197.5,
    zoomX: 0.705,
    zoomY: 0.705
  },*/
  'Skyfire Mountains': {
    height: 626,
    image: 'Map_skyfiremtns.jpg',
    width: 550,
    zeroX: 292,
    zeroY: 314,
    interval: 1000,
    maxX: 6000,
    maxY: 6000,
    minX: -5000,
    minY: -6000,
    zoomX: 0.0513,
    zoomY: 0.0515
  },
  'Skyshrine': {
    levels:{
      1: {
        height: 809,
        image: 'SkyshrineMapsMainLowerFloor.jpg',
        maxX: 0,
        maxY: 1400,
        minX: -1000,
        minY: -400,
        interval: 200,
        width: 550,
        zeroX: -19,
        zeroY: 618,
        zoomX: 0.49,
        zoomY: 0.49
      },
      2: {
        height: 630,
        image: 'SkyshrineMapsMainUpperFloor.jpg',
        maxX: 200,
        maxY: 1400,
        minX: -1400,
        minY: 0,
        interval: 200,
        width: 600,
        zeroX: 48,
        zeroY: 492,
        zoomX: 0.355,
        zoomY: 0.355
      },

// MainLowerTopSubMap: {
// height: 809,
// image: 'SkyshrineMapsMainLowerFloor.jpg',
// maxX: -200,
// maxY: 600,
// minX: -800,
// minY: 400,
// interval: 200,
// width: 550,
// zeroX: -68,
// zeroY: 314,
// zoomX: 0.49,
// zoomY: 0.49
// },
// MainLowerBottomSubMap: {
// height: 809,
// image: 'SkyshrineMapsMainLowerFloor.jpg',
// maxX: -400,
// maxY: 400,
// minX: -800,
// minY: 0,
// interval: 200,
// width: 550,
// zeroX: -168,
// zeroY: 714,
// zoomX: 0.49,
// zoomY: 0.49
// },
      3: {
        height: 535,
        image: 'SkyshrineMapsLowerMaze.jpg',
        maxX: 0,
        maxY: 3200,
        minX: -2200,
        minY: 1200,
        interval: 200,
        width: 600,
        zeroX: 12,
        zeroY: 859,
        zoomX: 0.264,
        zoomY: 0.264
      },
      4: {
        height: 535,
        image: 'SkyshrineMapsUpperMaze.jpg',
        maxX: 0,
        maxY: 3200,
        minX: -2200,
        minY: 1200,
        interval: 200,
        width: 600,
        zeroX: 12,
        zeroY: 859,
        zoomX: 0.264,
        zoomY: 0.264
      },
      5: {
        height: 554,
        image: 'SkyshrineMapsTower1F.jpg',
        maxX: 1400,
        maxY: 1200,
        minX: 0,
        minY: -200,
        interval: 200,
        width: 600,
        zeroX: 578,
        zeroY: 414,
        zoomX: 0.363,
        zoomY: 0.364
      },
      6: {
        height: 554,
        image: 'SkyshrineMapsTower2F.jpg',
        maxX: 1400,
        maxY: 1200,
        minX: 0,
        minY: -200,
        interval: 200,
        width: 600,
        zeroX: 578,
        zeroY: 414,
        zoomX: 0.363,
        zoomY: 0.364
      },
      7: {
        height: 554,
        image: 'SkyshrineMapsTower3F.jpg',
        maxX: 1400,
        maxY: 1200,
        minX: 0,
        minY: -200,
        interval: 200,
        width: 600,
        zeroX: 578,
        zeroY: 414,
        zoomX: 0.363,
        zoomY: 0.364
      },

      8: {
        height: 760,
        image: 'SkyshrineMapsYelinaksLair.jpg',
        maxX: 2800,
        maxY: 3200,
        minX: 1000,
        minY: 800,
        interval: 200,
        width: 600,
        zeroX: 908,
        zeroY: 1047,
        zoomX: 0.322,
        zoomY: 0.322
      }
    }
  },
  'Sleepers Tomb': 'Sleeper\'s Tomb',
  'Sleeper\'s Tomb': {
    height: 431,
    image: 'Map_sleepers_tomb.jpg',
    maxX: 2000,
    maxY: 500,
    minX: -2500,
    minY: -3000,
    interval: 500,
    width: 539,
    zeroX: 249,
    zeroY: 11.4,
    zoomX: 0.14,
    zoomY: 0.14
  },
  'Sol A': "Solusek's Eye",
  "Solusek's Eye": {
    height: 600,
    image: 'Solusekseye.jpg',
    maxX: -300,
    maxY: 100,
    minX: -1200,
    minY: -1000,
    interval: 100,
    width: 495,
    zeroX: -134.5,
    zeroY: 45,
    zoomX: 0.4905,
    zoomY: 0.4905
  },
  'South Felwithe': 'Southern Felwithe',
  'South Kaladim': {
    height: 341,
    image: 'Skaladim.jpg',
    interval: 100,
    maxX: 600,
    maxY: 500,
    minX: -500,
    minY: -200,
    width: 550,
    zeroX: 291,
    zeroY: 238,
    zoomX: 0.51,
    zoomY: 0.52
  },
  'South Karana' : 'Southern Karana',
  'South Qeynos': {
    height: 426,
    image: 'Zone_sqeynos.jpg',
    interval: 200,
    maxX: 200,
    maxY: 600,
    minX: -600,
    minY: -400,
    width: 423,
    zeroX: 107,
    zeroY: 259,
    zoomX: .395,
    zoomY: .39,
  },
  'Southern Desert of Ro': {
    height: 549,
    image: 'Zone_southro.jpg',
    interval: 1000,
    maxX: 2000,
    maxY: 2000,
    minX: -1000,
    minY: -4000,
    width: 315,
    zeroX: 179,
    zeroY: 178,
    zoomX: 0.1,
    zoomY: 0.1
  },
  'Southern Felwithe': {
    height: 377,
    image: 'Sfelwithe.jpg',
    interval: 100,
    maxX: -300,
    maxY: 800,
    minX: -900,
    minY: 200,
    width: 400,
    zeroX:-153,
    zeroY: 465,
    zoomX: 0.576,
    zoomY: 0.578
  },
  'Southern Plains of Karana':  'Southern Karana',
  'Southern Karana': {
      height: 548,
      image: 'Zone_southkarana.jpg', 
      maxX: 3000,
      maxY: 2000,
      minX: -4000,
      minY: -8000,
      interval: 1000,
      width: 385,
      zeroX: 177,
      zeroY: 132,
      zoomX: 0.049,
      zoomY: 0.049
  },  
  'Splitpaw': 'Splitpaw Lair',
  'Splitpaw Lair': {
      height: 680,
      image: 'Splitpaw_Map.png', 
      maxX: 200,
      maxY: 1400,
      minX: -400,
      minY: -100,
      interval: 200,
      width: 337,
      zeroX: 131,
      zeroY: 604,
      zoomX: 0.4,
      zoomY: 0.402
  },
  'Steamfont': 'Steamfont Mountains',
  'Steamfont Mountains': {
    image: 'Steamfont.jpg',
    height: 472,
    width: 495,
    zeroX: 245.5,
    zeroY: 220,
    interval: 1000,
    maxX: 2000,
    maxY: 2000,
    minX: -2000,
    minY: -2000,
    zoomX: 0.1065,
    zoomY: 0.1065
  },
  'Stonebrunt Mountains': {
    height: 619,
    image: 'Map_stonebrunt_mountains.jpg',
    interval: 1000,
    maxX: 4000,
    maxY: 5000,
    minX: 4000,
    minY: 6000,
    width: 529,
    zeroX: 253.3,
    zeroY: 285.5,
    zoomX: 0.0578,
    zoomY: 0.0576
  },
  'Surefall Glade': {
    height: 539,
    image: 'Surefallglade.jpg',
    interval: 200,
    maxX: 400,
    maxY: 1000,
    minX: 800,
    minY: 800,
    width: 330,
    zeroX: 97,
    zeroY: 306,
    zoomX: 0.323,
    zoomY: 0.32
  },
  'Swamp of No Hope': {
    height: 624,
    image: 'Map_swampofnohope.jpg',
    width: 550,
    zeroX: 250,
    zeroY: 342,
    interval: 1000,
    maxX: 4000,
    maxY: 6000,
    minX: -5000,
    minY: -5000,
    zoomX: 0.0578,
    zoomY: 0.0578
  },
  'Temple of Droga': {
    alternateMaps: [{
      height: 406,
      image: 'Map_templedrogainner.jpg',
      interval: 200,
      maxX: 2300,
      maxY: 800,
      minX: 800,
      minY: -600,
      width: 430,
      zeroX: 627,
      zeroY: 232,
      zoomX: 0.26,
      zoomY: 0.261
    }],
    height: 605,
    image: 'Map_droga.jpg',
    interval: 200,
    maxX: 1100,
    maxY: 1500,
    minX: -1600,
    minY: -1400,
    width: 550,
    zeroX: 255,
    zeroY: 325,
    zoomX: 0.20,
    zoomY: 0.20
  },
  'Temple of Solusek Ro': 'The Temple of Solusek Ro',
  'Temple of Veeshan': {
      height: 955,
      image: 'Map_tov.png',
      width: 769,
      zeroX: 299,
      zeroY: 477,
      interval: 500,
      maxX: 1500,
      maxY: 2500,
      minX: -2500,
      minY: -2500,
      zoomX: 0.182,
      zoomY: 0.184
  },
  'The Estate of Unrest': 'Estate of Unrest',
  'The Feerrott': {
    height: 417,
    image: 'Map_feerrott.jpg',
    interval: 500,
    maxX: 3000,
    maxY: 1500,
    minX: -3000,
    minY: -2000,
    width: 700,
    zeroX: 349,
    zeroY: 180,
    zoomX: 0.1005,
    zoomY: 0.1005
  },
  'The Hole': {
    height: 465,
    image: 'Map_thehole.jpg',
    interval: 200,
    maxX: 1200,
    maxY: 1200,
    minX: 1200,
    minY: 600,
    width: 600,
    zeroX: 292,
    zeroY: 292,
    zoomX: 0.261,
    zoomY: 0.261
  },
  'The Overthere': {
    height: 644,
    image: 'Map_overthere.jpg',
    interval: 1000,
    maxX: 4000,
    maxY: 4000,
    minX: 4000,
    minY: 4000,
    width: 600,
    zeroX: 284.5,
    zeroY: 318,
    zoomX: 0.0628,
    zoomY: 0.0628
  },
  'The Temple of Solusek Ro': {
    levels:{
      1: {
        height: 431,
        image: 'Templesro1.jpg',
        interval: 100,
        maxX: 100,
        maxY: 600,
        minX: -100,
        minY: 200,
        width: 300,
        zeroX: 146,
        zeroY: 662,
        zoomX: 1.05,
        zoomY: 1.05
      },
      2: {
        height: 336,
        image: 'Templesro2.jpg',
        interval: 100,
        maxX: 100,
        maxY: 600,
        minX: -100,
        minY: 300,
        width: 300,
        zeroX: 146,
        zeroY: 593,
        zoomX: 1.045,
        zoomY: 1.03
      },
    }
  },
  'The Wakening Land': {
    height: 424,
    image: 'Map_wakening_lands.jpg',
    interval: 1000,
    maxX: 5000,
    maxY: 3000,
    minX: -5000,
    minY: -4000,
    width: 550,
    zeroX: 257.5,
    zeroY: 172,
    zoomX: 0.05,
    zoomY: 0.05
  },
  'The Wakening Lands': 'The Wakening Land',
  'The Warrens': {
    height: 314,
    image: 'Warrens.jpg',
    interval: 200,
    maxX: 1200,
    maxY: 1200,
    minX: 1200,
    minY: 400,
    width: 550,
    zeroX: 263.9,
    zeroY: 222.5,
    zoomX: 0.2185,
    zoomY: 0.22
  },
  'Thurgadin': {
    height: 557,
    image: 'Map_thurgadin.jpg',
    interval:200,
    maxX: 800,
    maxY: 200,
    minX: -600,
    minY: -1200,
    width: 550,
    zeroX: 300.5,
    zeroY: 104,
    zoomX: 0.343,
    zoomY: 0.344
  },
  'Timorous Deep': {
    height: 738,
    image: 'Map_timdeep.jpg',
    interval: 1000,
    maxX: 4000,
    maxY: 9000,
    minX: -7000,
    minY: -13000,
    width: 400,
    zeroX: 152.5,
    zeroY: 313,
    zoomX: 0.0313,
    zoomY: 0.0313
  },
  'Tower of Frozen Shadow': {
    levels: {
      1: {
        height: 639,
        image: 'Map_tower_of_frozen_shadow_1.jpg',
        maxX: 500,
        maxY: 500,
        minX: 0,
        minY: 0,
        interval: 250,
        width: 549,
        zeroX: 478,
        zeroY: 598,
        zoomX: 0.395,
        zoomY: 0.392
      },
      2: {
        height: 639,
        image: 'Map_tower_of_frozen_shadow_1.jpg',
        maxX: 750,
        maxY: 750,
        minX: 0,
        minY: 0,
        interval: 250,
        width: 549,
        zeroX: 381,
        zeroY: 598,
        zoomX: 0.395,
        zoomY: 0.394
      },
      3: {
        height: 639,
        image: 'Map_tower_of_frozen_shadow_1.jpg',
        maxX: 1000,
        maxY: 1250,
        minX: 250,
        minY: 500,
        interval: 250,
        width: 549,
        zeroX: 387,
        zeroY: 509,
        zoomX: 0.395,
        zoomY: 0.394
      },
      4: {
        height: 639,
        image: 'Map_tower_of_frozen_shadow_1.jpg',
        maxX: 500,
        maxY: 1250,
        minX: -100,
        minY: 750,
        interval: 250,
        width: 549,
        zeroX: 485,
        zeroY: 506,
        zoomX: 0.392,
        zoomY: 0.392
      },
      5: {
        height: 682,
        image: 'Map_tower_of_frozen_shadow_2.jpg',
        maxX: 0,
        maxY: 750,
        minX: -250,
        minY: 0,
        interval: 250,
        width: 566,
        zeroX: 371,
        zeroY: 682,
        zoomX: 0.395,
        zoomY: 0.395
      },
      '6A': {
        height: 682,
        image: 'Map_tower_of_frozen_shadow_2.jpg',
        maxX: 0,
        maxY: 1500,
        minX: -750,
        minY: 500,
        interval: 250,
        width: 566,
        zeroX: -25,
        zeroY: 882,
        zoomX: 0.395,
        zoomY: 0.394
      },
      '6B': {
        height: 682,
        image: 'Map_tower_of_frozen_shadow_2.jpg',
        maxX: 0,
        maxY: 750,
        minX: -750,
        minY: 0,
        interval: 250,
        width: 566,
        zeroX: -26,
        zeroY: 290,
        zoomX: 0.395,
        zoomY: 0.395
      },
      7: {
        height: 682,
        image: 'Map_tower_of_frozen_shadow_2.jpg',
        maxX: 250,
        maxY: 1000,
        minX: -250,
        minY: 0,
        interval: 250,
        width: 566,
        zeroX: 468,
        zeroY: 386,
        zoomX: 0.395,
        zoomY: 0.394
      }
    }
  },
  'Toxxulia Forest': {
    height: 537,
    image: 'Toxxulia.jpg',
    interval: 1000,
    maxX: 3000,
    maxY: 3000,
    minX: 2000,
    minY: 3000,
    width: 441,
    zeroX: 262.3,
    zeroY: 261.5,
    zoomX: 0.0915,
    zoomY: 0.091
  },
  "Trakanon's Teeth":{
    height: 417,
    image: 'Map_trakanonsteeth.jpg',
    maxX: 5000,
    maxY: 4000,
    minX: -5000,
    minY: -3000,
    interval: 1000,
    width: 550,
    zeroX: 264.5,
    zeroY: 216,
    zoomX: 0.0468,
    zoomY: 0.047
  },
  'Unrest': 'Estate of Unrest',
  'Upper Guk': {
    height: 644,
    image: 'Upperguk.jpg',
    interval: 250,
    maxX: 750,
    maxY: 1500,
    minX: 500,
    minY: 0,
    width: 450,
    zeroX: 234,
    zeroY: 564,
    zoomX: 0.324,
    zoomY: 0.323
  },
  'Wakening Land': 'The Wakening Land',
  'Wakening Lands': 'The Wakening Land',
  'Warsliks Woods': {
    image: 'Map_warslikswood.jpg',
    height: 480,
    width: 535,
    zeroX: 286.5,
    zeroY: 252,
    interval: 1000,
    maxX: 4000,
    maxY: 4000,
    minX: -3000,
    minY: -3000,
    zoomX: 0.059,
    zoomY: 0.0589
  },
  'West Cabilis': 'Cabilis West',
  'West Commonlands': {
    height: 284,
    image: 'Zone_westcommons.jpg',
    interval: 1000,
    maxX: 5000,
    maxY: 2000,
    minX: 2000,
    minY: 2000,
    width: 649,
    zeroX: 435.5,
    zeroY: 126.5,
    zoomX: 0.096,
    zoomY: 0.096
  },
  'West Freeport':  'Freeport West',
  'West Karana': 'Western Plains of Karana',
  'Western Karana': 'Western Plains of Karana',
  'Western Plains of Karana': {
    height: 422,
    image: 'Zone_westkarana.jpg',
    interval: 1000,
    maxX: -1000,
    maxY: 1000,
    minX: -16000,
    minY: -4000,
    width: 1058,
    zeroX: -23,
    zeroY: 107,
    zoomX: 0.0638,
    zoomY: 0.0641
  },
  'Western Wastes':{
    height: 594,
    image: 'Westernwastes.jpg',
    interval: 1000,
    maxX: 5000,
    maxY:5000,
    minX: -5000,
    minY:-5000,
    width: 600,
    zeroX:294,
    zeroY:288,
    zoomX: 0.0532,
    zoomY: 0.0533
  }
};

} catch(err) {
  // Something went wrong; make sure we at least "export" an empty
  // object to minimize further damage
  console.error(err);
  window.zoneData = {};
}