SHARE
TWEET

deking s K

Arekino Jan 19th, 2020 92 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         DE King
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.4.3
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        https://www.darkelf.cz/world.htm
  8. // @grant        none
  9. // @require https://code.jquery.com/jquery-3.4.1.min.js
  10. // @require https://code.jquery.com/ui/1.12.1/jquery-ui.js
  11. // @resource https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css
  12. // ==/UserScript==
  13.  
  14. (function() {
  15.     'use strict';
  16.  
  17.     function DEKing()
  18. {
  19.  
  20.     this._options;
  21.  
  22.     this._dataProvider = new DEKingDataProvider();
  23.     this._ajaxProvider = new DEKingAjaxProvider();
  24.     this._storageProvider;
  25.     this._renderer;
  26.     this._textParser;
  27.  
  28.     this._userData;
  29.  
  30.  
  31.     this.init = function(){
  32.  
  33.         //this._initBasic();
  34.         this._initExtend();
  35.  
  36.     };
  37.  
  38.     this._initBasic = function(){
  39.         var that = this;
  40.         that._textParser = new DEKingParser(that._dataProvider);
  41.         that._storageProvider = new DEKingStorageProvider();
  42.         that._options = that._storageProvider.getOptions();
  43.  
  44.         $('frame[name="mapa"]').on('load', function(){ that.initMap(); });
  45.         $('frame[name="Lista_Vlevo"]').on('load', function(){ that.initLeftFrame(); });
  46.     };
  47.  
  48.     this._initExtend = function(){
  49.         this._showLoading();
  50.         var that = this;
  51.  
  52.         this._ajaxProvider.getReport(null, function(report){
  53.             that._textParser = new DEKingParser(that._dataProvider);
  54.             that._userData = that._textParser.getUserData(report);
  55.             that._storageProvider = new DEKingStorageProvider(that._userData.user, that._userData.league, that._userData.day);
  56.             that._options = that._storageProvider.getOptions();
  57.  
  58.             var reportLands = {};
  59.             that._textParser.parseReport(report, reportLands, null);
  60.  
  61.  
  62.             // tak jo, koukneme jestli jsme v ali
  63.             that._ajaxProvider.getMyAliMates(function(myMates){
  64.                 var myMatesCount = myMates.length;
  65.  
  66.                 if(myMatesCount > 0){
  67.  
  68.                     var cachedReportLands = that._storageProvider.getReport();
  69.  
  70.                     if (cachedReportLands == null){
  71.                         reportLands = {};
  72.                         for (var i in myMates){
  73.                             var mate = myMates[i];
  74.  
  75.                             that._ajaxProvider.getReport(mate.id, function(report){
  76.                                 that._textParser.parseReport(report, reportLands, myMates);
  77.                                 myMatesCount--;
  78.                                 if (myMatesCount == 0)
  79.                                     that.___finishExtendInit(reportLands);
  80.                             });
  81.  
  82.                         }
  83.                     }
  84.                     else{
  85.                         that.___finishExtendInit(cachedReportLands);
  86.                     }
  87.  
  88.                 }
  89.                 else
  90.                     that.___finishExtendInit(reportLands);
  91.  
  92.  
  93.             });
  94.  
  95.  
  96.  
  97.         });
  98.     };
  99.  
  100.     this.___finishExtendInit = function(reportLands){
  101.         var that = this;
  102.  
  103.         this._storageProvider.saveReport(reportLands);
  104.  
  105.         $('frame[name="mapa"]').on('load', function(){ that.initMap(); });
  106.         $('frame[name="Lista_Vlevo"]').on('load', function(){ that.initLeftFrame(); });
  107.  
  108.  
  109.  
  110.         that._renderer = new DEKingExtendRenderer(that._storageProvider, that._options, reportLands);
  111.  
  112.         setTimeout(function(){
  113.  
  114.         $('frame[name="lista_informace"]').contents().find('img[src="images/s/refresh.gif"]').click();
  115.         },0);
  116.         that._hideLoading();
  117.  
  118.     };
  119.  
  120.  
  121.  
  122.  
  123.     this._extendMapData;
  124.     this._aliMatesData;
  125.  
  126.  
  127.  
  128.     this.lands = [];
  129.     this.landDivs;
  130.  
  131.     this.initMap = function(){
  132.  
  133.         var worldMap = $('frame[name="mapa"]').contents();
  134.  
  135.         $(worldMap).find('head').append('<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />');
  136.  
  137.         $(worldMap).find('head').append('<style type="text/css">.ui-dialog div{ width: 270px; height: 5px; position: relative; }</style>');
  138.  
  139.         this._initCommonThings(worldMap);
  140.         if ($(worldMap).find('form[name="form_domy"]').length>0){
  141.             if ($(worldMap).find('form[name="form_domy"]').find('td[colspan="9"]').length >0){ //omg toto.. to proste jinak neurcim.. stejnej nazev, vsechno :/
  142.                 this._initHouses(worldMap);
  143.             }
  144.             else{
  145.                 this._initMagicUnitsBuy(worldMap);
  146.             }
  147.         }
  148.         if ($(worldMap).find('form[name="form_buildings"]').length>0){
  149.             this._initBuildings(worldMap);
  150.         }
  151.         else{
  152.             this._initMapMagic(worldMap);
  153.         }
  154.     };
  155.  
  156.     this._initCommonThings = function(worldMap) {
  157.         // =======================================================================================================================
  158.         var that = this;
  159.         // Yippie start
  160.         //worldMap.forEach(function(item, index) {console.log(index + ": " + item)});
  161.  
  162.         // jakoze funguje to, ale u tech staveb to bylo nepouzitelny, bud to oznacovalo (prohlizecove), nebo pretahovalo obrazky
  163.         /*
  164.         this.mouseDown = 0;
  165.         $(worldMap).mousedown(function() {
  166.             ++that.mouseDown;
  167.             console.log(that.mouseDown);
  168.         })
  169.         $(worldMap).mouseup(function() {
  170.             --that.mouseDown;
  171.             console.log(that.mouseDown);
  172.         })
  173.         */
  174.         // Yippie end
  175.         // =======================================================================================================================
  176.     }
  177.  
  178.     this._initMapMagic = function(worldMap){
  179.         if (!this._options.useMagicMapSelect.checked)
  180.             return;
  181.         this.lands = [];
  182.         $(worldMap).find('head').append($('<style type="text/css">.selectedLand { background-color:red; }</style>'));
  183.         this.landDivs = $(worldMap).find('div[class*="area"]').find('div');
  184.         var that = this;
  185.         $(this.landDivs).on('click', function(e){
  186.             if (e.ctrlKey) {
  187.                 e.stopPropagation();
  188.                 e.preventDefault();
  189.  
  190.                 var id = parseInt(this.id.replace( /^\D+/g, ''));
  191.                 if ($(this).hasClass('selectedLand')){
  192.                     $(this).removeClass('selectedLand');
  193.                     that.lands.splice(that.lands.indexOf(id), 1);
  194.                 }
  195.                 else{
  196.                     $(this).addClass('selectedLand');
  197.                     that.lands.push(id);
  198.                 }
  199.             }
  200.         });
  201.     };
  202.  
  203.     this._initHouses = function(worldMap){
  204.         if (!this._options.useHousesCollectiveBuyFixed.checked)
  205.             return;
  206.         var form = $(worldMap).find('form[name="form_domy"]');
  207.         $(form).find('table').css('margin-top', '90px');
  208.         $($(form).find('tr')[1]).css('position', 'fixed').css('top','0px').css('background-image', 'url("../images/pozadi/poz_drv.jpg")').css('width', '748px').css('margin-left', '-1px').css('display', 'table');
  209.         $($(form).find('tr')[2]).css('position', 'fixed').css('top','48px').css('background-image', 'url("../images/pozadi/poz_drv.jpg")').css('width', '748px').css('margin-left', '-1px').css('display', 'table');
  210.  
  211.     };
  212.     this._initMagicUnitsBuy = function(worldMap){
  213.         if (!this._options.useMageCollectiveBuyFixed.checked)
  214.             return;
  215.         var form = $(worldMap).find('form[name="form_domy"]');
  216.         $(form).find('table').css('margin-top', '150px');
  217.          $($(form).find('tr')[0]).css('position', 'fixed').css('top','0px').css('background-image', 'url("../images/pozadi/poz_drv.jpg")').css('width', '878px').css('margin-left', '-1px');
  218.         $(form).find('tr:nth-last-child(2)').css('position', 'fixed').css('top','68px').css('background-image', 'url("../images/pozadi/poz_drv.jpg")').css('width', '878px').css('margin-left', '-1px');
  219.         $(form).find('tr:last-child').css('position', 'fixed').css('top','108px').css('background-image', 'url("../images/pozadi/poz_drv.jpg")').css('width', '878px').css('margin-left', '-1px');
  220.         $(form).find('tr:last-child').find('td').css('width', '878px');
  221.  
  222.     };
  223.  
  224.     // =======================================================================================================================
  225.     this._initBuildings = function(worldMap){
  226.         var that = this;
  227.         // =======================================================================================================================
  228.         // Yippie start
  229.         // drž ctrl a jezdi s myší pro označování staveb v Hromadným nakupování
  230.         var $sb = $(worldMap).find('td[class="sb"]');
  231.         $sb.mouseenter(function(e){
  232.             if (e.ctrlKey) {
  233.                 $(this).find('img')[0].click();
  234.             }
  235.         });
  236.  
  237.         // přidání řádku s ikonkami, které označí celý sloupeček
  238.         var selectColumnHandler = function(e) {
  239.             var colSelId = $(this).attr('id');
  240.             var parent = $(this).parent();
  241.             var imgsToClick = $(worldMap).find('img[id$="_' + colSelId + '_o"');
  242.             if ($(parent).hasClass('sb')) {
  243.                 $(parent).attr('class', 'sp');
  244.                 // select na neoznaceny policka ktery maji zapornou cenu (nakup) nebo cerveny policka
  245.                 imgsToClick = $(imgsToClick).filter(function() {
  246.                     return (parseInt($(this).attr('title').split('(')[1].split(',')[0]) < 0 && $(this).parent().hasClass('sb')) || $(this).parent().hasClass('sz');
  247.                 });
  248.             } else if ($(parent).hasClass('sp')) {
  249.                 $(parent).attr('class', 'sz');
  250.                 // select na neoznaceny policka s kladnou cenou (prodej) nebo zeleny policka
  251.                 imgsToClick = $(imgsToClick).filter(function() {
  252.                     return (parseInt($(this).attr('title').split('(')[1].split(',')[0]) > 0 && $(this).parent().hasClass('sb')) || $(this).parent().hasClass('sp');
  253.                 });
  254.             } else if ($(parent).hasClass('sz')) {
  255.                 $(parent).attr('class', 'sb');
  256.                 // select na policka zeleny a cerveny policka
  257.                 imgsToClick = $(imgsToClick).filter(function() {
  258.                     return $(this).parent().hasClass('sp') || $(this).parent().hasClass('sz');
  259.                 });
  260.             }
  261.             $(imgsToClick).each(function() {
  262.                 $(this)[0].click();
  263.             });
  264.         }
  265.         var buildingsInfoArr = $(worldMap).find('#CiselnikStaveb').val().split(';').slice(0, -1);
  266.         var newLineStr = '<tr><td></td>';
  267.         var emptyLine = '<tr><td></td>';
  268.         var buildingInfoArr;
  269.         for (var i = 0; i < buildingsInfoArr.length; ++i) {
  270.             buildingInfoArr = buildingsInfoArr[i].split(',');
  271.             var colSelId = buildingInfoArr[0];
  272.             var imgsInColumn = $(worldMap).find('img[id$="_' + colSelId + '_o"');
  273.             var buildingIcon;
  274.             if ($(imgsInColumn).filter(function() {
  275.                 return (parseInt($(this).attr('title').split('(')[1].split(',')[0]) < 0 && $(this).parent().hasClass('sb')) || $(this).parent().hasClass('sz');
  276.             }).length == 0) {
  277.                 buildingIcon = buildingInfoArr[1];
  278.             } else {
  279.                 buildingIcon = buildingInfoArr[2];
  280.             }
  281.             newLineStr += '<td class="sb"><img class="colselimg" id="' + buildingInfoArr[0] + '" src="images/m/' + buildingIcon + '" title="' + buildingInfoArr[buildingInfoArr.length - 3] +'" /><input type="hidden" id="' + buildingInfoArr[0] + '" value="" name="' + buildingInfoArr[0] + '"/></td>';
  282.             emptyLine += '<td>-</td>';
  283.         }
  284.         newLineStr += '</tr>';
  285.         emptyLine += '</tr>';
  286.         var form = $(worldMap).find('form[name="form_buildings"]');
  287.         $(form).find('table').prepend(emptyLine);
  288.         $(form).find('table').prepend(newLineStr);
  289.         $(form).find('.colselimg').click(selectColumnHandler);
  290.         // Yippie end
  291.         // =======================================================================================================================
  292.         if (!this._options.useBuldingCollectiveBuyFixed.checked)
  293.             return;
  294.         $(form).find('table').css('margin-top', '48px');
  295.         $(form).find('tr:last-child').css('position', 'fixed').css('top','0px').css('background-image', 'url("../images/pozadi/poz_drv.jpg")').css('width', '1089px').css('margin-left', '-4px');
  296.  
  297.     };
  298.  
  299.  
  300.     this._spellValue1;
  301.     this._spellValue2;
  302.     this._spellValue3;
  303.     this._spellValue4;
  304.     this._spellValue5;
  305.     this._castSpell = false;
  306.     this._destroyBuildings = false;
  307.  
  308.     this.initLeftFrame = function(){
  309.  
  310.  
  311.  
  312.         var that = this;
  313.  
  314.  
  315.         var magicFrame = $('frame[name="Lista_Vlevo"]').contents();
  316.         var sendButton = $(magicFrame).find('input[type="submit"][name="Seslat"]');
  317.         if (sendButton.length>0){ // to snad bude jen u framu s magii :)
  318.             this._initMagicFrame(sendButton, magicFrame);
  319.  
  320.         }
  321.  
  322.         var formBuild = $(magicFrame).find('form[name="form_postavit"]');
  323.         if (formBuild.length>0 && this._options.useRemoveAllBuildings.checked){ // jsme na zalozce se stavenim
  324.             var destroyAllBtn = $('<tr><td colspan="2"><button class="butt_sml" style="color:red">Prodat vše</button></td></tr>');
  325.             $($(magicFrame).find('tbody')[1]).append(destroyAllBtn);
  326.             $(destroyAllBtn).find('button').on('click', function(e){
  327.                 e.preventDefault();
  328.                 e.stopPropagation();
  329.                 if (confirm('Pomodli se, než to potvrdíš!')){
  330.                     that._destroyBuildings = true;
  331.                     that.tryDestroyBuildings();
  332.                 }
  333.             });
  334.             if (that._destroyBuildings)
  335.                 that.tryDestroyBuildings();
  336.  
  337.         }
  338.  
  339.         var formContracts = $(magicFrame).find('form[name="smlouvy"]');
  340.         if (formContracts.length>0 && this._options.useContractTools.checked){ // jsme ve smlouvach
  341.             var selectAllContracts = $('<select class="list_centred"><option value="0"></option><option value="6" style="color:#FF4444">Válka</option><option value="3" style="color:#FFDD44">Obchodní</option><option value="2" style="color:#55AAFF">Magická</option><option value="1" style="color:#CCCCCC">Vojenská</option><option value="7" style="color:#00CC00">Mír</option><option value="4" style="color:#CC55DD">Volný průchod</option><option value="5" style="color:#999999">Zrušena</option></select>');
  342.             $(selectAllContracts).on('change', function(){
  343.                 $(magicFrame).find('select[name="CBoxMojeNabidka"]').val($(this).val());
  344.             });
  345.             var tr = $('<tr><td>Hromadná změna</td><td></td>');
  346.             $($(tr).find('td')[1]).append(selectAllContracts);
  347.             $($(magicFrame).find('tbody')[1]).append(tr);
  348.  
  349.             // ano vsem
  350.             var trYesNo = $('<tr><td>Hromadný příjem</td><td><button class="butt_sml" style="color:green" data-id="1">Ano</button><button class="butt_sml" style="color:red" data-id="0">Ne</button></td></tr>');
  351.             $(trYesNo).find('button').on('click', function(e){
  352.                 e.preventDefault();
  353.                 e.stopPropagation();
  354.                 $(magicFrame).find('select[name*="CBoxJehoNabidka"]').val($(this).data('id'));
  355.             });
  356.             $($(magicFrame).find('tbody')[1]).append(trYesNo);
  357.  
  358.         }
  359.  
  360.     };
  361.  
  362.     this.__magicLandsInput;
  363.  
  364.     this._initMagicFrame = function(sendButton, magicFrame){
  365.         var that = this;
  366.         $(sendButton).off('click').on('click', function(e) {
  367.  
  368.             // pridame zemky z inputu
  369.             if (that.__magicLandsInput){
  370.                 var landsFromInputText = $(that.__magicLandsInput).val();
  371.                 if (landsFromInputText != null && landsFromInputText != ''){
  372.                     var landsFromInput = landsFromInputText.split(',');
  373.                     for (var i = 0; i < landsFromInput.length; i++){
  374.                         var land = landsFromInput[i];
  375.                         land = land.replace(/\s*\(.*?\)\s*/g, ""); // odebereme vse ze zavorek
  376.                         land = land.trim(); // bily znaky
  377.                         if (land != ''){
  378.                             var landId = that._dataProvider.getLandIdByName(land);
  379.                             if (landId < 0){
  380.                                 alert('Země "'+land+'" nenalezena!!');
  381.                                 e.preventDefault();
  382.                                 e.stopPropagation();
  383.                                 that.lands = [];
  384.                                 return;
  385.                             }
  386.                             that.lands.push(landId);
  387.                         }
  388.                     }
  389.                 }
  390.             }
  391.  
  392.             if (that.lands.length > 0){
  393.                 e.preventDefault();
  394.                 e.stopPropagation();
  395.  
  396.  
  397.                 that._spellValue1 = $(magicFrame).find('#K1').val();
  398.                 that._spellValue2 = $(magicFrame).find('#K2').val();
  399.                 that._spellValue3 = $(magicFrame).find('#K3').val();
  400.                 that._spellValue4 = $(magicFrame).find('#K4').val();
  401.                 that._spellValue5 = $(magicFrame).find('#K5').val();
  402.  
  403.  
  404.  
  405.                 that._castSpell = true;
  406.                 that.tryCastSpell();
  407.             }
  408.         });
  409.         if (that._castSpell)
  410.             that.tryCastSpell();
  411.  
  412.         if (this._options.useMagicInput.checked){
  413.             this.__magicLandsInput = $('<textarea type="multiline" rows="5" style="background-color: #530000; color: #DDDD00" />');
  414.             $($(magicFrame).find('tbody')[1]).append(this.__magicLandsInput);
  415.         }
  416.  
  417.  
  418.     };
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.     this.tryCastSpell = function(){
  428.        var magicFrame = $('frame[name="Lista_Vlevo"]').contents();
  429.        var selectEnemyLand = $(magicFrame).find('#cb_enemy_lands');
  430.       var selectMyLand = $(magicFrame).find('#cb_my_lands');
  431.  
  432.  
  433.         if (this.lands.length > 0){
  434.             var id = this.lands.pop();
  435.               $(selectEnemyLand).val(id);
  436.                 $(selectMyLand).val(id);
  437.  
  438.                 $(magicFrame).find('#K1').val(this._spellValue1);
  439.                 $(magicFrame).find('#K2').val(this._spellValue2);
  440.                 $(magicFrame).find('#K3').val(this._spellValue3);
  441.                 $(magicFrame).find('#K4').val(this._spellValue4);
  442.                 $(magicFrame).find('#K5').val(this._spellValue5);
  443.  
  444.                 var magicForm = $(magicFrame).find('form[name="magie"]');
  445.  
  446.                 if (this.lands.length == 0)
  447.                 {
  448.                     this._castSpell = false;
  449.                     $(this.landDivs).removeClass('selectedLand');
  450.  
  451.                     this._spellValue1 = undefined;
  452.                     this._spellValue2 = undefined;
  453.                     this._spellValue3 = undefined;
  454.                     this._spellValue4 = undefined;
  455.                     this._spellValue5 = undefined;
  456.                 }
  457.  
  458.                 $(magicForm).submit();
  459.         }
  460.     };
  461.  
  462.     this.tryDestroyBuildings = function(){
  463.         var frameLeft = $('frame[name="Lista_Vlevo"]').contents();
  464.         var selectBuildings = $(frameLeft).find('select[name="CBoxVyvoj"]');
  465.  
  466.         var nextToRemove = $(selectBuildings).find('option[style="background-color:#340000;color: rgb(255,0,0)"]:not([value="5100"]):not([value="4999"])').attr('value'); // vse cervene krome vozu a oddelovace
  467.  
  468.         if (nextToRemove){
  469.             $(selectBuildings).val(nextToRemove);
  470.             $(frameLeft).find('form[name="form_postavit"]').submit();
  471.         }
  472.         else{
  473.             this._destroyBuildings = false;
  474.         }
  475.  
  476.     };
  477.  
  478.  
  479.     this._showLoading = function(){
  480.         this._loadingDom = $('<div style="position: fixed; top: 0; left: 0; height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; opacity:0.9;"><div>Zpracovávám hlášení</div><div><img src="http://giphygifs.s3.amazonaws.com/media/EeT7eR2j7X5UA/giphy.gif" /></div></div>');
  481.         $('html').append(this._loadingDom);
  482.  
  483.     };
  484.  
  485.     this._hideLoading = function(){
  486.         $(this._loadingDom).remove();
  487.     };
  488.  
  489.  
  490.  
  491.     this.init();
  492. }
  493.  
  494.    function DEKingDataProvider(){
  495.  
  496.        this.getLandIdByName = function(name){
  497.            var land = this.getLandByName(name);
  498.            if (land != null)
  499.                return land.id;
  500.            return -1;
  501.  
  502.        };
  503.  
  504.        this.getLandByName = function(name){
  505.            name = name.toLowerCase().trim();
  506.            var l = null;
  507.            for(var i = 0; i < this._allLandsList.length; i++){
  508.                var land = this._allLandsList[i];
  509.                if (land.cz.toLowerCase() == name || land.sk.toLowerCase() == name || land.en.toLowerCase() == name){
  510.                    l = land;
  511.                    break;
  512.                }
  513.            }
  514.            return l;
  515.        }
  516.  
  517.        this.getSpellById = function(id){
  518.            var spell = null;
  519.            for (var i = 0; i < this._allSpellsList.length; i++){
  520.                var s = this._allSpellsList[i];
  521.                if (s.id == id) {
  522.                    spell = s;
  523.                    break;
  524.                }
  525.            }
  526.            return spell;
  527.        }
  528.  
  529.        this.getSpellByImg = function(img){
  530.            var spell = null;
  531.            for (var i = 0; i < this._allSpellsList.length; i++){
  532.                var s = this._allSpellsList[i];
  533.                if (s.img == img) {
  534.                    spell = s;
  535.                    break;
  536.                }
  537.            }
  538.            return spell;
  539.        }
  540.  
  541.        this.getSpellByName = function(name){
  542.            name = name.trim();
  543.            var spell = null;
  544.            for (var i = 0; i < this._allSpellsList.length; i++){
  545.                var s = this._allSpellsList[i];
  546.                if (s.cz == name || s.sk == name || s.en == name) {
  547.                    spell = s;
  548.                    break;
  549.                }
  550.            }
  551.            return spell;
  552.        }
  553.  
  554.  
  555.        // seznam vsech zemi.. posbiranej, serazenej.. no tfuj.. :-)
  556.        this._allLandsList = JSON.parse('[{"id":1,"cz":"Horní val","sk":"Horný val","en":"Upper mound"},{"id":2,"cz":"Severní kopce","sk":"Severné kopce","en":"Northern Hills"},{"id":3,"cz":"Větrná step","sk":"Veterná step","en":"Windy steppe"},{"id":4,"cz":"Bystřina","sk":"Bystrina","en":"Torrent"},{"id":6,"cz":"Stará hláska","sk":"Stará hláska","en":"Old watchtower"},{"id":7,"cz":"Diamantový vrch","sk":"Diamantový vrch","en":"Diamond Hill"},{"id":8,"cz":"Záhoří","sk":"Záhorie","en":"Wood of fire"},{"id":9,"cz":"Doubov","sk":"Dubov","en":"Oak village"},{"id":10,"cz":"Vrchovina","sk":"Vrchovina","en":"Highlands"},{"id":12,"cz":"Ohnivá hora","sk":"Ohnivá hora","en":"Fire mountain"},{"id":13,"cz":"Velín","sk":"Velín","en":"Vellum"},{"id":14,"cz":"Železné doly","sk":"Železné bane","en":"Iron mines"},{"id":15,"cz":"Horní cesta","sk":"Horná cesta","en":"Upper way"},{"id":16,"cz":"Sokolí hory","sk":"Sokolie hory","en":"Falcon Mountains"},{"id":17,"cz":"Zapovězená svatyně","sk":"Zakázaná svätyňa","en":"Forbidden sanctuary"},{"id":19,"cz":"Koňská pláň","sk":"Konská pláň","en":"Horse Plains"},{"id":20,"cz":"Pustý kraj","sk":"Pustý kraj","en":"Empty land"},{"id":21,"cz":"Elfí osada","sk":"Elfia osada","en":"Elvenville"},{"id":22,"cz":"Západní přístav","sk":"Západný prístav","en":"Port West"},{"id":23,"cz":"Staré obětiště","sk":"Staré obetisko","en":"Old altar"},{"id":24,"cz":"Jílovsko","sk":"Ílovisko","en":"Clayland"},{"id":25,"cz":"Podhradí","sk":"Podhradie","en":"Outer Bailey"},{"id":26,"cz":"Hradiště","sk":"Hradisko","en":"Fort"},{"id":28,"cz":"Skřetí řeka","sk":"Škretia rieka","en":"Orc River"},{"id":29,"cz":"Zelené pláně","sk":"Zelené pláne","en":"Green Plains"},{"id":30,"cz":"Osada zbrojířů","sk":"Osada zbrojárov","en":"Saltpeterburg"},{"id":31,"cz":"Černý Les","sk":"Čierny les","en":"Black forest"},{"id":32,"cz":"Dračí skon","sk":"Dračí skon","en":"Dragon´s demise"},{"id":33,"cz":"Krvavá pláň","sk":"Krvavá pláň","en":"Bloody Plain"},{"id":34,"cz":"Jezero rusalek","sk":"Jazero rusaliek","en":"Lake of nymphs"},{"id":36,"cz":"Přímořsko","sk":"Prímorsko","en":"Seaside"},{"id":37,"cz":"Umrlčí pahorky","sk":"Umrlčie pahorky","en":"Dead Man´s Hills"},{"id":38,"cz":"Zlatý důl","sk":"Zlatá baňa","en":"Gold mine"},{"id":39,"cz":"Bažiny smutku","sk":"Bažiny smútku","en":"Swamps of Sorrow"},{"id":40,"cz":"Říše středu","sk":"Ríša stredu","en":"Central Empire"},{"id":41,"cz":"Opatství","sk":"Opátstvo","en":"Abbey"},{"id":42,"cz":"Elfí louky","sk":"Elfie lúky","en":"Elven Meadows"},{"id":44,"cz":"Vlčí doupata","sk":"Vlčie dúpätá","en":"Wolf Lairs"},{"id":46,"cz":"Chrám smrti","sk":"Chrám smrti","en":"Temple of Death"},{"id":47,"cz":"Bludná zem","sk":"Bludná zem","en":"Land of boulders"},{"id":48,"cz":"Malý hvozd","sk":"Malá húšťava","en":"Small Forest"},{"id":49,"cz":"Labutí prameny","sk":"Labutie pramene","en":"Swan Springs"},{"id":50,"cz":"Lesní obětiště","sk":"Lesné obetisko","en":"Forest Altar"},{"id":51,"cz":"Strážnice","sk":"Strážnica","en":"Guardhouse"},{"id":52,"cz":"Pramen osudu","sk":"Prameň osudu","en":"Spring of Destiny"},{"id":54,"cz":"Jezerní věž","sk":"Jazerná veža","en":"Lake Tower"},{"id":55,"cz":"Skřetí jeskyně","sk":"Škretia jaskyňa","en":"Orc Cave"},{"id":56,"cz":"Průsmyk","sk":"Priesmyk","en":"Mountain Pass"},{"id":57,"cz":"Pustá Tvrz","sk":"Pustá pevnosť","en":"Godforsaken Tower"},{"id":58,"cz":"Kupecké přístavy","sk":"Kupecké prístavy","en":"Merchant Harbours"},{"id":59,"cz":"Královský důl","sk":"Kráľovská baňa","en":"Royal Mine"},{"id":60,"cz":"Chlístov","sk":"Chlístov","en":"Land of fees"},{"id":61,"cz":"Koňské statky","sk":"Konské statky","en":"Horse Farms"},{"id":63,"cz":"Hrzov","sk":"Hrdzov","en":"Sorrowville"},{"id":64,"cz":"Jezerní hranice","sk":"Jazerná hranica","en":"Lake District"},{"id":65,"cz":"Čarodějná hláska","sk":"Čarodejná hláska","en":"Magic Watchtower"},{"id":66,"cz":"Země Dark Elfa","sk":"Zem Dark Elfa","en":"Land of Dark Elf"},{"id":67,"cz":"Země horalů","sk":"Zem horalov","en":"Land of Highlanders"},{"id":68,"cz":"Květinová pole","sk":"Kvetinové pole","en":"Flower Fields"},{"id":69,"cz":"Rug Tharsis","sk":"Rug Tharsis","en":"Rug Tharsis"},{"id":70,"cz":"Jezerní přístav","sk":"Jazerný prístav","en":"Lake Harbour"},{"id":71,"cz":"Medvědín","sk":"Medveďov","en":"Bearville"},{"id":72,"cz":"Ania el Arin","sk":"Ania el Arin","en":"Ania el Arin"},{"id":73,"cz":"Morrt Inmon","sk":"Morrt Inmon","en":"Morrt Inmon"},{"id":74,"cz":"Zlaté skály","sk":"Zlaté skaly","en":"Golden Rocks"},{"id":75,"cz":"Země koruny","sk":"Zem koruny","en":"Land of Crown"},{"id":76,"cz":"Osada kovářů","sk":"Osada kováčov","en":"Smithville"},{"id":77,"cz":"Trollí vrchy","sk":"Trollie vrchy","en":"Troll Hills"},{"id":78,"cz":"Zakletá mohyla","sk":"Zakliata mohyla","en":"Elf-struck barrow"},{"id":79,"cz":"Trpasličí doly","sk":"Trpasličie bane","en":"Dwarven mines"},{"id":80,"cz":"Skalní město","sk":"Skalné mesto","en":"Rock City"},{"id":81,"cz":"Ďáblova hora","sk":"Diablova hora","en":"Devil´s Mountain"},{"id":82,"cz":"Klášter Lin","sk":"Kláštor Lin","en":"Lin Monastery"},{"id":83,"cz":"Vlčí step","sk":"Vlčia step","en":"Wolf Steppe"},{"id":84,"cz":"Tir Mon","sk":"Tir Mon","en":"Tir Mon"},{"id":85,"cz":"Vinice","sk":"Vinice","en":"Vineyard"},{"id":86,"cz":"Kouzelný les","sk":"Kúzelný les","en":"Magic forest"},{"id":87,"cz":"Jezerní království","sk":"Jazerné kráľovstvo","en":"Kingdom of lakes"},{"id":88,"cz":"Inmonis","sk":"Inmonis","en":"Inmonis"},{"id":89,"cz":"Palmová oáza","sk":"Palmová oáza","en":"Palm Oasis"},{"id":90,"cz":"Větrný dvorec","sk":"Veterný dvorec","en":"Windy Manor"},{"id":91,"cz":"Kemen an Rin","sk":"Kemen an Rin","en":"Kemen an Rin"},{"id":92,"cz":"Strážný les","sk":"Strážny les","en":"Guard Forest"},{"id":93,"cz":"Hraniční poušť","sk":"Hraničná púšť","en":"Border Desert"},{"id":94,"cz":"Hlídka nomádů","sk":"Hliadka nomádov","en":"Guard of Nomads"},{"id":95,"cz":"Morrtis","sk":"Morrtis","en":"Morrtis"},{"id":96,"cz":"Mrtvá poušť","sk":"Mŕtva púšť","en":"Dead Desert"},{"id":97,"cz":"Osada nomádů","sk":"Osada nomádov","en":"Land of Nomads"},{"id":98,"cz":"Země mnichů","sk":"Zem mníchov","en":"Land of Monks"},{"id":99,"cz":"Město lesních elfů","sk":"Mesto lesných elfov","en":"Town of Forest Elves"},{"id":100,"cz":"Eridan Teos","sk":"Eridan Teos","en":"Eridan Teos"},{"id":101,"cz":"Var el Rug","sk":"Var el Rug","en":"Var el Rug"},{"id":102,"cz":"Hranice nomádů","sk":"Hranica nomádov","en":"Border of nomads"},{"id":103,"cz":"Orlí pevnost","sk":"Orlia pevnosť","en":"Eagle Fort"},{"id":104,"cz":"Klášterní výspa","sk":"Kláštorná strážnica","en":"Monk Outpost"},{"id":105,"cz":"Ledová zátoka","sk":"Ľadová zátoka","en":"Frozen Bay"},{"id":106,"cz":"Země bohatýrů","sk":"Zem bohatierov","en":"Land of Heroes"},{"id":107,"cz":"Trpasličí hory","sk":"Trpasličie hory","en":"Dwarven Mountains"},{"id":108,"cz":"Šedé hory","sk":"Šedé hory","en":"Grey Mountains"},{"id":109,"cz":"Severní spoušť","sk":"Severná spúšť","en":"Northern Havoc"},{"id":110,"cz":"Soumračné vrchy","sk":"Súmračné vrchy","en":"Hills of Nightfall"},{"id":111,"cz":"Kraj obrů","sk":"Kraj obrov","en":"Land of Giants"},{"id":112,"cz":"Černokněžnická říše","sk":"Černokňažnícka ríša","en":"Empire of Sorcerers"},{"id":113,"cz":"Temný hvozd","sk":"Temná húština","en":"Dark Forest"},{"id":114,"cz":"Divočina","sk":"Divočina","en":"Wilderness"},{"id":115,"cz":"Modré hory","sk":"Modré hory","en":"Blue Mountains"},{"id":116,"cz":"Osamělá hora","sk":"Osamelá hora","en":"Lonely Mountain"},{"id":117,"cz":"Železné hory","sk":"Železné hory","en":"Iron Mountains"},{"id":118,"cz":"Hůrecko","sk":"Hôrecko","en":"Underhill"},{"id":119,"cz":"Údolí elfů","sk":"Údolie elfov","en":"Valley of Elves"},{"id":120,"cz":"Jezero divochů","sk":"Jazero divochov","en":"Lake of savages"},{"id":121,"cz":"Elfí přístavy","sk":"Elfské prístavy","en":"Elven Harbours"},{"id":122,"cz":"Kraj půlčíků","sk":"Kraj hobitov","en":"The Shire"},{"id":123,"cz":"Elfí les","sk":"Elfí les","en":"Elven Forest"},{"id":124,"cz":"Bitevní pláň","sk":"Bojová pláň","en":"Battlefield"},{"id":125,"cz":"Větrný kraj","sk":"Veterný kraj","en":"Windshire"},{"id":126,"cz":"Železná věž","sk":"Železná veža","en":"Iron Tower"},{"id":127,"cz":"Vyprahlá zem","sk":"Vyprahnutá zem","en":"Parched Land"},{"id":128,"cz":"Popelavé hory","sk":"Popolavé hory","en":"Ashy Mountains"},{"id":129,"cz":"Vřesoviště","sk":"Vresovisko","en":"Heath"},{"id":130,"cz":"Země koní","sk":"Zem koní","en":"Land of Horses"},{"id":131,"cz":"Země stínů","sk":"Zem tieňov","en":"Land of Shadows"},{"id":132,"cz":"Dlouhopolsko","sk":"Dlhopolsko","en":"Flatland"},{"id":133,"cz":"Mořské království","sk":"Morské kráľovstvo","en":"Sea Kingdom"},{"id":134,"cz":"Země králů","sk":"Zem kráľov","en":"Land of Kings"},{"id":135,"cz":"Jižní cesta","sk":"Južná cesta","en":"Southern Path"},{"id":136,"cz":"Východní Jihozemsko","sk":"Východné Juhozemsko","en":"Eastern Southland"},{"id":137,"cz":"Západní Jihozemsko","sk":"Západné Juhozemsko","en":"Western Southland"},{"id":204,"cz":"Gal Jint","sk":"Gal Jint","en":"Gal Jint"},{"id":205,"cz":"Arcad Mon","sk":"Arcad Mon","en":"Arcad Mon"},{"id":206,"cz":"Salkan","sk":"Salkan","en":"Salkan"},{"id":207,"cz":"Galhad","sk":"Galhad","en":"Galhad"},{"id":208,"cz":"Východní podhůří","sk":"Východné podhorie","en":"East Piedmont"},{"id":209,"cz":"Vlčí zem","sk":"Vlčia zem","en":"Land of Wolves"},{"id":210,"cz":"Západní podhůří","sk":"Západné podhorie","en":"West Piedmont"},{"id":211,"cz":"Oriel Jint","sk":"Oriel Jint","en":"Oriel Jint"},{"id":212,"cz":"Eridanis","sk":"Eridanis","en":"Eridanis"},{"id":213,"cz":"Srdce pouště","sk":"Srdce púšte","en":"Heart of Desert"},{"id":214,"cz":"Aisha","sk":"Aisha","en":"Aisha"},{"id":215,"cz":"Kameny duchů","sk":"Kamene duchov","en":"Stones of Spirits"},{"id":216,"cz":"Osada","sk":"Osada","en":"Hamlet"},{"id":217,"cz":"Šedý klášter","sk":"Šedý kláštor","en":"Grey Monastery"},{"id":218,"cz":"Anshar","sk":"Anshar","en":"Anshar"},{"id":219,"cz":"Arrhad","sk":"Arrhad","en":"Arrhad"},{"id":220,"cz":"Pustina","sk":"Pustina","en":"Bled"},{"id":221,"cz":"Belnor","sk":"Belnor","en":"Belnor"},{"id":222,"cz":"Hadí hrob","sk":"Hadí hrob","en":"Snake Tomb"},{"id":223,"cz":"Měsíční věž","sk":"Mesačná veža","en":"Tower of Moon"},{"id":224,"cz":"Kan el osir","sk":"Kan el osir","en":"Kan el Osir"},{"id":225,"cz":"Vraní věž","sk":"Vrania veža","en":"Crow Tower"},{"id":226,"cz":"Krinor","sk":"Krinor","en":"Krinor"},{"id":227,"cz":"Skřetí doupata","sk":"Škretie dúpätá","en":"Orc Lairs"},{"id":228,"cz":"Vyprahlé tábořiště","sk":"Vyprahnuté táborisko","en":"Parched Camp"},{"id":229,"cz":"Bílá věž","sk":"Biela veža","en":"White Tower"},{"id":230,"cz":"Dahakan","sk":"Dahakan","en":"Dahakan"},{"id":237,"cz":"Úrodné pláně","sk":"Úrodné pláne","en":"Fertile Plains"},{"id":238,"cz":"Kamenný úvoz","sk":"Kamenný úvoz","en":"Rocky Ravine"},{"id":239,"cz":"Zátoka korzárů","sk":"Zátoka Korzárov","en":"Buccaneer Bay"},{"id":240,"cz":"Skrytý klášter","sk":"Skrytý kláštor","en":"Hidden Monastery"},{"id":241,"cz":"Skřetí stezka","sk":"Škretia cesta","en":"Orc Trail"},{"id":242,"cz":"Skřetí doly","sk":"Škretie bane","en":"Orc Mines"},{"id":243,"cz":"Til Man","sk":"Til Man","en":"Til Man"},{"id":244,"cz":"Lužina","sk":"Lužina","en":"Floodplain"},{"id":245,"cz":"Obří vodopády","sk":"Obrie vodopády","en":"Giant Waterfalls"},{"id":246,"cz":"Arratan","sk":"Arratan","en":"Arratan"},{"id":247,"cz":"Jižní přístav","sk":"Južný prístav","en":"Port South"},{"id":248,"cz":"Ostrov korzárů","sk":"Ostrov korzárov","en":"Island of Buccaneers"},{"id":249,"cz":"Údolí ďábla","sk":"Údolie diabla","en":"Devil´s Valley"},{"id":250,"cz":"Ledrie","sk":"Ledria","en":"Ledria"},{"id":251,"cz":"Ania el Sor","sk":"Ania el Sor","en":"Ania el Sor"},{"id":252,"cz":"Medvědí pevnost","sk":"Medvedia pevnosť","en":"Bear Fort"},{"id":253,"cz":"Vilmon","sk":"Vilmon","en":"Vilmon"},{"id":254,"cz":"Loděnice","sk":"Lodenica","en":"Dockyard"},{"id":255,"cz":"Gurmond","sk":"Gurmond","en":"Gurmond"},{"id":256,"cz":"Antenor","sk":"Antenor","en":"Antenor"},{"id":257,"cz":"Grim Leor","sk":"Grim Leor","en":"Grim Leor"},{"id":258,"cz":"Jižní cíp","sk":"Južný cíp","en":"Cape South"},{"id":259,"cz":"Střežený průsmyk","sk":"Strážený priesmyk","en":"Guarded Pass"},{"id":260,"cz":"Osiris","sk":"Osiris","en":"Osiris"},{"id":261,"cz":"Ledová soutěska","sk":"Ľadová tiesňava","en":"Frozen Pass"},{"id":262,"cz":"Vodní pevnost","sk":"Vodná pevnosť","en":"Water Fortress"},{"id":263,"cz":"Stezky bloudění","sk":"Cesty blúdenia","en":"Mazy Trails"},{"id":264,"cz":"Svatý strom","sk":"Svätý strom","en":"Holy Tree"},{"id":265,"cz":"Sídlo alchymistů","sk":"Sídlo alchymistov","en":"Alchemists Mansion"},{"id":266,"cz":"Velký močál","sk":"Veľký močiar","en":"Big Swamp"},{"id":267,"cz":"Elfí planiny","sk":"Elfie planiny","en":"Elven Plains"},{"id":268,"cz":"Věž poznání","sk":"Veža poznania","en":"Tower of Wisdom"},{"id":269,"cz":"Mohylový les","sk":"Mohylový les","en":"Barrow Forest"},{"id":270,"cz":"Rašeliniště","sk":"Rašelinisko","en":"Moorland"},{"id":271,"cz":"Mrtvý les","sk":"Mŕtvy les","en":"Dead Forest"},{"id":272,"cz":"Citadela Temnoty","sk":"Citadela Temnoty","en":"Citadel of Darkness"},{"id":273,"cz":"Khelek ledr","sk":"Khelek ledr","en":"Khelek Ledr"},{"id":274,"cz":"Vřesové kopce","sk":"Vresové kopce","en":"Heather Hills"},{"id":275,"cz":"Hraniční linie","sk":"Hraničná línia","en":"Frontier"},{"id":276,"cz":"Zlatý klášter","sk":"Zlatý kláštor","en":"Golden Monastery"},{"id":277,"cz":"Cech zabijáků","sk":"Cech zabijakov","en":"Assassin Guild"},{"id":278,"cz":"Lorman","sk":"Lorman","en":"Lorman"},{"id":279,"cz":"Kraj zbrojmistrů","sk":"Kraj zbrojmajstrov","en":"Land of armourers"},{"id":280,"cz":"Osada elfích lovců","sk":"Osada elfských lovcov","en":"Camp of Elven hunters"},{"id":281,"cz":"Skryté údolí","sk":"Skryté údolie","en":"Hidden Valley"},{"id":282,"cz":"Les pokoje","sk":"Les pokoja","en":"Forest of Tranquility"},{"id":283,"cz":"Jižní hlídka","sk":"Južná hliadka","en":"Southern Guard"},{"id":284,"cz":"Dellkan","sk":"Dellkan","en":"Dellkan"},{"id":285,"cz":"Strážné hory","sk":"Strážne hory","en":"Guard Mountains"},{"id":286,"cz":"Tábořiště barbarů","sk":"Táborisko barbarov","en":"Barbarian Camp"},{"id":287,"cz":"Pláň ohně","sk":"Pláň ohňa","en":"Plains of Fire"},{"id":288,"cz":"Město nekromantů","sk":"Mesto nekromantov","en":"Necromancer Town"},{"id":289,"cz":"Vypleněná zem","sk":"Vyplienená zem","en":"Wasteland"},{"id":290,"cz":"Popelavá zem","sk":"Popolavá zem","en":"Ashy Land"},{"id":291,"cz":"Dračí klášter","sk":"Dračí kláštor","en":"Dragon Monastery"},{"id":292,"cz":"Cug el Athol","sk":"Cug el Athol","en":"Cug el Athol"},{"id":293,"cz":"Prokletá zem","sk":"Prekliata zem","en":"Cursed Land"},{"id":294,"cz":"Krvavé pole","sk":"Krvavé pole","en":"Bloody Field"},{"id":295,"cz":"Skřetí zbořenina","sk":"Škretie zborenisko","en":"Goblin Ruins"},{"id":296,"cz":"Zpustošené město","sk":"Spustošené mesto","en":"Destroyed town"},{"id":297,"cz":"Had el har","sk":"Had el har","en":"Had el Har"},{"id":298,"cz":"Jezero třpytu","sk":"Jazero lesku","en":"Shimmer Lake"},{"id":299,"cz":"Pekelná výheň","sk":"Pekelná vyhňa","en":"Devil´s Forge"},{"id":300,"cz":"Šibeniční vrchy","sk":"Šibeničné vrchy","en":"Gallow Hills"},{"id":301,"cz":"Pláň kostí","sk":"Pláň kostí","en":"Plain of Bones"},{"id":302,"cz":"Dračí spoušť","sk":"Dračia spúšť","en":"Dragon Havoc"},{"id":303,"cz":"Trollí loviště","sk":"Trollie lovisko","en":"Troll Hunts"},{"id":304,"cz":"Hranice smrti","sk":"Hranica smrti","en":"Border of Death"},{"id":305,"cz":"Stezka barbarů","sk":"Cesta barbarov","en":"Barbarian Trail"},{"id":306,"cz":"Skřetí hlídka","sk":"Škretia hliadka","en":"Orc Guard"},{"id":307,"cz":"Otrávená pustina","sk":"Otrávená pustatina","en":"Poisoned Bled"},{"id":308,"cz":"Spáleniště","sk":"Spálenisko","en":"Burns"},{"id":309,"cz":"Meziříčí","sk":"Medziriečie","en":"Mesopotamia"},{"id":310,"cz":"Skryté město","sk":"Skryté mesto","en":"Hidden Town"},{"id":311,"cz":"Stráž hranice","sk":"Stráž hranice","en":"Border Guard"},{"id":312,"cz":"Posvěcená zem","sk":"Posvätená zem","en":"Blessed Land"},{"id":313,"cz":"Elfí řeka","sk":"Elfia rieka","en":"Elven River"},{"id":314,"cz":"Radov","sk":"Radov","en":"Happytown"},{"id":315,"cz":"Jezero dryád","sk":"Jazero dryád","en":"Lake of Dryads"},{"id":316,"cz":"Ústí","sk":"Ústie","en":"Delta"},{"id":317,"cz":"Kutov","sk":"Kutov","en":"Mineville"},{"id":318,"cz":"Hadí pláně","sk":"Hadie pláne","en":"Plains of Snakes"},{"id":319,"cz":"Klášter Aborea","sk":"Kláštor Aborea","en":"Aborea Monastery"},{"id":320,"cz":"Elfí hlídka","sk":"Elfia hliadka","en":"Elven Guard"},{"id":321,"cz":"Přístav Kythie","sk":"Prístav Kythia","en":"Port Kythia"},{"id":322,"cz":"Pobřeží perel","sk":"Pobrežie perál","en":"Pearl Shore"},{"id":323,"cz":"Ostrov barbarů","sk":"Ostrov barbarov","en":"Barbarian Island"},{"id":324,"cz":"Démantové hory","sk":"Diamantové hory","en":"Diamond Mountains"},{"id":325,"cz":"Pobřeží úsvitu","sk":"Pobrežie úsvitu","en":"Beaches of Dawn"},{"id":326,"cz":"Osada katů","sk":"Osada katov","en":"Hangville"},{"id":327,"cz":"Mithrilové hory","sk":"Mithrilové hory","en":"Mithril Mountains"},{"id":328,"cz":"Útesy smrti","sk":"Útesy smrti","en":"Cliffs of Death"},{"id":329,"cz":"Monument vítězství","sk":"Monument víťazstva","en":"Victory Monument"},{"id":330,"cz":"Kraj klenotníků","sk":"Kraj klenotníkov","en":"Land of Jewellers"},{"id":331,"cz":"Ostrov templářů","sk":"Ostrov templárov","en":"Island of Templars"},{"id":332,"cz":"Přístav Torment","sk":"Prístav Torment","en":"Port Torment"},{"id":333,"cz":"Zaniklá říše","sk":"Zaniknutá ríša","en":"Extinct empire"},{"id":334,"cz":"Osamělý klášter","sk":"Osamelý kláštor","en":"Quiet Monastery"},{"id":335,"cz":"Jestřábí hory","sk":"Jastrabie hory","en":"Hawk Mountains"},{"id":336,"cz":"Antemon","sk":"Antemon","en":"Antemon"},{"id":337,"cz":"Věž démonů","sk":"Veža démonov","en":"Tower of Demons"},{"id":338,"cz":"Cesta skurutů","sk":"Cesta skurutov","en":"Uruk-Hai Trail"},{"id":339,"cz":"Královská pevnost","sk":"Kráľovská pevnosť","en":"Royal Fortress"},{"id":340,"cz":"Smutné jezero","sk":"Smutné jazero","en":"Lake of Sadness"},{"id":341,"cz":"Kapřín","sk":"Kaprov","en":"Fishbury"},{"id":342,"cz":"Skřetí přístav","sk":"Škretí prístav","en":"Orc Harbour"},{"id":343,"cz":"Thim Kan","sk":"Thim Kan","en":"Thim Kan"},{"id":344,"cz":"Osada lodivodů","sk":"Osada lodivodov","en":"Settlement of Pilots"},{"id":345,"cz":"Belman","sk":"Belman","en":"Belman"},{"id":346,"cz":"Arr dol","sk":"Arr dol","en":"Arr Dol"},{"id":347,"cz":"Štičí řeka","sk":"Rieka šťúk","en":"Pike River"},{"id":348,"cz":"Mramorová věž","sk":"Mramorová veža","en":"Marble Tower"},{"id":349,"cz":"Mlýnice","sk":"Mlynica","en":"Millshire"},{"id":350,"cz":"Vrchy zbojníků","sk":"Vrchy zbojníkov","en":"Hills of Brigands"},{"id":351,"cz":"Zátoka komárů","sk":"Zátoka komárov","en":"Mosquito Bay"},{"id":352,"cz":"Oriel el Alb","sk":"Oriel el Alb","en":"Oriel el Alb"},{"id":353,"cz":"Osada obchodníků","sk":"Osada obchodníkov","en":"Traderville"},{"id":354,"cz":"Hory Nelian","sk":"Hory Nelian","en":"Nelian Mountains"},{"id":355,"cz":"Ledopád","sk":"Ľadopád","en":"Icefall"},{"id":356,"cz":"Ledové jezero","sk":"Ľadové jazero","en":"Frosty Lake"},{"id":357,"cz":"Sněžná pevnost","sk":"Snežná pevnosť","en":"Snowy Fortress"},{"id":358,"cz":"Čarodějné hory","sk":"Čarodejné hory","en":"Magic Mountains"},{"id":359,"cz":"Jeskyně Siitcewa","sk":"Jaskyňa Siitcewa","en":"Cave of Siitcewa"},{"id":360,"cz":"Tajemný portál","sk":"Tajomný portál","en":"Mysterious Portal"},{"id":361,"cz":"Kouzelný mlýn","sk":"Kúzelný mlyn","en":"Magic Mill"},{"id":362,"cz":"Severní útočiště","sk":"Severné útočisko","en":"Northern Refuge"},{"id":363,"cz":"Sobí stezka","sk":"Sobia rieka","en":"Reindeer Path"},{"id":364,"cz":"Tábor divochů","sk":"Tábor divochov","en":"Native Camp"},{"id":365,"cz":"Trpasličí štoly","sk":"Trpasličie štôlne","en":"Dwarven Galleries"},{"id":366,"cz":"Kardif","sk":"Kardif","en":"Kardif"},{"id":367,"cz":"Barbarská step","sk":"Barbarská step","en":"Barbarian Steppe"},{"id":368,"cz":"Závětří","sk":"Závetrie","en":"Leeward"},{"id":369,"cz":"Zem ještěrů","sk":"Zem jašterov","en":"Sauria"},{"id":370,"cz":"Zátočina","sk":"Zátočina","en":"Refuge"},{"id":371,"cz":"Skřetosluj","sk":"Škreťolom","en":"Orc Cavern"},{"id":372,"cz":"Hrad černých rytířů","sk":"Hrad čiernych rytierov","en":"Castle of Black Knights"},{"id":373,"cz":"Auguron","sk":"Auguron","en":"Auguron"},{"id":374,"cz":"Krčma u Kulhavce","sk":"Krčma u Krivého","en":"Tavern By drunk"},{"id":375,"cz":"Algeban","sk":"Algeban","en":"Algeban"},{"id":376,"cz":"Barbarské legie","sk":"Barbarská légia","en":"Barbarian Legions"},{"id":377,"cz":"Království barbarů","sk":"Kráľovstvo barbarov","en":"Kingdom of Barbarians"},{"id":378,"cz":"Mahulská pole","sk":"Mahulské polia","en":"Mahul Fields"},{"id":379,"cz":"Cedrové údolí","sk":"Cédrové údolie","en":"Cedar Valley"},{"id":380,"cz":"Skarha","sk":"Skarha","en":"Skarha"},{"id":381,"cz":"Studna naděje","sk":"Studňa nádeje","en":"Fountain of Hope"},{"id":382,"cz":"Zbořený kostelec","sk":"Zborený kostolík","en":"Razed Guardtower"},{"id":383,"cz":"Linské hory","sk":"Linské hory","en":"Lin Mountains"},{"id":384,"cz":"Obelisk osudu","sk":"Obelisk osudu","en":"Obelisk of Destiny"},{"id":385,"cz":"Kovárna trpaslíků","sk":"Kováčňa trpaslíkov","en":"Dwarven Forge"},{"id":386,"cz":"Prokletá věž","sk":"Prekliata veža","en":"Cursed Tower"},{"id":387,"cz":"Moriagor","sk":"Moriagor","en":"Moriagor"},{"id":388,"cz":"Mlžné jezero","sk":"Hmlové jazero","en":"Foggy Lake"},{"id":389,"cz":"Hrad Laradur","sk":"Hrad Laradur","en":"Castle Laradur"},{"id":390,"cz":"Hvozd čarodějnic","sk":"Húština čarodejníc","en":"Forest of Witches"},{"id":391,"cz":"Město lesního lidu","sk":"Mesto lesného ľudu","en":"Town of Forest Folk"},{"id":392,"cz":"Totem temnoty","sk":"Totem temnoty","en":"Totem of Darkness"},{"id":393,"cz":"Ďáblovy pece","sk":"Diablove pece","en":"Devil´s Furnaces"},{"id":394,"cz":"Poslední soud","sk":"Posledný súd","en":"Land of Doom"},{"id":395,"cz":"Hory šílenství","sk":"Hory šialenstva","en":"Mountains of Insanity"},{"id":396,"cz":"Les kostí","sk":"Les kostí","en":"Forest of Bones"},{"id":397,"cz":"Propast zhouby","sk":"Priepasť záhuby","en":"Abyss of Bane"},{"id":398,"cz":"Kraj drakobijců","sk":"Kraj drakobijcov","en":"Land of Dragonslayers"},{"id":399,"cz":"Planina zmaru","sk":"Planina zmaru","en":"Plain of Blight"},{"id":400,"cz":"Svatyně Nicoty","sk":"Svätyňa Ničoty","en":"Sanctuary of Nothingness"},{"id":401,"cz":"Hrobka pánů severu","sk":"Hrobky pánov severu","en":"Crypt of Masters of North"},{"id":402,"cz":"Barbarská stráž","sk":"Barbarská stráž","en":"Barbarian Guard"},{"id":403,"cz":"Strážná step","sk":"Strážna step","en":"Guard Steppe"},{"id":404,"cz":"Drakeova marka","sk":"Drakeova marka","en":"Drake´s Mark"},{"id":405,"cz":"Vrchy ozvěn","sk":"Vrchy ozvien","en":"Hills of Echoes"},{"id":406,"cz":"Kolny","sk":"Kôlne","en":"Sheds"},{"id":407,"cz":"Pelouchy","sk":"Pelechy","en":"Lairs"},{"id":408,"cz":"Thim Inmon","sk":"Thim Inmon","en":"Thim Inmon"},{"id":409,"cz":"Říše Argad","sk":"Ríša Argad","en":"Argadian Empire"},{"id":410,"cz":"Stěžery","sk":"Stožiare","en":"Serfvale"},{"id":411,"cz":"Lesní portál","sk":"Lesný portál","en":"Forest Portal"},{"id":412,"cz":"Arr Ania","sk":"Arr Ania","en":"Arr Ania"},{"id":413,"cz":"Sněžné hory","sk":"Snežné hory","en":"Snowy Mountains"},{"id":414,"cz":"Osada půlčíků","sk":"Osada hobitov","en":"Halfling Village"},{"id":415,"cz":"Pramenité vrchy","sk":"Pramenité vrchy","en":"Hills of Streams"},{"id":416,"cz":"Hadakanův hvozd","sk":"Hadakanova húština","en":"Forest of Hadakan"},{"id":417,"cz":"Lesní brána","sk":"Lesná brána","en":"Forest Gate"},{"id":418,"cz":"Vlčí brázda","sk":"Vlčia brázda","en":"Wolf Furrow"},{"id":419,"cz":"Imrazd","sk":"Imrazd","en":"Imrazd"},{"id":420,"cz":"Khelek Jint","sk":"Khelek Jint","en":"Khelek Jint"},{"id":421,"cz":"Větrov","sk":"Vetrov","en":"Windburg"},{"id":422,"cz":"Pastviny","sk":"Pastviny","en":"Meadows"},{"id":423,"cz":"Kraj koření","sk":"Kraj korenia","en":"The land of herbs"},{"id":424,"cz":"Til Thar","sk":"Til Thar","en":"Til Thar"},{"id":425,"cz":"Podhůří","sk":"Podhorie","en":"Piedmont"},{"id":426,"cz":"Zem druidů","sk":"Zem druidov","en":"Land of Druids"},{"id":427,"cz":"Tiché údolí","sk":"Tiché údolie","en":"Silent Valley"},{"id":428,"cz":"Půtkov","sk":"Pútkov","en":"Hassleburg"},{"id":429,"cz":"Stínov","sk":"Tieňov","en":"Shadowburg"},{"id":430,"cz":"Hrad Perst","sk":"Hrad Perst","en":"Castle Perst"},{"id":431,"cz":"Dunící hora","sk":"Duniaca hora","en":"Rumbling Mountain"},{"id":432,"cz":"Rákosiny","sk":"Rákosiny","en":"Reeds"},{"id":433,"cz":"Soutočné louky","sk":"Sútočné lúky","en":"River Meadows"},{"id":434,"cz":"Perknov","sk":"Perknov","en":"Boozeburg"},{"id":435,"cz":"Osada malomocných","sk":"Osada malomocných","en":"Settlement of Lepers"},{"id":436,"cz":"Les skřítků","sk":"Les škriatkov","en":"Forest of Gnomes"},{"id":437,"cz":"Hájina","sk":"Hájená","en":"Deep Forest"},{"id":438,"cz":"Kraj rybářů","sk":"Kraj rybárov","en":"Land of Fishermen"},{"id":439,"cz":"Zem bažin","sk":"Zem bažín","en":"Swamps"},{"id":440,"cz":"Slonovinová věž","sk":"Slonovinová veža","en":"Ivory Tower"},{"id":441,"cz":"Černá hláska","sk":"Čierna hláska","en":"Black Guardtower"},{"id":442,"cz":"Křečhoř","sk":"Kŕčhor","en":"Amazon"},{"id":443,"cz":"Lesní klášter","sk":"Lesný kláštor","en":"Forest Monastery"},{"id":444,"cz":"Dělící jezero","sk":"Deliace jazero","en":"Dividing Lake"},{"id":445,"cz":"Zem tůní","sk":"Zem tôní","en":"Poolshire"},{"id":446,"cz":"Srdce močálu","sk":"Srdce močiara","en":"Heart of Swamp"},{"id":447,"cz":"Jezerní osada","sk":"Jazerná osada","en":"Lakeville"},{"id":448,"cz":"Pomezí","sk":"Pomedzie","en":"Borderland"},{"id":449,"cz":"Dellmor","sk":"Dellmor","en":"Dellmor"},{"id":450,"cz":"Trollí most","sk":"Trollí most","en":"Troll Bridge"},{"id":451,"cz":"Bažina smrti","sk":"Barina smrti","en":"Swamp of Death"},{"id":452,"cz":"Mokrá pláň","sk":"Mokrá pláň","en":"Drenched Plains"},{"id":453,"cz":"Alb Kemen","sk":"Alb Kemen","en":"Alb Kemen"},{"id":454,"cz":"Pevnost Geran","sk":"Pevnosť Geran","en":"Fortress Geran"},{"id":455,"cz":"Werdor","sk":"Werdor","en":"Werdor"},{"id":456,"cz":"Mokřady","sk":"Mokrade","en":"Marshland"},{"id":457,"cz":"Bobří řeka","sk":"Bobria rieka","en":"Beaver River"},{"id":458,"cz":"Vodní mlýn","sk":"Vodný mlyn","en":"Water Mill"},{"id":459,"cz":"Zlatá hláska","sk":"Zlatá hláska","en":"Golden Guardhouse"},{"id":460,"cz":"Ohnivý kruh","sk":"Ohnivý kruh","en":"Ring of Fire"},{"id":461,"cz":"Hranice stínů","sk":"Hranica tieňov","en":"Border of Shadows"},{"id":462,"cz":"Ostrov mrtvých","sk":"Ostrov mŕtvych","en":"Isle of the Dead"},{"id":463,"cz":"Nor el Har","sk":"Nor el Har","en":"Nor el Har"},{"id":464,"cz":"Leor el Morrt","sk":"Leor el Morrt","en":"Leor el Morrt"},{"id":465,"cz":"Cesta bohů","sk":"Cesta bohov","en":"Path of gods"},{"id":466,"cz":"Pirátská krčma","sk":"Pirátska krčma","en":"Pirate Dive"},{"id":467,"cz":"Aréna smrti","sk":"Aréna smrti","en":"Arena of Death"},{"id":468,"cz":"Zem mořeplavců","sk":"Zem moreplavcov","en":"Land of Sailors"},{"id":469,"cz":"Zámostí","sk":"Zámostie","en":"Lumbridge"},{"id":470,"cz":"Thingolan","sk":"Thingolan","en":"Thingolan"},{"id":471,"cz":"Elmonath","sk":"Elmonath","en":"Elmonath"},{"id":472,"cz":"Malá delta","sk":"Malá delta","en":"Small Delta"},{"id":473,"cz":"Atan Kirs","sk":"Atan Kirs","en":"Atan Kirs"},{"id":474,"cz":"Thar el Zall","sk":"Thar el Zall","en":"Thar el Zall"},{"id":475,"cz":"Andiwa","sk":"Andiwa","en":"Andiwa"},{"id":476,"cz":"Konar el Morrt","sk":"Konar el Morrt","en":"Konar el Morrt"},{"id":477,"cz":"Přístav Trákie","sk":"Prístav Trákia","en":"Port Trakia"},{"id":478,"cz":"Lorion","sk":"Lorion","en":"Lorion"},{"id":479,"cz":"Zátoka elfů","sk":"Zátoka elfov","en":"Elven Bay"},{"id":480,"cz":"Citadela Eliador","sk":"Citadela Eliador","en":"Citadel Eliador"},{"id":481,"cz":"Průsmyk padlých","sk":"Priesmyk padlých","en":"Pass of Dead Soldiers"},{"id":482,"cz":"Khelek Kirs","sk":"Khelek Kirs","en":"Khelek Kirs"},{"id":483,"cz":"Dol el Zint","sk":"Dol el Zint","en":"Dol el Zint"},{"id":484,"cz":"Kovárny","sk":"Kováčne","en":"Forges"},{"id":485,"cz":"Brána naděje","sk":"Brána nádeje","en":"Gate of Hope"},{"id":486,"cz":"Rivia","sk":"Rivia","en":"Rivia"},{"id":487,"cz":"Ďáblův pramen","sk":"Diablov prameň","en":"Devil’s Spring"},{"id":488,"cz":"Elfí věštírna","sk":"Elfia veštiareň","en":"Elven Oracle"},{"id":489,"cz":"Vrchy ohně","sk":"Vrchy ohňa","en":"Hills of Fire"},{"id":490,"cz":"Utasar","sk":"Utasar","en":"Utasar"},{"id":491,"cz":"Severní hradba","sk":"Severná hradba","en":"Northern Wall"},{"id":492,"cz":"Dahamond","sk":"Dahamond","en":"Dahamond"},{"id":493,"cz":"Trpasličí dílny","sk":"Trpasličie dielne","en":"Dwarven Works"},{"id":494,"cz":"Trpasluj","sk":"Trpaslom","en":"Dwarrowdelf"},{"id":495,"cz":"Zartie","sk":"Zartie","en":"Zartia"},{"id":496,"cz":"Korstan","sk":"Korstan","en":"Korstan"},{"id":497,"cz":"Dvě věže","sk":"Dve veže","en":"Two Towers"},{"id":498,"cz":"Zallman","sk":"Zallman","en":"Zallman"},{"id":499,"cz":"Lesetria","sk":"Lesetria","en":"Lesetria"},{"id":500,"cz":"Veverčí vrchy","sk":"Veveričie vrchy","en":"Squirrel Hills"},{"id":501,"cz":"Baldur","sk":"Baldur","en":"Baldur"},{"id":502,"cz":"Oltář vampýrů","sk":"Oltár upírov","en":"Altar of Vampires"},{"id":503,"cz":"Houštiny","sk":"Húštiny","en":"Thickets"},{"id":504,"cz":"Osada léčitelů","sk":"Osada liečiteľov","en":"Healer Village"},{"id":505,"cz":"Věž úsvitu","sk":"Veža úsvitu","en":"Tower of Dawn"},{"id":506,"cz":"Doupě vrahů","sk":"Dúpä vrahov","en":"Den of Thugs"},{"id":507,"cz":"Gulova samota","sk":"Gulova samota","en":"Gul´s seclusion"},{"id":508,"cz":"Eridan Cug","sk":"Eridan Cug","en":"Eridan Cug"},{"id":509,"cz":"Žabí tůň","sk":"Žabia kaluž","en":"Frog Pool"},{"id":510,"cz":"Kan el Charat","sk":"Kan el Charat","en":"Kan el Charat"},{"id":511,"cz":"Celeb Thar","sk":"Celeb Thar","en":"Celeb Thar"},{"id":512,"cz":"Býčí věž","sk":"Býčia veža","en":"Bull Tower"},{"id":"7101","cz":"Výmar","sk":"Výmar","en":""},{"id":"7102","cz":"Lipsko","sk":"Lipsko","en":""},{"id":"7130","cz":"Chomutov","sk":"Chomutov","en":""},{"id":"7131","cz":"Kadaň","sk":"Kadaň","en":""},{"id":"7132","cz":"Most","sk":"Most","en":""},{"id":"7133","cz":"Žatec","sk":"Žatec","en":""},{"id":"7134","cz":"Teplice","sk":"Teplice","en":""},{"id":"7136","cz":"Říp","sk":"Říp","en":""},{"id":"7137","cz":"Děčín","sk":"Děčín","en":""},{"id":"7139","cz":"Litoměřice","sk":"Litoměřice","en":""},{"id":"7140","cz":"Budyně","sk":"Budyně","en":""},{"id":"7135","cz":"Louny","sk":"Louny","en":""},{"id":"7112","cz":"Altzella","sk":"Altzella","en":""},{"id":"7108","cz":"Jena","sk":"Jena","en":""},{"id":"7124","cz":"Lauenstein","sk":"Lauenstein","en":""},{"id":"7138","cz":"Ústí nad Labem","sk":"Ústí nad Labem","en":""},{"id":"7103","cz":"Gnandstein","sk":"Gnandstein","en":""},{"id":"7104","cz":"Wurzen","sk":"Wurzen","en":""},{"id":"7105","cz":"Grimma","sk":"Grimma","en":""},{"id":"7106","cz":"Mildenstein","sk":"Mildenstein","en":""},{"id":"7107","cz":"Gera","sk":"Gera","en":""},{"id":"7109","cz":"Cvikov","sk":"Cvikov","en":""},{"id":"7110","cz":"Glauchau","sk":"Glauchau","en":""},{"id":"7111","cz":"Freiberg","sk":"Freiberg","en":""},{"id":"7113","cz":"Torgau","sk":"Torgau","en":""},{"id":"7114","cz":"Albrechtsburg","sk":"Albrechtsburg","en":""},{"id":"7115","cz":"Míšeň","sk":"Míšeň","en":""},{"id":"7116","cz":"Drážďany","sk":"Drážďany","en":""},{"id":"7117","cz":"Marienberg","sk":"Marienberg","en":""},{"id":"7118","cz":"Chemnitz","sk":"Chemnitz","en":""},{"id":"7119","cz":"Annaberg","sk":"Annaberg","en":""},{"id":"7120","cz":"Aue","sk":"Aue","en":""},{"id":"7121","cz":"Plavno","sk":"Plavno","en":""},{"id":"7122","cz":"Klingenthal","sk":"Klingenthal","en":""},{"id":"7123","cz":"Scharfenstein","sk":"Scharfenstein","en":""},{"id":"7125","cz":"Koenigstein","sk":"Koenigstein","en":""},{"id":"7126","cz":"Ortenburg","sk":"Ortenburg","en":""},{"id":"7127","cz":"Pirna","sk":"Pirna","en":""},{"id":"7128","cz":"Karlovy Vary","sk":"Karlovy Vary","en":""},{"id":"7129","cz":"Hasištejn","sk":"Hasištejn","en":""},{"id":"7141","cz":"Bautzen","sk":"Bautzen","en":""},{"id":"7143","cz":"Markersdorf","sk":"Markersdorf","en":""},{"id":"7170","cz":"Jelení hora","sk":"Jelení hora","en":""},{"id":"7172","cz":"Lehnice","sk":"Lehnice","en":""},{"id":"7173","cz":"Javor","sk":"Javor","en":""},{"id":"7174","cz":"Kamenná Hora","sk":"Kamenná Hora","en":""},{"id":"7175","cz":"Valdenburk","sk":"Valdenburk","en":""},{"id":"7177","cz":"Górka","sk":"Górka","en":""},{"id":"7180","cz":"Nowa Ruda","sk":"Nowa Ruda","en":""},{"id":"7171","cz":"Lehnické Pole","sk":"Lehnické Pole","en":""},{"id":"7142","cz":"Zhořelec","sk":"Zhořelec","en":""},{"id":"7166","cz":"Sobieszów","sk":"Sobieszów","en":""},{"id":"7176","cz":"Lubuš","sk":"Lubuš","en":""},{"id":"7178","cz":"Svídnice","sk":"Svídnice","en":""},{"id":"7164","cz":"Boleslawiec","sk":"Boleslawiec","en":""},{"id":"7179","cz":"Cieplowody","sk":"Cieplowody","en":""},{"id":"7144","cz":"Žitava","sk":"Žitava","en":""},{"id":"7145","cz":"Henryków Lubański","sk":"Henryków Lubański","en":""},{"id":"7146","cz":"Lubaň","sk":"Lubaň","en":""},{"id":"7147","cz":"Frýdlant","sk":"Frýdlant","en":""},{"id":"7148","cz":"Šluknov","sk":"Šluknov","en":""},{"id":"7149","cz":"Sloup","sk":"Sloup","en":""},{"id":"7150","cz":"Liberec","sk":"Liberec","en":""},{"id":"7151","cz":"Jablonec","sk":"Jablonec","en":""},{"id":"7152","cz":"Česká Lípa","sk":"Česká Lípa","en":""},{"id":"7153","cz":"Bezděz","sk":"Bezděz","en":""},{"id":"7154","cz":"Kokořín","sk":"Kokořín","en":""},{"id":"7155","cz":"Mladá Boleslav","sk":"Mladá Boleslav","en":""},{"id":"7156","cz":"Trosky","sk":"Trosky","en":""},{"id":"7157","cz":"Kost","sk":"Kost","en":""},{"id":"7158","cz":"Semily","sk":"Semily","en":""},{"id":"7159","cz":"Vrchlabí","sk":"Vrchlabí","en":""},{"id":"7160","cz":"Dvůr Králové","sk":"Dvůr Králové","en":""},{"id":"7161","cz":"Trutnov","sk":"Trutnov","en":""},{"id":"7162","cz":"Broumov","sk":"Broumov","en":""},{"id":"7163","cz":"Náchod","sk":"Náchod","en":""},{"id":"7165","cz":"Nowogrodziec","sk":"Nowogrodziec","en":""},{"id":"7167","cz":"Hlohov","sk":"Hlohov","en":""},{"id":"7168","cz":"Zlotoryja","sk":"Zlotoryja","en":""},{"id":"7169","cz":"Wlen","sk":"Wlen","en":""},{"id":"7181","cz":"Vratislav","sk":"Vratislav","en":""},{"id":"7182","cz":"Lesnica","sk":"Lesnica","en":""},{"id":"7210","cz":"Krzepice","sk":"Krzepice","en":""},{"id":"7211","cz":"Lubliniec","sk":"Lubliniec","en":""},{"id":"7212","cz":"Zawadzkie","sk":"Zawadzkie","en":""},{"id":"7213","cz":"Balchatow","sk":"Balchatow","en":""},{"id":"7214","cz":"Radomsko","sk":"Radomsko","en":""},{"id":"7215","cz":"Dankow","sk":"Dankow","en":""},{"id":"7216","cz":"Jasná hora","sk":"Jasná hora","en":""},{"id":"7217","cz":"Čenstochová","sk":"Čenstochová","en":""},{"id":"7218","cz":"Bobolice","sk":"Bobolice","en":""},{"id":"7219","cz":"Bytom","sk":"Bytom","en":""},{"id":"7220","cz":"Bedzin","sk":"Bedzin","en":""},{"id":"7200","cz":"Bobrovniki","sk":"Bobrovniki","en":""},{"id":"7187","cz":"Olešnice","sk":"Olešnice","en":""},{"id":"7208","cz":"Wieluň","sk":"Wieluň","en":""},{"id":"7183","cz":"Lagievniki","sk":"Lagievniki","en":""},{"id":"7184","cz":"Zloty Stok","sk":"Zloty Stok","en":""},{"id":"7185","cz":"Kladsko","sk":"Kladsko","en":""},{"id":"7186","cz":"Tržebnica","sk":"Tržebnica","en":""},{"id":"7188","cz":"Olava","sk":"Olava","en":""},{"id":"7189","cz":"Strzelin","sk":"Strzelin","en":""},{"id":"7190","cz":"Nisa","sk":"Nisa","en":""},{"id":"7191","cz":"Twardogora","sk":"Twardogora","en":""},{"id":"7192","cz":"Chrastawa","sk":"Chrastawa","en":""},{"id":"7193","cz":"Brzeg","sk":"Brzeg","en":""},{"id":"7194","cz":"Wierušow","sk":"Wierušow","en":""},{"id":"7195","cz":"Namyslow","sk":"Namyslow","en":""},{"id":"7196","cz":"Wojčice","sk":"Wojčice","en":""},{"id":"7197","cz":"Niemodlin","sk":"Niemodlin","en":""},{"id":"7198","cz":"Horní Hlohov","sk":"Horní Hlohov","en":""},{"id":"7199","cz":"Sokolniky","sk":"Sokolniky","en":""},{"id":"7201","cz":"Kluczbork","sk":"Kluczbork","en":""},{"id":"7202","cz":"Karlowice","sk":"Karlowice","en":""},{"id":"7203","cz":"Piastovská věž","sk":"Piastovská věž","en":""},{"id":"7204","cz":"Opolí","sk":"Opolí","en":""},{"id":"7205","cz":"Krapkowice","sk":"Krapkowice","en":""},{"id":"7206","cz":"Strzelce","sk":"Strzelce","en":""},{"id":"7207","cz":"Toszek","sk":"Toszek","en":""},{"id":"7209","cz":"Daloszyn","sk":"Daloszyn","en":""},{"id":"7221","cz":"Cheb","sk":"Cheb","en":""},{"id":"7222","cz":"Selb","sk":"Selb","en":""},{"id":"7260","cz":"Pražský Hrad","sk":"Pražský Hrad","en":""},{"id":"7237","cz":"Bečov","sk":"Bečov","en":""},{"id":"7247","cz":"Nepomuk","sk":"Nepomuk","en":""},{"id":"7233","cz":"Domažlice","sk":"Domažlice","en":""},{"id":"7229","cz":"Sokolov","sk":"Sokolov","en":""},{"id":"7243","cz":"Podbořany","sk":"Podbořany","en":""},{"id":"7227","cz":"Neunburg","sk":"Neunburg","en":""},{"id":"7232","cz":"Přimda","sk":"Přimda","en":""},{"id":"7240","cz":"Radyně","sk":"Radyně","en":""},{"id":"7248","cz":"Rábí","sk":"Rábí","en":""},{"id":"7254","cz":"Orlík","sk":"Orlík","en":""},{"id":"7261","cz":"Dobříš","sk":"Dobříš","en":""},{"id":"7235","cz":"Teplá","sk":"Teplá","en":""},{"id":"7251","cz":"Beroun","sk":"Beroun","en":""},{"id":"7241","cz":"Švihov","sk":"Švihov","en":""},{"id":"7238","cz":"Rabštejn","sk":"Rabštejn","en":""},{"id":"7223","cz":"Wiesau","sk":"Wiesau","en":""},{"id":"7224","cz":"Weiden","sk":"Weiden","en":""},{"id":"7225","cz":"Schwandorf","sk":"Schwandorf","en":""},{"id":"7226","cz":"Leuchtenberg","sk":"Leuchtenberg","en":""},{"id":"7228","cz":"Loket","sk":"Loket","en":""},{"id":"7230","cz":"Kynžvart","sk":"Kynžvart","en":""},{"id":"7231","cz":"Tachov","sk":"Tachov","en":""},{"id":"7234","cz":"Andělská hora","sk":"Andělská hora","en":""},{"id":"7236","cz":"Stříbro","sk":"Stříbro","en":""},{"id":"7239","cz":"Plzeň","sk":"Plzeň","en":""},{"id":"7242","cz":"Velhartice","sk":"Velhartice","en":""},{"id":"7244","cz":"Plasy","sk":"Plasy","en":""},{"id":"7245","cz":"Krakovec","sk":"Krakovec","en":""},{"id":"7246","cz":"Rokycany","sk":"Rokycany","en":""},{"id":"7249","cz":"Rakovník","sk":"Rakovník","en":""},{"id":"7250","cz":"Křivoklát","sk":"Křivoklát","en":""},{"id":"7252","cz":"Točník","sk":"Točník","en":""},{"id":"7253","cz":"Příbram","sk":"Příbram","en":""},{"id":"7255","cz":"Zvíkov","sk":"Zvíkov","en":""},{"id":"7256","cz":"Kladno","sk":"Kladno","en":""},{"id":"7257","cz":"Levý Hradec","sk":"Levý Hradec","en":""},{"id":"7258","cz":"Malá Strana","sk":"Malá Strana","en":""},{"id":"7259","cz":"Karlštejn","sk":"Karlštejn","en":""},{"id":"7262","cz":"Bechyně","sk":"Bechyně","en":""},{"id":"7263","cz":"Mělník","sk":"Mělník","en":""},{"id":"7264","cz":"Dražice","sk":"Dražice","en":""},{"id":"7297","cz":"Zelená Hora","sk":"Zelená Hora","en":""},{"id":"7298","cz":"Žďár n. Sázavou","sk":"Žďár n. Sázavou","en":""},{"id":"7299","cz":"Svojanov","sk":"Svojanov","en":""},{"id":"7301","cz":"Blansko","sk":"Blansko","en":""},{"id":"7302","cz":"Kuřim","sk":"Kuřim","en":""},{"id":"7266","cz":"Vyšehrad","sk":"Vyšehrad","en":""},{"id":"7294","cz":"Česká Třebová","sk":"Česká Třebová","en":""},{"id":"7278","cz":"Poděbrady","sk":"Poděbrady","en":""},{"id":"7285","cz":"Lipnice","sk":"Lipnice","en":""},{"id":"7290","cz":"Potštejn","sk":"Potštejn","en":""},{"id":"7277","cz":"Hradec Králové","sk":"Hradec Králové","en":""},{"id":"7296","cz":"Lanškroun","sk":"Lanškroun","en":""},{"id":"7295","cz":"Svitavy","sk":"Svitavy","en":""},{"id":"7300","cz":"Pernštejn","sk":"Pernštejn","en":""},{"id":"7265","cz":"Staré Město","sk":"Staré Město","en":""},{"id":"7267","cz":"Jílové","sk":"Jílové","en":""},{"id":"7268","cz":"Nymburk","sk":"Nymburk","en":""},{"id":"7269","cz":"Kolín","sk":"Kolín","en":""},{"id":"7270","cz":"Lipany","sk":"Lipany","en":""},{"id":"7271","cz":"Sázavský klášter","sk":"Sázavský klášter","en":""},{"id":"7272","cz":"Konopiště","sk":"Konopiště","en":""},{"id":"7273","cz":"Tábor","sk":"Tábor","en":""},{"id":"7274","cz":"Český Šternberk","sk":"Český Šternberk","en":""},{"id":"7275","cz":"Blaník","sk":"Blaník","en":""},{"id":"7276","cz":"Kámen","sk":"Kámen","en":""},{"id":"7279","cz":"Kutná Hora","sk":"Kutná Hora","en":""},{"id":"7280","cz":"Kunětická Hora","sk":"Kunětická Hora","en":""},{"id":"7281","cz":"Sion","sk":"Sion","en":""},{"id":"7282","cz":"Havlíčkův Brod","sk":"Havlíčkův Brod","en":""},{"id":"7283","cz":"Kladruby","sk":"Kladruby","en":""},{"id":"7284","cz":"Přibyslav","sk":"Přibyslav","en":""},{"id":"7286","cz":"Želivský klášter","sk":"Želivský klášter","en":""},{"id":"7287","cz":"Pelhřimov","sk":"Pelhřimov","en":""},{"id":"7288","cz":"Jihlava","sk":"Jihlava","en":""},{"id":"7289","cz":"Roštejn","sk":"Roštejn","en":""},{"id":"7291","cz":"Rychnov n. Kněžnou","sk":"Rychnov n. Kněžnou","en":""},{"id":"7292","cz":"Pardubice","sk":"Pardubice","en":""},{"id":"7293","cz":"Chrudim","sk":"Chrudim","en":""},{"id":"7303","cz":"Jeseník","sk":"Jeseník","en":""},{"id":"7304","cz":"Bruntál","sk":"Bruntál","en":""},{"id":"7342","cz":"Těšín","sk":"Těšín","en":""},{"id":"7448","cz":"Bytča","sk":"Bytča","en":""},{"id":"7316","cz":"Přerov","sk":"Přerov","en":""},{"id":"7332","cz":"Vladislav","sk":"Vladislav","en":""},{"id":"7333","cz":"Žárov","sk":"Žárov","en":""},{"id":"7338","cz":"Frýdek-Mistek","sk":"Frýdek-Mistek","en":""},{"id":"7306","cz":"Sovinec","sk":"Sovinec","en":""},{"id":"7317","cz":"Vikštejn","sk":"Vikštejn","en":""},{"id":"7323","cz":"Opava","sk":"Opava","en":""},{"id":"7309","cz":"Uničov","sk":"Uničov","en":""},{"id":"7314","cz":"Svatý Kopeček","sk":"Svatý Kopeček","en":""},{"id":"7319","cz":"Valašské Meziříčí","sk":"Valašské Meziříčí","en":""},{"id":"7322","cz":"Nový Jičín","sk":"Nový Jičín","en":""},{"id":"7331","cz":"Myslovice","sk":"Myslovice","en":""},{"id":"7311","cz":"Macocha","sk":"Macocha","en":""},{"id":"7305","cz":"Šumperk","sk":"Šumperk","en":""},{"id":"7307","cz":"Bouzov","sk":"Bouzov","en":""},{"id":"7308","cz":"Moravská Třebová","sk":"Moravská Třebová","en":""},{"id":"7310","cz":"Olomouc","sk":"Olomouc","en":""},{"id":"7312","cz":"Vyškov","sk":"Vyškov","en":""},{"id":"7313","cz":"Prostějov","sk":"Prostějov","en":""},{"id":"7315","cz":"Potštát","sk":"Potštát","en":""},{"id":"7318","cz":"Helfštýn","sk":"Helfštýn","en":""},{"id":"7320","cz":"Vsetín","sk":"Vsetín","en":""},{"id":"7321","cz":"Fulnek","sk":"Fulnek","en":""},{"id":"7324","cz":"Ratiboř","sk":"Ratiboř","en":""},{"id":"7325","cz":"Hlubčice","sk":"Hlubčice","en":""},{"id":"7326","cz":"Kandřín","sk":"Kandřín","en":""},{"id":"7327","cz":"Kozlí","sk":"Kozlí","en":""},{"id":"7328","cz":"Rybník","sk":"Rybník","en":""},{"id":"7329","cz":"Hlivice","sk":"Hlivice","en":""},{"id":"7330","cz":"Grodziec","sk":"Grodziec","en":""},{"id":"7334","cz":"Karviná","sk":"Karviná","en":""},{"id":"7335","cz":"Ostrava","sk":"Ostrava","en":""},{"id":"7336","cz":"Třinec","sk":"Třinec","en":""},{"id":"7337","cz":"Štramberk","sk":"Štramberk","en":""},{"id":"7339","cz":"Jablunkov","sk":"Jablunkov","en":""},{"id":"7340","cz":"Čadca","sk":"Čadca","en":""},{"id":"7341","cz":"Pruchná","sk":"Pruchná","en":""},{"id":"7344","cz":"Roding","sk":"Roding","en":""},{"id":"7345","cz":"Cham","sk":"Cham","en":""},{"id":"7375","cz":"Kašperk","sk":"Kašperk","en":""},{"id":"7376","cz":"Vimperk","sk":"Vimperk","en":""},{"id":"7343","cz":"Řezno","sk":"Řezno","en":""},{"id":"7356","cz":"Landshut","sk":"Landshut","en":""},{"id":"7363","cz":"Schärding","sk":"Schärding","en":""},{"id":"7367","cz":"Rinchnach","sk":"Rinchnach","en":""},{"id":"7349","cz":"Štrubina","sk":"Štrubina","en":""},{"id":"7370","cz":"Waxenberg","sk":"Waxenberg","en":""},{"id":"7373","cz":"Helfenburk","sk":"Helfenburk","en":""},{"id":"7379","cz":"Prachatice","sk":"Prachatice","en":""},{"id":"7374","cz":"Klatovy","sk":"Klatovy","en":""},{"id":"7378","cz":"Strakonice","sk":"Strakonice","en":""},{"id":"7382","cz":"Dívčí kámen","sk":"Dívčí kámen","en":""},{"id":"7377","cz":"Sušice","sk":"Sušice","en":""},{"id":"7346","cz":"Heilsberg","sk":"Heilsberg","en":""},{"id":"7347","cz":"Rottenburg","sk":"Rottenburg","en":""},{"id":"7348","cz":"Mainburg","sk":"Mainburg","en":""},{"id":"7350","cz":"Brenneberg","sk":"Brenneberg","en":""},{"id":"7351","cz":"Falkenstein","sk":"Falkenstein","en":""},{"id":"7352","cz":"Řezné","sk":"Řezné","en":""},{"id":"7353","cz":"Deggendorf","sk":"Deggendorf","en":""},{"id":"7354","cz":"Landau","sk":"Landau","en":""},{"id":"7355","cz":"Dingolfing","sk":"Dingolfing","en":""},{"id":"7357","cz":"Erding","sk":"Erding","en":""},{"id":"7358","cz":"Reisbach","sk":"Reisbach","en":""},{"id":"7359","cz":"Eggenfelden","sk":"Eggenfelden","en":""},{"id":"7360","cz":"Vilshofen","sk":"Vilshofen","en":""},{"id":"7361","cz":"Pfarrkirchen","sk":"Pfarrkirchen","en":""},{"id":"7362","cz":"Schwaim","sk":"Schwaim","en":""},{"id":"7365","cz":"Egg","sk":"Egg","en":""},{"id":"7366","cz":"Grafenau","sk":"Grafenau","en":""},{"id":"7368","cz":"Pasov","sk":"Pasov","en":""},{"id":"7372","cz":"Český Krumlov","sk":"Český Krumlov","en":""},{"id":"7380","cz":"Písek","sk":"Písek","en":""},{"id":"7381","cz":"Vodňany","sk":"Vodňany","en":""},{"id":"7369","cz":"Fürsteneck","sk":"Fürsteneck","en":""},{"id":"7371","cz":"Linec","sk":"Linec","en":""},{"id":"7364","cz":"Eferding","sk":"Eferding","en":""},{"id":"7384","cz":"České Budějovice","sk":"České Budějovice","en":""},{"id":"7385","cz":"Třeboň","sk":"Třeboň","en":""},{"id":"7422","cz":"Staatz","sk":"Staatz","en":""},{"id":"7415","cz":"Rosa Coeli","sk":"Rosa Coeli","en":""},{"id":"7418","cz":"Holabrunn","sk":"Holabrunn","en":""},{"id":"7383","cz":"Hluboká n. Vltavou","sk":"Hluboká n. Vltavou","en":""},{"id":"7389","cz":"Nové Hrady","sk":"Nové Hrady","en":""},{"id":"7416","cz":"Moravský Krumlov","sk":"Moravský Krumlov","en":""},{"id":"7394","cz":"Weinberg","sk":"Weinberg","en":""},{"id":"7408","cz":"Maissau","sk":"Maissau","en":""},{"id":"7391","cz":"Pregarten","sk":"Pregarten","en":""},{"id":"7412","cz":"Velké Meziříčí","sk":"Velké Meziříčí","en":""},{"id":"7403","cz":"Cornštejn","sk":"Cornštejn","en":""},{"id":"7399","cz":"Landštejn","sk":"Landštejn","en":""},{"id":"7413","cz":"Templštejn","sk":"Templštejn","en":""},{"id":"7392","cz":"Dornach","sk":"Dornach","en":""},{"id":"7386","cz":"Jindřichův Hradec","sk":"Jindřichův Hradec","en":""},{"id":"7387","cz":"Telč","sk":"Telč","en":""},{"id":"7388","cz":"Rožmberk","sk":"Rožmberk","en":""},{"id":"7390","cz":"Freistadt","sk":"Freistadt","en":""},{"id":"7393","cz":"Martinsberg","sk":"Martinsberg","en":""},{"id":"7395","cz":"Vitoraz","sk":"Vitoraz","en":""},{"id":"7396","cz":"Pöggstall","sk":"Pöggstall","en":""},{"id":"7397","cz":"Zwettl","sk":"Zwettl","en":""},{"id":"7398","cz":"Heidenreichstein","sk":"Heidenreichstein","en":""},{"id":"7400","cz":"Raabs","sk":"Raabs","en":""},{"id":"7401","cz":"Bítov","sk":"Bítov","en":""},{"id":"7402","cz":"Třebíč","sk":"Třebíč","en":""},{"id":"7404","cz":"Retz","sk":"Retz","en":""},{"id":"7405","cz":"Eggenburg","sk":"Eggenburg","en":""},{"id":"7406","cz":"Horn","sk":"Horn","en":""},{"id":"7407","cz":"Grafenegg","sk":"Grafenegg","en":""},{"id":"7409","cz":"Götlweig","sk":"Götlweig","en":""},{"id":"7410","cz":"Laudon","sk":"Laudon","en":""},{"id":"7411","cz":"Vídeň","sk":"Vídeň","en":""},{"id":"7414","cz":"Špilberk","sk":"Špilberk","en":""},{"id":"7417","cz":"Znojmo","sk":"Znojmo","en":""},{"id":"7419","cz":"Stockerau","sk":"Stockerau","en":""},{"id":"7420","cz":"Korneuburg","sk":"Korneuburg","en":""},{"id":"7421","cz":"Mistelbach","sk":"Mistelbach","en":""},{"id":"7423","cz":"Brno","sk":"Brno","en":""},{"id":"7424","cz":"Slavkov","sk":"Slavkov","en":""},{"id":"7455","cz":"Trenčín","sk":"Trenčín","en":""},{"id":"7456","cz":"Tematín","sk":"Tematín","en":""},{"id":"7458","cz":"Topoľčany","sk":"Topoľčany","en":""},{"id":"7459","cz":"Nitra","sk":"Nitra","en":""},{"id":"7460","cz":"Kozárovce","sk":"Kozárovce","en":""},{"id":"7461","cz":"Banská Štiavnica","sk":"Banská Štiavnica","en":""},{"id":"7462","cz":"Handlová","sk":"Handlová","en":""},{"id":"7463","cz":"Prievidza","sk":"Prievidza","en":""},{"id":"7464","cz":"Bojnice","sk":"Bojnice","en":""},{"id":"7465","cz":"Nitranské Pravno","sk":"Nitranské Pravno","en":""},{"id":"7457","cz":"Hlohovec","sk":"Hlohovec","en":""},{"id":"7449","cz":"Púchov","sk":"Púchov","en":""},{"id":"7447","cz":"Piešťany","sk":"Piešťany","en":""},{"id":"7442","cz":"Trnava","sk":"Trnava","en":""},{"id":"7444","cz":"Vizovice","sk":"Vizovice","en":""},{"id":"7437","cz":"Holíč","sk":"Holíč","en":""},{"id":"7425","cz":"Cimburk","sk":"Cimburk","en":""},{"id":"7426","cz":"Dívčí hrady","sk":"Dívčí hrady","en":""},{"id":"7427","cz":"Kyjov","sk":"Kyjov","en":""},{"id":"7428","cz":"Kroměříž","sk":"Kroměříž","en":""},{"id":"7429","cz":"Hodonín","sk":"Hodonín","en":""},{"id":"7430","cz":"Břeclav","sk":"Břeclav","en":""},{"id":"7431","cz":"Zistersdorf","sk":"Zistersdorf","en":""},{"id":"7432","cz":"Dürnkrut","sk":"Dürnkrut","en":""},{"id":"7433","cz":"Gänserndorf","sk":"Gänserndorf","en":""},{"id":"7434","cz":"Kúty","sk":"Kúty","en":""},{"id":"7435","cz":"Malacky","sk":"Malacky","en":""},{"id":"7436","cz":"Prešpurk","sk":"Prešpurk","en":""},{"id":"7438","cz":"Čachtice","sk":"Čachtice","en":""},{"id":"7439","cz":"Senica","sk":"Senica","en":""},{"id":"7440","cz":"Strážnice","sk":"Strážnice","en":""},{"id":"7441","cz":"Uherské Hradiště","sk":"Uherské Hradiště","en":""},{"id":"7443","cz":"Zlín","sk":"Zlín","en":""},{"id":"7445","cz":"Skalka","sk":"Skalka","en":""},{"id":"7446","cz":"Nové Mesto n. Váhom","sk":"Nové Mesto n. Váhom","en":""},{"id":"7450","cz":"Lednica","sk":"Lednica","en":""},{"id":"7451","cz":"Žilina","sk":"Žilina","en":""},{"id":"7452","cz":"Lietava","sk":"Lietava","en":""},{"id":"7453","cz":"Povážská Bystrica","sk":"Povážská Bystrica","en":""},{"id":"7454","cz":"Ilava","sk":"Ilava","en":""}]');
  557.  
  558.        this._allSpellsList = JSON.parse('[{"id":80,"img":"images/kouzla/k80.gif","isGood":true,"cz":"Magický štít","sk":"Magický štít","en":"Magic Shield"},{"id":30,"img":"images/kouzla/k30.gif","isGood":true,"cz":"Mana na zlato","sk":"Mana na zlato","en":"Mana To Gold"},{"id":5,"img":"images/kouzla/k5.gif","isGood":true,"cz":"Spokojenost","sk":"Spokojnosť","en":"Content"},{"id":130,"img":"images/kouzla/k130.gif","isGood":true,"cz":"Magický štít velký","sk":"Magický štít veľký ","en":"Large Magic Shield"},{"id":40,"img":"images/kouzla/k40.gif","isGood":true,"cz":"Příznivé počasí","sk":"Priaznivé počasie","en":"Fair Weather"},{"id":60,"img":"images/kouzla/k60.gif","isGood":true,"cz":"Pás zmatení","sk":"Pás zmätenia","en":"Phantom Trail"},{"id":50,"img":"images/kouzla/k50.gif","isGood":true,"cz":"Magické klima","sk":"Magická klíma","en":"Magical Climate"},{"id":105,"img":"images/kouzla/k105.gif","isGood":true,"cz":"Požehnání","sk":"Požehnanie","en":"Blessing"},{"id":70,"img":"images/kouzla/k70.gif","isGood":true,"cz":"Vojenský štít","sk":"Vojenský štít","en":"Military Shield"},{"id":120,"img":"images/kouzla/k120.gif","isGood":true,"cz":"Vojenský štít velký","sk":"Vojenský štít veľký","en":"Large Military Shield"},{"id":90,"img":"images/kouzla/k90.gif","isGood":false,"cz":"Ukrást peníze","sk":"Ukradnúť peniaze","en":"Steal Gold"},{"id":100,"img":"images/kouzla/k100.gif","isGood":false,"cz":"Ukrást manu","sk":"Ukradnúť manu","en":"Steal Mana"},{"id":7,"img":"images/kouzla/k7.gif","isGood":false,"cz":"Nespokojenost","sk":"Nespokojnosť","en":"Discontent"},{"id":10,"img":"images/kouzla/k10.gif","isGood":false,"cz":"Krupobití","sk":"Krupobitie","en":"Hailstorm"},{"id":20,"img":"images/kouzla/k20.gif","isGood":false,"cz":"Magický vír","sk":"Magický vír","en":"Magic Whirl"},{"id":115,"img":"images/kouzla/k115.gif","isGood":false,"cz":"Kletba","sk":"Kliatba ","en":"Curse"},{"id":117,"img":"images/kouzla/k117.gif","isGood":false,"cz":"Dvojitá Kletba","sk":"Dvojitá Kliatba","en":"Double Curse"},{"id":110,"img":"images/kouzla/k110.gif","isGood":false,"cz":"Blesk","sk":"Blesk","en":"Thunderbolt"},{"id":140,"img":"images/kouzla/k140.gif","isGood":false,"cz":"Bouře","sk":"Búrka","en":"Storm"},{"id":160,"img":"images/kouzla/k160.gif","isGood":false,"cz":"Černá smrt","sk":"Čierna smrť","en":"Black Death"},{"id":180,"img":"images/kouzla/k180.gif","isGood":false,"cz":"Smrtící démon","sk":"Smrtiaci démon","en":"Demon of Death"},{"id":190,"img":"images/kouzla/k190.gif","isGood":false,"cz":"Zemětřesení","sk":"Zemetrasenie","en":"Earthquake"},{"id":170,"img":"images/kouzla/k170.gif","isGood":false,"cz":"Uragán","sk":"Uragán","en":"Hurricane"},{"id":193,"img":"images/kouzla/k193.gif","isGood":false,"cz":"Démon kamene","sk":"Démon kameňa","en":"Demon of Stone"},{"id":195,"img":"images/kouzla/k195.gif","isGood":false,"cz":"Démon magie","sk":"Démon mágie","en":"Demon of Magic"},{"id":200,"img":"images/kouzla/k200.gif","isGood":false,"cz":"Soudný den","sk":"Súdny deň","en":"Armageddon"},{"id":3,"img":"images/kouzla/k3.gif","isGood":false,"cz":"Magický šíp","sk":"Magický šíp","en":"Magic Arrow"},{"id":18,"img":"images/kouzla/k18.gif","isGood":true,"cz":"Nápoj lásky","sk":"Nápoj lásky","en":"Love potion"},{"id":4,"img":"images/kouzla/k4.gif","isGood":false,"cz":"Strach","sk":"Strach","en":"Fear"},{"id":15,"img":"images/kouzla/k15.gif","isGood":false,"cz":"Magické oko","sk":"Magické oko","en":"Magic Eye"},{"id":8,"img":"images/kouzla/k8.gif","isGood":false,"cz":"Děs obyvatelstva","sk":"Des obyvateľstva","en":"Panic"},{"id":13,"img":"images/kouzla/k13.gif","isGood":false,"cz":"Odražeč štítů","sk":"Odražeč štítů","en":"Dispel Shields"},{"id":12,"img":"images/kouzla/k12.gif","isGood":true,"cz":"Uzdravení","sk":"Uzdravenie","en":"Tranquility"},{"id":14,"img":"images/kouzla/k14.gif","isGood":true,"cz":"Neovlivnitelnost","sk":"Neovplyvnitelnosť","en":"Natural Growth"},{"id":6,"img":"images/kouzla/k6.gif","isGood":false,"cz":"Povodeň","sk":"Povodeň","en":"Flood"},{"id":9,"img":"images/kouzla/k9.gif","isGood":true,"cz":"Zmrtvýchvstání","sk":"Zmŕtvychvstanie","en":"Animate Dead"},{"id":11,"img":"images/kouzla/k11.gif","isGood":false,"cz":"Zasypání","sk":"Zasypanie","en":"Cave-in"}]');
  559.    }
  560.  
  561.    function DEKingAjaxProvider(){
  562.  
  563.        $.ajaxSetup({
  564.            'beforeSend' : function(xhr) {
  565.                xhr.overrideMimeType('text/html; charset=windows-1250');
  566.            },
  567.        });
  568.  
  569.  
  570.  
  571.        this.getMyAliMates = function(callback){
  572.  
  573.            var that = this;
  574.            $.get('/Aliance.asp', function(data){
  575.                var list = [];
  576.  
  577.  
  578.                if ($(data).find("input[name='nazev']").length == 0){
  579.  
  580.                    $.each($($(data).find('table')[2]).find('tr:not(:first):not(:last)'), function(){
  581.  
  582.  
  583.                        var name = $($(this).find('th').find('a')[1]).html();
  584.                        var link = $($(this).find('th').find('a')[0]).attr('href');
  585.                        var id = parseInt(link.replace( /^\D+/g, ''));
  586.                        list.push({ id:id, name:name });
  587.  
  588.                    });
  589.                }
  590.  
  591.                callback(list);
  592.            });
  593.  
  594.        }
  595.  
  596.  
  597.  
  598.        this.getSpells = function(userId, callback){
  599.            $.get('/spells_list.asp?id_player='+userId, function(data){
  600.                callback(data);
  601.            });
  602.        };
  603.  
  604.        this.getReport = function(userId, callback){
  605.            var userAttr = '';
  606.            if (userId)
  607.                userAttr = '&id_player='+userId;
  608.            $.get('/hlaseni.asp?nastrance=32635'+userAttr, function(data){
  609.                callback(data);
  610.            });
  611.        };
  612.  
  613.        this.getAttacks = function(userId, callback){
  614.            $.get('/attacks_list.asp?id_player='+userId, function(data){
  615.                callback(data);
  616.            });
  617.        };
  618.  
  619.  
  620.  
  621.        this.clearCache = function(){
  622.            this._myAliMates = null;
  623.        }
  624.  
  625.    }
  626.  
  627.    function DEKingExtendRenderer(storageProvider, options, reportLands){
  628.        this._options = options;
  629.        this._storageProvider = storageProvider;
  630.        this._reportLands = reportLands;
  631.  
  632.        this.renderOptions = function(){
  633.            var that = this;
  634.  
  635.  
  636.            var div = $('<table></table>');
  637.  
  638.            var addCheckbox = function(id, name, checked){
  639.                div.append($('<tr><td>'+name+'</td><td><input type="checkbox" id="'+id+'" '+(checked? 'checked="checked"' : '')+' /></td></div>'));
  640.            }
  641.  
  642.            for (var key in this._options){
  643.                var opt = this._options[key];
  644.                addCheckbox(key, opt.name, opt.checked);
  645.            }
  646.  
  647.  
  648.  
  649.            var btnRefreshReport = $('<button>Načíst znovu hlášení - nutno jen u změny počtu lidí v ali</button>');
  650.            $(btnRefreshReport).on('click', function(e){
  651.                e.stopPropagation();
  652.                e.preventDefault();
  653.                that._storageProvider.clearReport();
  654.  
  655.                that.__dialogOptions.dialog('close');
  656.                location.reload();
  657.            });
  658.  
  659.            var trBtns = $('<tr><td col-span="2"></td></tr>');
  660.            $(div).append(trBtns);
  661.            var tdBtns = $(trBtns).find('td');
  662.  
  663.  
  664.            $(tdBtns).append(btnRefreshReport);
  665.  
  666.  
  667.            $(div).append('<tr><td col-span="2" style="border-bottom:1px solid;"></td></tr>');
  668.            $(div).append('<tr><td col-span="2" style="text-center">Aktuální data</td></tr>');
  669.            var btnShowActSpells = $('<button>Zobraz</button>');
  670.  
  671.  
  672.            $(div).append('<tr><td>Kouzla</td><td></td></tr>');
  673.            var chckSpells = $('<input type="checkbox" checked="checked" />');
  674.            $(div).find('td:last()').append(chckSpells);
  675.  
  676.            $(div).append('<tr><td>Pouze eko</td><td></td></tr>');
  677.            var chckSpellsOnlyEko = $('<input type="checkbox" />');
  678.            $(div).find('td:last()').append(chckSpellsOnlyEko);
  679.  
  680.            $(div).append('<tr><td>Útoky</td><td></td></tr>');
  681.            var chckAttacks = $('<input type="checkbox" checked="checked" />');
  682.            $(div).find('td:last()').append(chckAttacks);
  683.  
  684.  
  685.  
  686.            $(div).append('<tr><td col-span="2"></td></tr>');
  687.            $(div).find('td:last()').append(btnShowActSpells);
  688.  
  689.            $(btnShowActSpells).on('click', function(e){
  690.                e.stopPropagation();
  691.                e.preventDefault();
  692.                that.__dialogOptions.dialog('close');
  693.                that.renderActData({
  694.                    showSpells:$(chckSpells).prop('checked'),
  695.                    onlyEko: $(chckSpellsOnlyEko).prop('checked'),
  696.                    showAttacks:$(chckAttacks).prop('checked')
  697.                });
  698.            });
  699.  
  700.  
  701.  
  702.            return div;
  703.        };
  704.  
  705.        this.__dialogOptions;
  706.        this.renderOptionsBtn = function(){
  707.  
  708.  
  709.            var that = this;
  710.            $('frame[name="lista_informace"]').on('load', function(){
  711.                var btn = $('<a title="DEKing nastavení">!!</a>');
  712.  
  713.                var iconsFrame = $('frame[name="lista_informace"]').contents().find('#icons_frame');
  714.                $(iconsFrame).css('width', 105);
  715.                $(iconsFrame).append(btn);
  716.  
  717.                $(btn).on('click', function(){
  718.                    var optionsDiv = that.renderOptions();
  719.                    $('frame[name="mapa"]').contents().find('body').append(optionsDiv);
  720.                    that.__dialogOptions = $(optionsDiv).dialog({
  721.                        close: function() { $(optionsDiv).remove(); },
  722.                        buttons: {
  723.                            save: function(){
  724.  
  725.                                for (var key in that._options){
  726.                                    var opt = that._options[key];
  727.                                    opt.checked = $(optionsDiv).find('#'+key).is(':checked');
  728.                                }
  729.                                that._storageProvider.saveOptions(that._options);
  730.                                that.renderExtendMap();
  731.                                that.__dialogOptions.dialog('close');
  732.                            }
  733.  
  734.                        }
  735.                    });
  736.                });
  737.            });
  738.        };
  739.  
  740.  
  741.        this.initRenderExtendMap = function(){
  742.            var that = this;
  743.            $('frame[name="mapa"]').on('load', function(){
  744.                that.renderExtendMap();
  745.            });
  746.        };
  747.  
  748.  
  749.        this.renderExtendMap = function(){
  750.            this.clearExtend();
  751.            var map = $('frame[name="mapa"]').contents();
  752.            var that = this;
  753.            $.each($(map).find('div[data-b_natality]'), function(){
  754.                var birthFromMap = $(this).data('b_natality');
  755.                var birth = birthFromMap > 100 ? 1 : (birthFromMap == 100 ? 0 : -1);
  756.                var spanBirth = that.getSpanBirth(birth);
  757.                $(this).append(spanBirth);
  758.            });
  759.  
  760.  
  761.            for (var landId in this._reportLands){
  762.                var divLand = $(map).find('#x'+landId);
  763.  
  764.                if (divLand.length > 0){
  765.                    var land = this._reportLands[landId];
  766.  
  767.                    if (land.spells){
  768.                        if (this._options.showBirth.checked){
  769.  
  770.                            var birthFromMap = $(divLand).data('b_natality');
  771.                            if (!birthFromMap)
  772.                            {
  773.                                var birth = this._getBirth(land);
  774.                                if (birth != null){
  775.  
  776.                                    var spanBirth = this.getSpanBirth(birth);
  777.                                    $(divLand).append(spanBirth);
  778.                                }
  779.                            }
  780.  
  781.                        }
  782.  
  783.                        if (this._options.showSpellsReport.checked || this._options.showSpellsReportOnlyEko.checked){
  784.                            var left = 0;
  785.                            for (var s in land.spells){
  786.                                var spell = land.spells[s];
  787.                                if (!this._options.showSpellsReportOnlyEko.checked || this.isEko(spell)){
  788.                                    $(divLand).append($('<span class="deking-extend" style="top:-10px; left:'+left+'px; position:absolute;" title="'+spell.cz+'"><img style="width:10px; height:10px;" src="'+spell.img+'"/></span>'));
  789.  
  790.                                    left += 10;
  791.                                }
  792.                            }
  793.                        }
  794.                    }
  795.                }
  796.            }
  797.  
  798.        };
  799.  
  800.        this.getSpanBirth = function(birth){
  801.            var color = 'orange';
  802.            if (birth > 0)
  803.                color = 'blue';
  804.            if (birth < 0)
  805.                color = 'red';
  806.            return $('<span class="deking-extend" style="background: '+color+'; width: 10px; height: 10px; border-radius: 50%;position: absolute;top: 28px;left: -5px;"></span>');
  807.        }
  808.  
  809.        this._getBirth = function(land){
  810.            var spells = land.spells;
  811.            var birthPlus = 0;
  812.            var birthMinus = 0;
  813.  
  814.            for(var s in land.spells){
  815.  
  816.                var spell = land.spells[s];
  817.                if (spell.id == 5 || spell.id == 105)
  818.                    birthPlus++;
  819.                if (spell.id == 7 || spell.id == 115)
  820.                    birthMinus++;
  821.                if (spell.id == 117){
  822.                    birthMinus++;
  823.                    birthMinus++;
  824.                }
  825.                if (spell.id == 14) //neovlivnitelnost
  826.                    return 0;
  827.            }
  828.  
  829.            if (birthPlus == 0 && birthMinus == 0)
  830.                return null;
  831.  
  832.            if (birthMinus > 1)
  833.                return -1;
  834.            if (birthMinus == 1 && birthPlus > 0)
  835.                return 0;
  836.  
  837.            if (birthMinus == 1){
  838.                if (land.isMyLand)
  839.                    return -1;
  840.                else
  841.                    return 0;
  842.            }
  843.  
  844.            if (birthPlus > 0){
  845.                if (land.isMyLand)
  846.                    return 1;
  847.                else
  848.                    return 1; // jako spoko tam je, ale nevíme co dál..
  849.            }
  850.        };
  851.  
  852.        this._getSpellDom = function(spell){
  853.  
  854.        };
  855.  
  856.  
  857.        this.renderActData = function(opts){
  858.            this._showLoading();
  859.            this.clearExtend();
  860.  
  861.            var ajaxProvider = new DEKingAjaxProvider();
  862.            var parser = new DEKingParser();
  863.            var that = this;
  864.  
  865.            ajaxProvider.getMyAliMates(function(myMates){
  866.                if (opts.showSpells || opts.onlyEko)
  867.                    that.renderActSpells(myMates, ajaxProvider, parser, opts);
  868.                if (opts.showAttacks)
  869.                    that.renderActAttacks(myMates, ajaxProvider, parser, opts);
  870.  
  871.            });
  872.        };
  873.  
  874.        this.renderActSpells = function(myMates, ajaxProvider, parser, opts){
  875.  
  876.            var that = this;
  877.  
  878.            var myMatesCount = myMates.length;
  879.            var lands = {};
  880.            if (myMatesCount ==0)
  881.                that._hideLoading();
  882.            for(var m in myMates){
  883.                var user = myMates[m];
  884.  
  885.                that.__getSpells(user, lands, parser, ajaxProvider, function(){
  886.                    myMatesCount--;
  887.                    if (myMatesCount == 0)
  888.                        that._renderActSpells(lands, opts);
  889.                });
  890.            }
  891.  
  892.  
  893.        };
  894.  
  895.        this.__getSpells = function(user, lands, parser, ajaxProvider, clbck){
  896.            ajaxProvider.getSpells(user.id, function(dataHtml){
  897.                parser.parseActSpells(dataHtml, lands, user);
  898.  
  899.                clbck();
  900.  
  901.  
  902.            });
  903.        };
  904.  
  905.        this._renderActSpells = function(lands, opts){
  906.            var map = $('frame[name="mapa"]').contents();
  907.            for(var landId in lands){
  908.                var land = lands[landId];
  909.                var divLand = $(map).find('#x'+landId);
  910.  
  911.                var left = 0;
  912.                for (var s in land){
  913.                    var spell = land[s].spell;
  914.                    if (!opts.onlyEko || this.isEko(spell)){
  915.  
  916.                        var sk = land[s].sk;
  917.                        var user = land[s].user;
  918.                        $(divLand).append($('<span class="deking-extend" style="top:-15px; left:'+left+'px; position:absolute;" title="'+spell.cz+' - ' + sk + ' - '+user.name+'"><img style="width:15px; height:15px;" src="'+spell.img+'"/></span>'));
  919.  
  920.                        left += 15;
  921.                    }
  922.                }
  923.  
  924.            }
  925.  
  926.  
  927.            if (!opts.showAttacks)
  928.                this._hideLoading();
  929.        };
  930.  
  931.        this.isEko = function(spell){
  932.            var id = spell.id;
  933.            return id == 5 || id == 40 || id == 50 || id == 105 || id == 7 || id == 10 || id == 20 || id == 115 || id == 117 || id == 12 || id == 14;
  934.        };
  935.  
  936.        this.renderActAttacks = function(myMates, ajaxProvider, parser, opts){
  937.  
  938.            var that = this;
  939.  
  940.            var myMatesCount = myMates.length;
  941.            var lands = {};
  942.            if (myMatesCount ==0)
  943.                that._hideLoading();
  944.            for(var m in myMates){
  945.                var user = myMates[m];
  946.  
  947.                that.__getAttacks(user, lands, parser, ajaxProvider, function(){
  948.                    myMatesCount--;
  949.                    if (myMatesCount == 0)
  950.                        that._renderActAttacks(lands);
  951.                });
  952.            }
  953.  
  954.  
  955.        };
  956.  
  957.        this.__getAttacks = function(user, lands, parser, ajaxProvider, clbck){
  958.            ajaxProvider.getAttacks(user.id, function(dataHtml){
  959.                parser.parseActAttacks(dataHtml, lands, user);
  960.  
  961.                clbck();
  962.  
  963.  
  964.            });
  965.        };
  966.  
  967.        this._renderActAttacks = function(lands){
  968.            var map = $('frame[name="mapa"]').contents();
  969.            for(var landId in lands){
  970.                var land = lands[landId];
  971.                var divLand = $(map).find('#x'+landId);
  972.  
  973.                var left = 0;
  974.                for (var s in land){
  975.                    var attack = land[s];
  976.  
  977.                    $(divLand).append($('<span class="deking-extend" style="background:'+attack.color+'; top:0px; left:'+left+'px; position:absolute;" title="'+attack.from.cz+' - ' + attack.user.name + ' - '+attack.power+'"><img style="width:10px; height:10px;" src="images/s/m.gif"/></span>'));
  978.  
  979.                    left += 10;
  980.                }
  981.  
  982.            }
  983.  
  984.  
  985.            this._hideLoading();
  986.        };
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.        this.clearExtend = function(){
  996.            $('frame[name="mapa"]').contents().find('.deking-extend').remove();
  997.        };
  998.  
  999.        this._showLoading = function(){
  1000.            this._loadingDom = $('<div style="position: fixed; top: 0; left: 0; height: 100%; width: 100%; display: flex; align-items: center; justify-content: center; opacity:0.9;"><div>Zpracovávám aktuální data</div><div><img src="http://giphygifs.s3.amazonaws.com/media/EeT7eR2j7X5UA/giphy.gif" /></div></div>');
  1001.            $('html').append(this._loadingDom);
  1002.  
  1003.        };
  1004.  
  1005.        this._hideLoading = function(){
  1006.            $(this._loadingDom).remove();
  1007.        };
  1008.  
  1009.        this.renderOptionsBtn();
  1010.        this.initRenderExtendMap();
  1011.  
  1012.    }
  1013.  
  1014.    function DEKingStorageProvider(user, leagueId, day){
  1015.        this.userId = user.replace('_', '-');
  1016.        this.leagueId = leagueId;
  1017.        this.day = day;
  1018.  
  1019.        this._reportPrefix = 'DEKing_report_';
  1020.  
  1021.        this.init = function(){
  1022.            // toz si smazeme stara data :-)
  1023.            for (var key in localStorage){
  1024.                if (key.indexOf(this._reportPrefix) > -1){
  1025.                    // format key_user_league_day .. takze zkontrolujeme jestli nejsme uz v jine lize
  1026.                    var splitted = key.split('_');
  1027.                    if (this.userId == splitted[2] && this.leagueId != splitted[3]){
  1028.                        localStorage.removeItem(key);
  1029.                    }
  1030.                }
  1031.            }
  1032.        };
  1033.  
  1034.        this.saveOptions = function(options){
  1035.            localStorage.setItem('DEKing_options_' + this.userId, JSON.stringify(options));
  1036.        };
  1037.  
  1038.        this.getOptions = function(){
  1039.  
  1040.            var defaultOptions = {
  1041.                useMagicMapSelect: {
  1042.                    name: 'Vyber zemek pro kouzleni na mape',
  1043.                    checked: true
  1044.                },
  1045.                useContractTools: {
  1046.                    name: 'Hromadne vybery ve smlouvach',
  1047.                    checked: true
  1048.                },
  1049.                useRemoveAllBuildings: {
  1050.                    name: 'Sboreni vsech staveb',
  1051.                    checked: true
  1052.                },
  1053.                useBuldingCollectiveBuyFixed: {
  1054.                    name: 'Hromadny nakup staveb',
  1055.                    checked: true
  1056.                },
  1057.                useMageCollectiveBuyFixed: {
  1058.                    name: 'Hromadny nakup magu',
  1059.                    checked: true
  1060.                },
  1061.                useHousesCollectiveBuyFixed: {
  1062.                    name: 'Hromadny nakup domu',
  1063.                    checked: true
  1064.                },
  1065.                useMagicInput: {
  1066.                    name: 'Input na kouzla',
  1067.                    checked: true
  1068.                },
  1069.                showBirth:{
  1070.                    name: 'Zobrazovat porodnost',
  1071.                    checked: true
  1072.                },
  1073.                showSpellsReport:{
  1074.                    name:'Zobrazovat kouzla z hlášení',
  1075.                    checked: false
  1076.                },
  1077.                showSpellsReportOnlyEko:{
  1078.                    name:'Zobrazovat kouzla z hlášení - pouze eko',
  1079.                    checked: false
  1080.                }
  1081.            };
  1082.  
  1083.            var optionsStr = localStorage.getItem('DEKing_options_' + this.userId);
  1084.            if (optionsStr){
  1085.                var options = JSON.parse(optionsStr);
  1086.                $.extend(true, defaultOptions, options);
  1087.            }
  1088.  
  1089.            return defaultOptions;
  1090.        };
  1091.  
  1092.  
  1093.        this.saveReport = function(report){
  1094.            localStorage.setItem(this._reportPrefix+this.userId+'_'+this.leagueId+'_'+this.day, JSON.stringify(report));
  1095.  
  1096.        };
  1097.  
  1098.        this.getReport = function(){
  1099.            var reportStr = localStorage.getItem(this._reportPrefix+this.userId+'_'+this.leagueId+'_'+this.day);
  1100.            if (reportStr)
  1101.                return JSON.parse(reportStr);
  1102.            else
  1103.                return null;
  1104.        };
  1105.  
  1106.        this.clearReport = function(){
  1107.            localStorage.removeItem(this._reportPrefix+this.userId+'_'+this.leagueId+'_'+this.day);
  1108.        };
  1109.  
  1110.        this.init();
  1111.  
  1112.    };
  1113.  
  1114.     function DEKingParser(){
  1115.         this._dataProvider = new DEKingDataProvider();
  1116.  
  1117.         this.getUserData = function(report){
  1118.             var u = $(report).find('u').html();
  1119.             var nbsp = '&nbsp;';
  1120.             var splitted = u.split(nbsp);
  1121.  
  1122.             var userSplit = splitted[1];
  1123.             var splittedUser = userSplit.split(',');
  1124.             splittedUser.splice(splittedUser.length-1,1);
  1125.             var user = splittedUser.join(',');
  1126.  
  1127.             var day = $(report).find('select[name="Comp"]').val();
  1128.  
  1129.             return { user: user, league:splitted[2].replace('</font>',''), day:day };
  1130.         };
  1131.  
  1132.         this._isUserMyMate = function(myMates, user){
  1133.             for (var m in myMates){
  1134.                 if (myMates[m].name == user)
  1135.                     return true;
  1136.             }
  1137.             return false;
  1138.         };
  1139.  
  1140.         this.parseReport = function(report, lands, myMates){
  1141.             var that = this;
  1142.             var table = $(report).find('table')[1];
  1143.  
  1144.             var userData = this.getUserData(report);
  1145.  
  1146.  
  1147.             var trSpells = $(table).find('tr[style="font-weight:bold;font-size:small;color:#7777AB;"]');
  1148.             $.each(trSpells, function(){
  1149.                 var parsedTr = that._parseReportTr(this);
  1150.  
  1151.                 if (!that._isUserMyMate(myMates, parsedTr.user) || parsedTr.user == userData.user){ // pokud figuruje spolualiancnik v mem hlaseni, neresim ho, resim ho u sebe
  1152.  
  1153.                     var spell = that._dataProvider.getSpellByImg(parsedTr.imgLink);
  1154.                     var land = parsedTr.land;
  1155.                     var user = parsedTr.user;
  1156.  
  1157.  
  1158.                     var textInfo = $(table).find(this).next('tr').find('td').html();
  1159.                     var meWhoCast = textInfo.indexOf('Seslal jsi') == 0 || textInfo.indexOf('Zoslal si') == 0 || textInfo.indexOf('You sent') == 0;
  1160.  
  1161.                     var spellSuccess = that._isSuccess(parsedTr.thumb, userData, user, spell.isGood, meWhoCast);
  1162.  
  1163.  
  1164.                     if (spellSuccess){
  1165.  
  1166.                         if (lands[land.id] == undefined){
  1167.                             lands[land.id] = {};
  1168.                             lands[land.id].spells = [];
  1169.                         }
  1170.                         if (lands[land.id].spells == undefined)
  1171.                             debugger;
  1172.                         lands[land.id].spells.push(spell);
  1173.  
  1174.                         if (parsedTr.user == userData.user)
  1175.                             lands[land.id].isMyLand = true;
  1176.  
  1177.                     }
  1178.                 }
  1179.  
  1180.             });
  1181.  
  1182.             var trAttacks = $(table).find('tr[style="font-weight:bold;font-size:small;color:#CC3322;"]');
  1183.             $.each(trAttacks, function(){
  1184.                 var parsedTr = that._parseReportTr(this);
  1185.  
  1186.                 if (parsedTr.imgLink == 'images/s/m3.gif'){
  1187.  
  1188.  
  1189.                     var isMyLand = parsedTr.user == userData.user;
  1190.  
  1191.                     var trInfo = $(table).find(this).next('tr').html();
  1192.                     var lines = trInfo.split('<br>');
  1193.  
  1194.                     if (lines.length > 1){
  1195.                     var landFrom, landTo;
  1196.                     var isSuccess;
  1197.                     var attack, defense;
  1198.                     if (isMyLand){
  1199.                         // pokud je to moje zeme, branil jsem - zeme druha je posledni ve strong
  1200.                         landFrom = parsedTr.land;
  1201.                         landTo = that._dataProvider.getLandByName($(lines[0]).find('strong:last()').html());
  1202.                         isSuccess = parsedTr.thumb == 'images/s/hand_down.gif';
  1203.                         defense = parseInt(lines[1].replace( /^\D+/g, ''));
  1204.                      }
  1205.                      else{
  1206.                         landTo = parsedTr.land;
  1207.                         landFrom = that._dataProvider.getLandByName($(lines[0]).find('strong:last()').html());
  1208.                         isSuccess = parsedTr.thumb == 'images/s/hand_up.gif';
  1209.                         attack = parseInt($($(lines[0]).find('strong')[1]).html());
  1210.  
  1211.                     }
  1212.  
  1213.                     if (lands[landFrom.id] == undefined){
  1214.                         lands[landFrom.id] = {};
  1215.                         lands[landFrom.id].attacks = [];
  1216.                         lands[landFrom.id].spells = [];
  1217.                     }
  1218.                     if (lands[landFrom.id].attacks == undefined)
  1219.                         lands[landFrom.id].attacks = [];
  1220.                     lands[landFrom.id].attacks.push({
  1221.                         landFrom: landFrom,
  1222.                         landTo: landTo,
  1223.                         isSuccess: isSuccess,
  1224.                         attack: attack,
  1225.                         defense: defense
  1226.                     });
  1227.                     if (isMyLand)
  1228.                         lands[landFrom.id].isMyLand = true;
  1229.                     }
  1230.                 }
  1231.  
  1232.  
  1233.             });
  1234.  
  1235.         };
  1236.  
  1237.         this._isSuccess = function(thumb, userData, user, isGood, meWhoCast){
  1238.             if (userData.user == user){
  1239.                 if (isGood || meWhoCast)
  1240.                     return thumb == 'images/s/hand_up.gif'; // moje zeme a dobre kouzlo, chceme palec nahoru  + cokoliv spatneho co jsem si zakouzlil ja.. dafuq..
  1241.                 else
  1242.                     return thumb == 'images/s/hand_down.gif'; // moje zeme a spatne kouzlo, chceme palec dolu
  1243.             }
  1244.             else
  1245.                 return thumb == 'images/s/hand_up.gif'; // pokud je cizi, tak palec hore = proslo
  1246.         };
  1247.  
  1248.         this._parseReportTr = function(tr){
  1249.             var imgLink = $($(tr).find('td')[0]).find('img').attr('src');
  1250.  
  1251.             var land = this._dataProvider.getLandByName($($(tr).find('td')[1]).text().split('-')[0]);
  1252.             var user = $($(tr).find('td')[2]).html().replace('=&gt; ', '');
  1253.             var thumb = $($(tr).find('td')[3]).find('img').attr('src');
  1254.             return {
  1255.                 imgLink:imgLink,
  1256.                 land:land,
  1257.                 user:user,
  1258.                 thumb:thumb
  1259.             };
  1260.  
  1261.         };
  1262.  
  1263.  
  1264.         this.parseActSpells = function(data, lands, user){
  1265.             var that = this;
  1266.             var span = $(data).find('span');
  1267.             $(span).find('p').remove();
  1268.             var lines = $(span).html().split('<br>');
  1269.  
  1270.             $.each(lines, function(){
  1271.                 var txt = this;
  1272.  
  1273.                 if (txt != undefined)
  1274.                     txt = txt.trim();
  1275.  
  1276.                 if (txt.indexOf('<font') == 0)
  1277.                     txt = $(txt).html();
  1278.                 if (txt != undefined){
  1279.                     txt = txt.trim();
  1280.  
  1281.                     if (txt != ''){
  1282.  
  1283.                         var splitted = txt.split('-');
  1284.                         var land = that._dataProvider.getLandByName(splitted[0]);
  1285.                         var spell = that._dataProvider.getSpellByName(splitted[1]);
  1286.                         var sk = splitted[2].replace( /^\D+/g, '');
  1287.  
  1288.                         if (land == null)
  1289.                             debugger;
  1290.  
  1291.                         if (lands[land.id] == undefined)
  1292.                             lands[land.id] = [];
  1293.  
  1294.                         lands[land.id].push({ spell:spell, sk: sk, user:user });
  1295.                     }
  1296.                 }
  1297.  
  1298.             });
  1299.  
  1300.         };
  1301.  
  1302.         this.parseActAttacks = function(data, lands, user){
  1303.             var that = this;
  1304.             var lines = $($(data).find('table')[1]).find('td');
  1305.  
  1306.             $.each(lines, function(){
  1307.                 $(this).find('img').remove();
  1308.                 var color = $(this).find('font').attr('color');
  1309.  
  1310.                 var type;
  1311.                 if (color == '#FF4444')
  1312.                     type = 'do';
  1313.                 else if (color == '#00CC00')
  1314.                     type = 'pr';
  1315.                 else
  1316.                     type = 'pl';
  1317.  
  1318.                 var splitted = $(this).find('font').html().split('<br>');
  1319.                 var txtLands = splitted[0];
  1320.  
  1321.                 var landsSplitted = txtLands.split('=&gt;');
  1322.                 var from = that._dataProvider.getLandByName(landsSplitted[0]);
  1323.                 var to = that._dataProvider.getLandByName(landsSplitted[1]);
  1324.  
  1325.  
  1326.                 var power= splitted[1].replace( /^\D+/g, '');
  1327.  
  1328.  
  1329.                  if (lands[to.id] == undefined)
  1330.                      lands[to.id] = [];
  1331.  
  1332.                 lands[to.id].push({ from:from, to:to, power: power, user:user, type: type, color:color });
  1333.             });
  1334.  
  1335.         };
  1336.  
  1337.     };
  1338.  
  1339.  
  1340.     new DEKing();
  1341. })();
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top