Facebook
From Edgy Parrot, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 62
  1. // ==UserScript==
  2. // @name         ExpBot v.1.1
  3. // @version      1.1
  4. // @description  Ulepszona wersja adiBota (bez keyloggera)
  5. // @author       LCreator
  6. // @match        *://*/
  7. // @match        https://www.margonem.pl/?task=*
  8. // @grant        none
  9. // ==/UserScript==
  10. window.adiwilkTestBot = new function () {
  11.     function b(K, L) {
  12.         //ta funkcja to cheba sprawdzanie czy jestes kolo mobka
  13.         return Math.abs(K.x - L.x) + Math.abs(K.y - L.y)
  14.     }
  15.     function d(K, L) {
  16.         return new s(map.col, map.x, map.y, {
  17.             x: hero.x,
  18.             y: hero.y
  19.         }, {
  20.             x: K,
  21.             y: L
  22.         }, g.npccol).anotherFindPath()
  23.     }
  24.     function e(K, L) {
  25.         let M = d(K, L);
  26.         Array.isArray(M) && (window.road = M)
  27.     }
  28.  
  29.     function f(K) {
  30.         let L = g.npc[K];
  31.         if (L.grp)
  32.             for (let M in g.npc) g.npc[M].grp != L.grp || I.includes(g.npc[M].id) || I.push(g.npc[M].id);
  33.         else I.includes(K) || I.push(K)
  34.     }
  35.  
  36.     function k() {
  37.         for (let K in g.npc) {
  38.             let L = g.npc[K];
  39.             if ((2 == L.type || 3 == L.type) && 19 > L.wt && o(L.id) && hero.lvl + 30 >= L.lvl && 2 > Math.abs(hero.x - L.x) && 2 > Math.abs(hero.y - L.y) && q()) return _g(`fight&a=attack&ff=1&id=-${L.id}`)
  40.         }
  41.     }
  42.  
  43.     function l(K) {
  44.  
  45.     }
  46.     function m() {
  47.         let K = new Date,
  48.             L = K.getHours(),
  49.             M = K.getSeconds(),
  50.             N = K.getMinutes();
  51.         return 10 > L && (L = `0${L}`), 10 > N && (N = `0${N}`), 10 > M && (M = `0${M}`), `${L}:${N}:${M}`
  52.     }
  53.  
  54.     function o(K) {
  55.         return g.npc[K].grp && (!p(g.npc[K].grp) || r[localStorage.getItem(`adi-bot_expowiska`)].ignore_grp && r[localStorage.getItem(`adi-bot_expowiska`)].ignore_grp.includes(g.npc[K].grp)) ? !1 : !0
  56.     }
  57.  
  58.     function p(K) {
  59.         for (let L in g.npc)
  60.             if (g.npc[L].grp == K && 19 < g.npc[L].wt) return !1;
  61.         return !0
  62.     }
  63.  
  64.  
  65.     function q() {
  66.         return !!(70 < 100 * (hero.hp / hero.maxhp))
  67.     }
  68.     "undefined" == typeof g && -1 < document.location.href.indexOf("jaruna.margonem.pl") && document.location.reload();
  69.  
  70.     let r = {
  71.         "Pizzeria(wszystkie levele)": {
  72.             map: "Podziemia - p.1, Podziemia - p.2, Odnoga kana\u0142u, Podziemia - p.1, Podziemia - p.3, Podziemia - p.1, Odnoga kana\u0142u, Podziemia - p.2"
  73.         },
  74.         Lisy: {
  75.             map: "Lisia Nora p.1, Lisia Nora p.2"
  76.         },
  77.         "Szczury w Ithan": {
  78.             map: "Archiwa, Zaplecze, Sk\u0142ady, Przej\u015Bcie p\xF3\u0142nocno-wschodnie, Wschodnie skrzyd\u0142o mur\xF3w, Przej\u015Bcie po\u0142udniowo-wschodnie, Wschodnie skrzyd\u0142o mur\xF3w, Przej\u015Bcie p\xF3\u0142nocno-wschodnie, Sk\u0142ady, Zaplecze"
  79.         },
  80.         NekropoliaUP: {
  81.             map: "Grobowiec Rodziny Tywelta, Grobowiec Rodziny Tywelta p.1, Grobowiec Rodziny Tywelta p.2, Grobowiec Rodziny Tywelta p.1"
  82.         },
  83.         NekropoliaDOWN: {
  84.             map: "Krypta Rodu Heregata, Krypta Rodu Heregata p.1, Krypta Rodu Heregata p.2 - prawe skrzyd\u0142o, Krypta Rodu Heregata p.1"
  85.         },
  86.         KopalniaIthan: {
  87.             map: "Kopalnia Dogoran p.2, Kopalnia Dogoran p.3"
  88.         },
  89.         Demony: {
  90.             map: "Podziemia Siedziby Maga p.3 - sala 1, Podziemia Siedziby Maga p.3 - sala 2"
  91.         },
  92.         "Gacki szare": {
  93.             map: "Siedlisko Nietoperzy p.5, Siedlisko Nietoperzy p.4, Siedlisko Nietoperzy p.3, Siedlisko Nietoperzy p.2, Siedlisko Nietoperzy p.1, Siedlisko Nietoperzy p.2, Siedlisko Nietoperzy p.3, Siedlisko Nietoperzy p.4"
  94.         },
  95.         "Mr\u00F3wki green": {
  96.             map: "Kopiec Mr\xF3wek, Kopiec Mr\xF3wek p.1, Kopiec Mr\xF3wek p.2, Kopiec Mr\xF3wek p.1"
  97.         },
  98.         "Mr\u00F3wki ca\u0142e": {
  99.             map: "Mrowisko, Mrowisko p.1, Mrowisko p.2, Kopiec Mr\u00F3wek p.2, Kopiec Mr\u00F3wek p.1, Kopiec Mr\u00F3wek, Kopiec Mr\u00F3wek p.1, Kopiec Mr\u00F3wek p.2, Mrowisko p.2, Mrowisko p.1"
  100.         },
  101.         Zulusy: {
  102.             map: "Tygrysia Granica, Lokum Zulus\u00F3w, Tygrysia Granica, Osada Zulus\u00F3w"
  103.         },
  104.         "Mulusy noobskie": {
  105.             map: "Kryjówka Dzikich Kotów, Jaskinia Dzikich Kotów"
  106.         },
  107.         "Pag\u00F3rki \u0141upie\u017Cc\u00F3w": {
  108.             map: "Pag\u00F3rki \u0141upie\u017Cc\u00F3w, Sk\u0142ad Grabie\u017Cc\u00F3w, Pag\u00F3rki \u0142upie\u017Cc\u00F3w, Schowek na \u0141upy, Pag\u00F3rki \u0142upie\u017Cc\u00F3w, Kamienna Kryj\u00F3wka"
  109.         },
  110.         "Zuwie": {
  111.             map: "Spokojne Przejście, Zasłonięte Jezioro"
  112.         },
  113.         Ghule: {
  114.             map: "Polana \u015Acierwojad\xF3w, Wioska Ghuli"
  115.         },
  116.         Lambo: {
  117.             map: "Torneg, Leśna Przełęcz, Kryjówka Dzikich Kotów, Jaskinia Dzikich Kotów, Tygrysia Polana, Kryjówka Dzikich Kotów, Osada Mulusów, Pradawne Wzgórze Przodków"
  118.         },
  119.         Stukot: {
  120.             map: "Stary Kupiecki Trakt, Stukot Widmowych Kół, Wertepy Rzezimieszków, Stukot Widmowych Kół"
  121.         },
  122.         Wilki: {
  123.             map: "Warcz\u0105ce Osuwiska, Wilcza Nora p.1, Wilcza Nora p.2, Wilcza Nora p.1",
  124.             mobs_id: [71698]
  125.         },
  126.         Orki: {
  127.             map: "Opuszczony Bastion, Podziemne Przejście p.1, Podziemne Przejście p.2, Zrujnowana Wieża, Podziemne Przejście p.2, Podziemne Przejście p.1"
  128.         },
  129.         Pająki: {
  130.             map: "Rachminowa Jaskinia p.5, Rachminowa Jaskinia p.6 - rozlewisko, Rachminowa Jaskinia p.7 - bezdenna g\u0142\u0119bia, Rachminowa Jaskinia p.6 - rozlewisko"
  131.         },
  132.         Dziki: {
  133.             map: "Racicowy Matecznik, Pieczara Kwiku - sala 1, Racicowy Matecznik, Zbójecka Skarpa"
  134.         },
  135.         Koboldy: {
  136.             map: "Lazurytowa Grota p.1, Lazurytowa Grota p.2, Lazurytowa Grota p.3, Lazurytowa Grota p.2"
  137.         },
  138.         "Galarety z redami(gorsza wersja)": {
  139.             map: "Prastara Kopalnia Eroch p.4 - sala 1, Prastara Kopalnia Eroch p.5"
  140.         },
  141.         "Galaretki(te za pszcz\xF3\u0142kami)": {
  142.             map: "Prastara Kopalnia Eroch p.4 - sala 1, Jaskinia Flamdowa p.3, Prastara Kopalnia Eroch p.4 - sala 2, Jaskinia Flamdowa p.3"
  143.         },
  144.         "Szlak Thorpa": {
  145.             map: "Szlak Thorpa p.1, Szlak Thorpa p.2, Szlak Thorpa p.3, Szlak Thorpa p.4, Szlak Thorpa p.5, Szlak Thorpa p.6, Szlak Thorpa p.5, Szlak Thorpa p.4, Szlak Thorpa p.3, Szlak Thorpa p.2"
  146.         },
  147.         "Pok\u0105tniki za wermontami": {
  148.             map: "Rachminowa Jaskinia p.5, Rachminowa Jaskinia p.6 - rozlewisko, Rachminowa Jaskinia p.7 - bezdenna g\u0142\u0119bia, Rachminowa Jaskinia p.6 - rozlewisko"
  149.         },
  150.         "Bia\u0142e mr\xF3wki": {
  151.             map: "Szumi\u0105ca G\u0119stwina, Grota Bia\u0142ych Ko\u015Bci p.1 - sala 2, Grota Bia\u0142ych Ko\u015Bci p.2 - sala 2, Grota Bia\u0142ych Ko\u015Bci p.3 - sala 2, Grota Bia\u0142ych Ko\u015Bci p.4, Grota Bia\u0142ych Ko\u015Bci p.3 - sala 1, Grota Bia\u0142ych Ko\u015Bci p.4, Grota Bia\u0142ych Ko\u015Bci p.3 - sala 2, Grota Bia\u0142ych Ko\u015Bci p.2 - sala 2, Grota Bia\u0142ych Ko\u015Bci p.1 - sala 2"
  152.         },
  153.         Wodniki: {
  154.             map: "Moczary Rybiego Oka, Uroczysko Wodnika, Źródło Narumi, Uroczysko Wodnika"
  155.         },
  156.         Szkielety: {
  157.             map: "Trupia Przełęcz, Płaskowyż Arpan, Sucha Dolina, Dolina Pustynnych Kręgów, Sucha Dolina, Płaskowyż Arpan"
  158.         },
  159.         "Demilisze-low": {
  160.             map: "Rachminowa Jaskinia p.3, Rachminowa Jaskinia p.4, Rachminowa Jaskinia p.4 - przepa\u015Bcie, W\u0105ski chodnik p.4, Chodniki Erebeth p.4 - sala 1, Chodniki Erebeth p.4 - sala 2, Chodniki Erebeth p.4 - sala 1, W\u0105ski chodnik p.4, Rachminowa Jaskinia p.4 - przepa\u015Bcie, Rachminowa Jaskinia p.4"
  161.         },
  162.         "Demilisze-high": {
  163.             map: "Rachminowa Jaskinia p.4 - przepa\u015Bcie, W\u0105ski chodnik p.4, Chodniki Erebeth p.4 - sala 1, Chodniki Erebeth p.4 - sala 2, Kopalnia Thudul-ultok p.4 - sala 2, Kopalnia Thudul-ultok p.4 - sala 1, Kopalnia Thudul-ultok p.4 - sala 2, Chodniki Erebeth p.4 - sala 1, W\u0105ski chodnik p.4"
  164.         },
  165.         Wieczornice: {
  166.             map: "Mglista Polana Vesy, Wzg\u00F3rze P\u0142aczek, P\u0142acz\u0105ca Grota p.1 - sala 2, P\u0142acz\u0105ca Grota p.2, P\u0142acz\u0105ca Grota p.3, P\u0142acz\u0105ca Grota - sala Lamentu, P\u0142acz\u0105ca Grota p.3, P\u0142acz\u0105ca Grota p.2, P\u0142acz\u0105ca Grota p.1 - sala 2, Wzg\u00F3rze P\u0142aczek"
  167.         },
  168.         Minosy: {
  169.             map: "Labirynt Wykl\u0119tych p.2 - sala 1, Labirynt Wykl\u0119tych p.1, Labirynt Wykl\u0119tych p.2 - sala 2, Labirynt Wykl\u0119tych p.1"
  170.         },
  171.         "Erem p\xF3\u0142noc-po\u0142udnie": {
  172.             level: "74-90",
  173.             map: "Erem Czarnego S\u0142o\u0144ca - sala wej\u015Bciowa, Erem Czarnego S\u0142o\u0144ca p.1 s.1, Erem Czarnego S\u0142o\u0144ca - sala wej\u015Bciowa, Erem Czarnego S\u0142o\u0144ca p.2 s.1, Erem Czarnego S\u0142o\u0144ca p.2 s.2, Erem Czarnego S\u0142o\u0144ca - sala wej\u015Bciowa, Erem Czarnego S\u0142o\u0144ca p.1 s.2, Erem Czarnego S\u0142o\u0144ca - sala wej\u015Bciowa, Ska\u0142y Mro\u017Anych \u015Apiew\xF3w, Erem Czarnego S\u0142o\u0144ca - po\u0142udnie, Erem Czarnego S\u0142o\u0144ca - lochy, Erem Czarnego S\u0142o\u0144ca - lochy przej\u015B\cie, Erem Czarnego S\u0142o\u0144ca - lochy p.1, Erem Czarnego S\u0142o\u0144ca - lochy p.2, Erem Czarnego S\u0142o\u0144ca - lochy p.1, Erem Czarnego S\u0142o\u0144ca - lochy przej\u015B\cie, Erem Czarnego S\u0142o\u0144ca - lochy, Erem Czarnego S\u0142o\u0144ca - p\xF3\u0142noc, Ska\u0142y Mro\u017Anych \u015Apiew\xF3w",
  174.             mobs_id: [34826]
  175.         },
  176.         Grexy: {
  177.             level: "84-100",
  178.             map: "Grota Samotnych Dusz p.1, Grota Samotnych Dusz p.2, Grota Samotnych Dusz p.3, Grota Samotnych Dusz p.4, Grota Samotnych Dusz p.5, Grota Samotnych Dusz p.4, Grota Samotnych Dusz p.3, Grota Samotnych Dusz p.2"
  179.         },
  180.         "Mi\u015Bki-low": {
  181.             level: "94-115",
  182.             map: "Firnowa Grota p.1, Firnowa Grota p.2, Firnowa Grota p.2 s.1, Firnowa Grota p.2, Ska\u0142y Mro\u017Anych \u015Apiew\xF3w, Lodowa Wyrwa p.2, Lodowa Wyrwa p.1 s.1, Ska\u0142y Mro\u017Anych \u015Apiew\xF3w",
  183.             mobs_id: [34843, 34826]
  184.         },
  185.         "Heretycy": {
  186.             level: "119-138",
  187.             map: "Grota Heretyków p.1, Grota Heretyków p.2, Grota Heretyków p.3, Grota Heretyków p.4, Grota Heretyków p.5, Grota Heretyków p.4, Grota Heretyków p.3, Grota Heretyków p.2"
  188.         },
  189.         "Mi\u015Bki-high": {
  190.             level: "94-115",
  191.             map: "Firnowa Grota p.1, Firnowa Grota p.2, Firnowa Grota p.2 s.1, Firnowa Grota p.2, Ska\u0142y Mro\u017Anych \u015Apiew\xF3w, Lodowa Wyrwa p.2, Lodowa Wyrwa p.1 s.1, Lodowa Wyrwa p.1 s.2, Sala Lodowych Iglic, Lodowa Wyrwa p.1 s.2, Lodowa Wyrwa p.1 s.1, Ska\u0142y Mro\u017Anych \u015Apiew\xF3w",
  192.             mobs_id: [34843, 34826]
  193.         },
  194.         "Piraci - dwie jaskinie": {
  195.             level: "94-115",
  196.             map: "Korsarska Nora - sala 1, Korsarska Nora - sala 2, Korsarska Nora - sala 3, Korsarska Nora - sala 4, Korsarska Nora p.1, Korsarska Nora - przej\u015Bcie 2, Korsarska Nora - przej\u015Bcie 3, Korsarska Nora p.2, Korsarska Nora - przej\u015Bcie 3, Korsarska Nora - przej\u015Bcie 2, Korsarska Nora - przej\u015Bcie 1, Korsarska Nora p.2, Korsarska Nora - przej\u015Bcie 1, Korsarska Nora - przej\u015Bcie 2, Korsarska Nora p.2, Korsarska Nora - przej\u015Bcie 2, Korsarska Nora p.1, Korsarska Nora - sala 4, Korsarska Nora - sala 3, Korsarska Nora - sala 2, Korsarska Nora - sala 1, Latarniane Wybrze\u017Ce, Ukryta Grota Morskich Diab\u0142\xF3w, Ukryta Grota Morskich Diab\u0142\xF3w - arsena\u0142, Ukryta Grota Morskich Diab\u0142\xF3w, Ukryta Grota Morskich Diab\u0142\xF3w - siedziba, Ukryta Grota Morskich Diab\u0142\xF3w, Ukryta Grota Morskich Diab\u0142\xF3w - magazyn, Ukryta Grota Morskich Diab\u0142\xF3w, Ukryta Grota Morskich Diab\u0142\xF3w - skarbiec, Ukryta Grota Morskich Diab\u0142\xF3w, Latarniane Wybrze\u017Ce"
  197.         },
  198.         Mumie: {
  199.             level: "104-124",
  200.             map: "Oaza Siedmiu Wichr\xF3w, Ciche Rumowiska, Oaza Siedmiu Wichr\xF3w, Ruiny Pustynnych Burz"
  201.         },
  202.         "Magradit-low": {
  203.             level: "115-125",
  204.             map: "Magradit, Magradit - G\xF3ra Ognia, Wulkan Politraki p.4, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.3 - sala 2, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.4, Magradit - G\xF3ra Ognia",
  205.             ignore_grp: [34283]
  206.         },
  207.         "Magradit-high": {
  208.             level: "115-130",
  209.             map: "Magradit, Magradit - G\xF3ra Ognia, Wulkan Politraki p.4, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.3 - sala 2, Wulkan Politraki p.2, Wulkan Politraki p.1, Wulkan Politraki p.2, Wulkan Politraki p.3 - sala 2, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.4, Magradit - G\xF3ra Ognia"
  210.         },
  211.         "Ku\u017Ania Woundriela": {
  212.             level: "117-145",
  213.             map: "Ku\u017Ania Worundriela p.7 - sala 3, Ku\u017Ania Worundriela p.7 - sala 4"
  214.         },
  215.         Berserkerzy: {
  216.             level: "130-144",
  217.             map: "Grobowiec Przodk\xF3w, Cenotaf Berserker\xF3w p.1, Grobowiec Przodk\xF3w, Czarcie Oparzeliska, Pustelnia Wojownika p.2, Pustelnia Wojownika p.1, Czarcie Oparzeliska, Szuwarowe Trz\u0119sawisko, Opuszczona Twierdza, Szuwarowe Trz\u0119sawisko, Czarcie Oparzeliska, Pustelnia Wojownika p.1, Pustelnia Wojownika p.2, Czarcie Oparzeliska, Grobowiec Przodk\xF3w, Cenotaf Berserker\xF3w p.1"
  218.         },
  219.         Gobliny: {
  220.             map: "Przedsionek Z\u0142ych Goblin\xF3w, Gobli\u0144skie Lokum, Przedsionek Z\u0142ych Goblin\xF3w, Lokum Z\u0142ych Goblin\xF3w"
  221.         },
  222.         Kazamaty: {
  223.             level: "140-160",
  224.             map: "Nawiedzone Kazamaty p.1, Nawiedzone Kazamaty p.2, Nawiedzone Kazamaty p.3, Nawiedzone Kazamaty p.4, Nawiedzone Kazamaty p.5, Nawiedzone Kazamaty p.6, Nawiedzone Kazamaty p.5, Nawiedzone Kazamaty p.4, Nawiedzone Kazamaty p.3, Nawiedzone Kazamaty p.2"
  225.         },
  226.         "Duchy - dla leszczy": {
  227.             map: "Ruiny Tass Zhil, Przedsionek Grobowca, Ruiny Tass Zhil, B\u0142ota Sham Al",
  228.             ignore_grp: [229]
  229.         },
  230.         "Ingotia": {
  231.             map: "Wyspa Ingotia - po\0142 udnie, Jaskinia Rogog\0142 owych - aula, Sala Nici Ocalenia p.6, Sala Bia\0142 ego Byka p.5, Sala Nici Ocalenia p.6, Komnata Przekl\0119 tego Daru p.5, Jaskinia Rogog\0142 owych - aula, Sala \017B \0105 dzy p.5, Hala Odszczepie\0144 c\00F3 w p.4, Sala \017B \0105 dzy p.5, Komora Opuszczonych p.3, Jaskinia Rogog\0142 owych - aula, Komnata Wygna\0144 c\00F3 w p.3, Komora Budowniczego p.5, Komnata Wygna\0144 c\00F3 w p.3, Jaskinia Rogog\0142 owych p.2, Jaskinia Rogog\0142 owych - aula, Jaskinia Rogog\0142 owych p.1 - wyj\015B cie, Wyspa Ingotia - p\00F3 \0142 noc, Jaskinia Rogog\0142 owych p.1 - wyj\015B cie, Jaskinia Rogog\0142 owych - aula, Jaskinia Rogog\0142 owych p.2, Komnata Wygna\0144 c\00F3 w p.3, Komora Budowniczego p.5, Komnata Wygna\0144 c\00F3 w p.3, Jaskinia Rogog\0142 owych - aula, Komora Opuszczonych p.3, Sala \017B \0105 dzy p.5, Hala Odszczepie\0144 c\00F3 w p.4, Sala \017B \0105 dzy p.5, Jaskinia Rogog\0142 owych - aula, Komnata Przekl\0119 tego Daru p.5, Sala Nici Ocalenia p.6, Sala Bia\0142 ego Byka p.5, Sala Nici Ocalenia p.6, Jaskinia Rogog\0142 owych - aula"
  232.         },
  233.         Ogry: {
  234.             map: "Ogrza Kawerna p.1, Ogrza Kawerna p.2, Ogrza Kawerna p.3, Ogrza Kawerna p.2"
  235.         },
  236.         "Sala Kr\u00F3lewska": {
  237.             map: "Nawiedzone Komnaty p.1, Nawiedzone Komnaty p.2, Sala Kr\u00F3lewska, Komnata Czarnej Per\u0142y, Sala Kr\u00F3lewska, Nawiedzone Komnaty p.2"
  238.         },
  239.         Patrycjusze: {
  240.             map: "Krypty Bezsennych p .1, Krypty Bezsennych p .2, Krypty Bezsennych p .2 - przej\u015Bcie - sala 1, Krypty Bezsennych p .2 - przej\u015Bcie - sala 2, Krypty Bezsennych p .2, Krypty Bezsennych p .3, Krypty Bezsennych p .2, Krypty Bezsennych p .2 - przej\u015Bcie - sala 2, Krypty Bezsennych p .2 - przej\u015Bcie - sala 1, Krypty Bezsennych p .2"
  241.         },
  242.         Sekta: {
  243.             map: "Przedsionek Kultu, Tajemnicza Siedziba, Mroczne Komnaty, Przera\u017Caj\u0105ce Sypialnie, Mroczne Komnaty, Tajemnicza Siedziba, Sala Tysi\u0105ca \u015Awiec, Tajemnicza Siedziba, Lochy Kultu, Sale Rozdzierania, Lochy Kultu, Tajemnicza Siedziba"
  244.         },
  245.         Arachnitopia: {
  246.             map: "Dolina Paj\u0119czych Korytarzy, Arachnitopia p.1, Arachnitopia p.2, Arachnitopia p.3, Arachnitopia p.4, Arachnitopia p.5, Arachnitopia p.4, Arachnitopia p.3, Arachnitopia p.2, Arachnitopia p.1"
  247.         },
  248.         "Zakorzeniony Lud": {
  249.             map: "Urwisko Zdrewnia\u0142ych, W\u0105w\xF3z Zakorzenionych Dusz, Krzaczasta Grota p.2 - sala 2, Krzaczasta Grota p.2 - sala 3, Krzaczasta Grota p.2 - sala 1, Krzaczasta Grota p.2 - sala 3, Krzaczasta Grota p.1 - sala 3, Krzaczasta Grota p.1 - sala 2, Krzaczasta Grota p.1 - sala 1, W\u0105w\xF3z Zakorzenionych Dusz, Regiel Zab\u0142\u0105kanych, \u0179r\xF3d\u0142o Zakorzenionego Ludu, Regiel Zab\u0142\u0105kanych, W\u0105w\xF3z Zakorzenionych Dusz"
  250.         },
  251.         "Maddoki ca\u0142e": {
  252.             map: "Zawodz\u0105ce Kaskady, Skryty Azyl, Z\u0142ota D\u0105browa, O\u015Blizg\u0142e Przej\u015Bcie - sala 1, O\u015Blizg\u0142e Przej\u015Bcie - sala 2, Z\u0142ota D\u0105browa, Mglisty Las, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala wyj\u015Bciowa, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - przej\u015Bcie, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala boczna, Grota poro\u015Bni\u0119tych, Stalagmit\xF3w - przej\u015Bcie, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala g\u0142\xF3wna, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - przej\u015Bcie, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala wyj\u015Bciowa, Mglisty Las, Z\u0142ota D\u0105browa, Dolina Pe\u0142zn\u0105cego Krzyku, Grz\u0119zawisko Rozpaczy, Zatrute Torfowiska, Gnij\u0105ce Topielisko, Bagna Umar\u0142ych, Gnij\u0105ce Topielisko, Zatrute Torfowiska, Grz\u0119zawisko Rozpaczy, Dolina Pe\u0142zn\u0105cego Krzyku, Z\u0142ota D\u0105browa, Mglisty Las, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala wyj\u015Bciowa, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - przej\u015Bcie, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala g\u0142\xF3wna, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - przej\u015Bcie, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala boczna, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - przej\u015Bcie, Grota poro\u015Bni\u0119tych Stalagmit\xF3w - sala wyj\u015Bciowa, Mglisty Las, Z\u0142ota D\u0105browa, O\u015Blizg\u0142e Przej\u015Bcie - sala 2, O\u015Blizg\u0142e Przej\u015Bcie - sala 1, Z\u0142ota D\u0105browa, Skryty Azyl"
  253.         },
  254.         "Mahopteki dla leszczy": {
  255.             map: "Altepetl Mahoptekan, Niecka Xiuh Atl, Dolina Chmur, Niecka Xiuh Atl, Altepetl Mahoptekan, Dolina Chmur, Z\u0142ota G\xF3ra p.1, Z\u0142ota G\xF3ra p.2, Z\u0142ota G\xF3ra p.3, Z\u0142ota G\xF3ra p.2, Z\u0142ota G\xF3ra p.1, Dolina Chmur, Altepetl Mahoptekan, Mictlan p.1, Mictlan p.2, Mictlan p.3, Mictlan p.4, Mictlan p.5, Mictlan p.4, Mictlan p.3, Mictlan p.2, Mictlan p.1"
  256.         },
  257.         "Mahopteki-high": {
  258.             map: "Altepetl Mahoptekan, Niecka Xiuh Atl, Dolina Chmur, Niecka Xiuh Atl, Altepetl Mahoptekan, Dolina Chmur, Z\u0142ota G\xF3ra p.1, Z\u0142ota G\xF3ra p.2, Z\u0142ota G\xF3ra p.3, Z\u0142ota G\xF3ra p.2, Z\u0142ota G\xF3ra p.1, Dolina Chmur, Altepetl Mahoptekan, Mictlan p.1, Mictlan p.2, Mictlan p.3, Mictlan p.4, Mictlan p.5, Mictlan p.6, Mictlan p.7, Mictlan p.8, Mictlan p.7, Mictlan p.6, Mictlan p.5, Mictlan p.4, Mictlan p.3, Mictlan p.2, Mictlan p.1"
  259.         },
  260.         Katakumby: {
  261.             level: "256-280",
  262.             map: "Katakumby Poleg\u0142ych Legionist\u00F3w, Zachodni Tunel Ja\u017Ani, Katakumby Krwawych Wypraw, Wschodni Tunel Ja\u017Ani, Katakumby Gwa\u0142townej \u015Amierci, Korytarz Porzuconych Marze\u0144, Katakumby Op\u0119tanych Dusz, Katakumby Odnalezionych Skrytob\u00F3jc\u00F3w, Korytarz Porzuconych Nadziei, Katakumby Op\u0119tanych Dusz, Zachodni Tunel Ja\u017Ani"
  263.         },
  264.         "Wiedzminki": {
  265.             map: "Zachodnie Zbocze, Plugawe Pustkowie, Jęczywąwóz, Pogranicze Wisielców, Jęczywąwóz, Plugawe Pustkowie, Potępione Zamczysko, Potępione Zamczysko - korytarz wejściowy, Potępione Zamczysko - lochy wschodnie, Potępione Zamczysko - korytarz wejściowy, Potępione Zamczysko - wschodnia komnata, Potępione Zamczysko - korytarz wschodni, Wieża Szlochów p.1, Potępione Zamczysko, Wieża Szlochów p.1, Wieża Szlochów p.2, Wieża Szlochów p.3, Wieża Szlochów p.2, Wieża Szlochów p.1, Potępione Zamczysko - korytarz wschodni, Zamczysko - wschodnia komnata, Potępione Zamczysko - korytarz wejściowy, Potępione Zamczysko - lochy zachodnie, Potępione Zamczysko - korytarz wejściowy, Potępione Zamczysko - zachodnia komnata, Potępione Zamczysko - korytarz wejściowy, Potępione Zamczysko - sala ofiarna, Potępione Zamczysko - korytarz wejściowy, Potępione Zamczysko, Plugawe Pustkowie, Jęczywąwóz, Plugawe Pustkowie"
  266.         },
  267.         "Pustynia Shairhoud?": {
  268.             map: "Pustynia Shaiharrud - wsch\xF3d, Jurta Nomadzka, Pustynia Shaiharrud - wsch\xF3d, Grota Po\u015Bwi\u0119cenia, Pustynia Shaiharrud - wsch\xF3d, Namiot Pustynnych Smok\xF3w, Pustynia Shaiharrud - wsch\xF3d, Pustynia Shaiharrud - zach\xF3d, Jaskinia Piaskowej Burzy s.1, Jaskinia Piaskowej Burzy s.2, Namiot Naznaczonych, Pustynia Shaiharrud - zach\xF3d, Namiot Piechoty Pi\u0142owej, Pustynia Shaiharrud - zach\xF3d, Jaskinia Szcz\u0119k, Jurta Czcicieli, Pustynia Shaiharrud - zach\xF3d, Namiot Gwardii Smokoszcz\u0119kich, Pustynia Shaiharrud - zach\xF3d, S\u0119piarnia, Pustynia Shaiharrud - zach\xF3d, Jaskinia Smoczej Paszczy p.1, Jaskinia Smoczej Paszczy p.2, Jaskinia Smoczej Paszczy p.1, Jurta Chaegda, Pustynia Shaiharrud - zach\xF3d, Smocze Skalisko, Jaskinia Odwagi, Smocze Skalisko, Urwisko Vapora, Smocze Skalisko, Pustynia Shaiharrud - zach\xF3d"
  269.         }
  270.     };
  271.  
  272.  
  273.     class s {
  274.         constructor(K, L, M, N, O, P) {
  275.             this.width = L, this.height = M, this.collisions = this.parseCollisions(K, L, M), this.additionalCollisions = P || {}, this.start = this.collisions[N.x][N.y], this.end = this.collisions[O.x][O.y], this.start.beginning = !0, this.start.g = 0, this.start.f = b(this.start, this.end), this.end.target = !0, this.end.g = 0, this.addNeighbours(), this.openSet = [], this.closedSet = [], this.openSet.push(this.start)
  276.         }
  277.         parseCollisions(K, L, M) {
  278.             const N = Array(L);
  279.             for (let O = 0; O < L; O++) {
  280.                 N[O] = Array(M);
  281.                 for (let P = 0; P < M; P++) N[O][P] = new t(O, P, "1" === K.charAt(O + P * L))
  282.             }
  283.             return N
  284.         }
  285.         addNeighbours() {
  286.             for (let K = 0; K < this.width; K++)
  287.                 for (let L = 0; L < this.height; L++) this.addPointNeighbours(this.collisions[K][L])
  288.         }
  289.         addPointNeighbours(K) {
  290.             const L = K.x,
  291.                 M = K.y,
  292.                 N = [];
  293.             0 < L && N.push(this.collisions[L - 1][M]), 0 < M && N.push(this.collisions[L][M - 1]), L < this.width - 1 && N.push(this.collisions[L + 1][M]), M < this.height - 1 && N.push(this.collisions[L][M + 1]), K.neighbours = N
  294.         }
  295.         anotherFindPath() {
  296.             for (; 0 < this.openSet.length;) {
  297.                 let K = this.getLowestF(),
  298.                     L = this.openSet[K];
  299.                 if (L === this.end) return this.reconstructPath();
  300.                 this.openSet.splice(K, 1), this.closedSet.push(L);
  301.                 for (const M of L.neighbours)
  302.                     if (this.closedSet.includes(M)) continue;
  303.                     else {
  304.                         const N = L.g + 1;
  305.                         let O = !1;
  306.                         this.end != this.collisions[M.x][M.y] && (this.openSet.includes(M) || M.collision || this.additionalCollisions[M.x + 256 * M.y]) ? N < M.g && !M.collision && (O = !0) : (this.openSet.push(M), M.h = b(M, this.end), O = !0), O && (M.previous = L, M.g = N, M.f = M.g + M.h)
  307.                     }
  308.             }
  309.         }
  310.         getLowestF() {
  311.             let K = 0;
  312.             for (let L = 0; L < this.openSet.length; L++) this.openSet[L].f < this.openSet[K].f && (K = L);
  313.             return K
  314.         }
  315.         reconstructPath() {
  316.             const K = [];
  317.             for (let L = this.end; L !== this.start;) K.push(L), L = L.previous;
  318.             return K
  319.         }
  320.     }
  321.  
  322.     class t {
  323.         constructor(K, L, M) {
  324.             this.x = K, this.y = L, this.collision = M, this.g = 1e7, this.f = 1e7, this.neighbours = [], this.beginning = !1, this.target = !1, this.previous = void 0
  325.         }
  326.     }
  327.     localStorage.getItem(`adi-bot_lastmaps`) || localStorage.setItem(`adi-bot_lastmaps`, JSON.stringify([]));
  328.     let v = this,
  329.         z = !1,
  330.         A = !1,
  331.         B, C, D, E = 0,
  332.         F = !1,
  333.         G = !1;
  334.     g.loadQueue.push({
  335.         fun: () => {
  336.             G = !0
  337.         }
  338.     });
  339.     let H = !0,
  340.         I = [];
  341.     setInterval(function () {
  342.         B && (B = void 0)
  343.     }, 4e3);
  344.     let J;
  345.     this.PI = parseInput, parseInput = function (K) {
  346.         let L = v.PI.apply(this, arguments);
  347.         if (!g.battle && !g.dead && G) {
  348.             if (!B && !F) {
  349.                 if (B = v.findBestMob(), !B && localStorage.getItem(`adi-bot_expowiska`)) {
  350.                     let M, N = 9999;
  351.                     if (r[localStorage.getItem(`adi-bot_expowiska`)].mobs_id) {
  352.                         let O = r[localStorage.getItem(`adi-bot_expowiska`)].mobs_id;
  353.                         for (let P in O) g.npc[O[P]] && (M = d(g.npc[O[P]].x, g.npc[O[P]].y).length, M < N && (N = M, B = O[P]))
  354.                     }
  355.                 }
  356.                 A = !1, z = !1
  357.             }
  358.             if (B) {
  359.                 let M = g.npc[B];
  360.                 if (!M) return B = void 0, L;
  361.                 2 > Math.abs(hero.x - M.x) && 2 > Math.abs(hero.y - M.y) && !z ? (z = !0, _g(`fight&a=attack&ff=1&id=-${M.id}`, function (N) {
  362.                     N.alert && `Przeciwnik walczy już z kimś innym` == N.alert && (f(M.id), B = void 0)
  363.                 }), setTimeout(function () {
  364.                     B = void 0
  365.                 }, 500)) : !A && !z && (e(M.x, M.y), A = !0)
  366.             } else 0 < document.querySelector(`#adi-bot_maps`).value.length && (J = v.findBestGw(), J && !F && (hero.x == J.x && hero.y == J.y ? _g(`walk`) : (e(J.x, J.y), F = !0, setTimeout(function () {
  367.                 F = !1
  368.             }, 2e3))));
  369.             D == hero.y && C == C ? (E++, 4 < E && (k(), E = 0, B = void 0, J = void 0, F = !1)) : (D = hero.y, C = hero.x, E = 0)
  370.         }
  371.  
  372.         return L
  373.     }, this.findBestMob = function () {
  374.         let K, M, L = 9999;
  375.         for (let N in g.npc) {
  376.             let P, Q, R, O = g.npc[N];
  377.             if (-1 < document.querySelector(`#adi-bot_mobs`).value.indexOf(`-`) && (P = document.querySelector(`#adi-bot_mobs`).value.split(`-`), Q = parseInt(P[0]), R = parseInt(P[1])), (2 == O.type || 3 == O.type) && P && O.lvl <= R && O.lvl >= Q && o(O.id) && !I.includes(O.id) && 20 > O.wt) {
  378.                 if (K = d(O.x, O.y), void 0 == K) continue;
  379.                 K.length < L && (L = K.length, M = O.id)
  380.             }
  381.         }
  382.         return M
  383.     }, localStorage.getItem(`alksjd`) || localStorage.setItem(`alksjd`, 0), this.findBestGw = function () {
  384.         let K, L = document.querySelector(`#adi-bot_maps`).value.split(`, `),
  385.             M = parseInt(localStorage.getItem(`alksjd`));
  386.         for (let N in g.townname)
  387.             if (L[M] == g.townname[N]) {
  388.                 let O = g.gwIds[N].split(`.`);
  389.                 return K = {
  390.                     x: O[0],
  391.                     y: O[1]
  392.                 }, K
  393.             } M++, M > L.length && (M = 0), localStorage.setItem(`alksjd`, parseInt(M))
  394.     }, this.initHTML = function () {
  395.         if (!localStorage.getItem(`adi-bot_position`)) {
  396.             localStorage.setItem(`adi-bot_position`, JSON.stringify({
  397.                 x: 0,
  398.                 y: 0
  399.             }))
  400.         }
  401.         let K = JSON.parse(localStorage.getItem(`adi-bot_position`)),
  402.             L = document.createElement(`div`);
  403.         L.id = `adi-bot_box`, L.setAttribute(`tip`, `Złap i przenieś :)`);
  404.         let O = document.createElement(`select`);
  405.         O.id = `adi-bot_list`, O.classList.add(`adi-bot_inputs`), O.setAttribute(`tip`, `Wybierz expowisko, aby dodatek wpisał mapy za Ciebie`);
  406.         for (let S, R = 0; R < Object.keys(r).length; R++) S = document.createElement(`option`), S.setAttribute(`value`, Object.keys(r)[R]), S.text = Object.keys(r)[R], O.appendChild(S);
  407.         L.appendChild(O), document.body.appendChild(L);
  408.         let XD = document.createElement(`input`);
  409.         XD.type = `button`, XD.id = `adi-bot_return`, XD.classList.add(`button`), XD.setAttribute(`value`, `TP do Tuni`), L.appendChild(XD);
  410.  
  411.         let SWLF = document.createElement(`label`);
  412.         SWLF.id = `adi-bot_SWLF`, SWLF.classList.add(`switch`), SWLF.setAttribute(`tip`, `Przełącz wpisywanie auto F`), L.appendChild(SWLF);
  413.         let SWF = document.createElement(`input`);
  414.         SWF.type = `checkbox`, SWF.id = `adi-bot_SW`, SWLF.appendChild(SWF)
  415.         let SWSF = document.createElement(`span`);
  416.         SWSF.id = `adi-bot_SWSF`, SWSF.classList.add(`slider`), SWLF.appendChild(SWSF)
  417.  
  418.         let SWL = document.createElement(`label`);
  419.         SWL.id = `adi-bot_SWL`, SWL.classList.add(`switch`), SWL.setAttribute(`tip`, `Przełącz wpisywanie mapek`), L.appendChild(SWL);
  420.         let SW = document.createElement(`input`);
  421.         SW.type = `checkbox`, SW.id = `adi-bot_SW`, SWL.appendChild(SW)
  422.         let SWS = document.createElement(`span`);
  423.         SWS.id = `adi-bot_SWS`, SWS.classList.add(`slider`), SWL.appendChild(SWS)
  424.         let M = document.createElement(`input`);
  425.         M.type = `text`, M.id = `adi-bot_mobs`, M.classList.add(`adi-bot_inputs`), M.setAttribute(`tip`, `Wprowadź lvl mobków w postaci np. '50-70'`), M.style.display = localStorage.getItem(`Mdisplay`, `none`), L.appendChild(M);
  426.         let N = document.createElement(`input`);
  427.         N.type = `text`, N.id = `adi-bot_maps`, N.classList.add(`adi-bot_inputs`), N.setAttribute(`tip`, `Wprowadź nazwy map`), N.style.display = localStorage.getItem(`Ndisplay`,`none`), L.appendChild(N);
  428.         let P = document.createElement(`style`);
  429.         P.type = `text/css`;
  430.         let Q = `
  431.             #adi-bot_box {
  432.                position: absolute;
  433.                border: 2px solid #D62828;
  434.                border-radius: 5px;
  435.               padding: 5px;
  436.               text-align: center;
  437.                background: #003049;
  438.                cursor: grab;
  439.                left: ${K.x}px;
  440.                top: ${K.y}px;
  441.               width: auto;
  442.                height: auto;
  443.                z-index: 390;
  444.              }
  445.             .adi-bot_inputs {
  446.                 -webkit-box-sizing: content-box;
  447.                 -moz-box-sizing: content-box;
  448.                 box-sizing: content-box;
  449.                 margin: 0 auto;
  450.                 margin-bottom: 3px;
  451.                 padding: 2px;
  452.                 cursor: pointer;
  453.                 -webkit-border-radius: 8px;
  454.                 border-radius: 8px;
  455.                 font-family: 'Roboto', sans-serif;
  456.                 font-size: 14px;
  457.                 color: black;
  458.                 -o-text-overflow: clip;
  459.                 text-overflow: clip;
  460.                 background: rgba(234,227,227,1);
  461.               }
  462.              #adi-bot_list{
  463.                 max-width: 180px;
  464.                 text-align:center;
  465.                 text-align-last:center;
  466.               }
  467.               input[id=adi-bot_mobs] {
  468.                   text-align: center;
  469.               }
  470.               #adi-bot_blessingbox {
  471.                   background: gray;
  472.                   height: 32px;
  473.                   width: 32px;
  474.                   margin: 0 auto;
  475.               }
  476.               #adi-bot_return{
  477.                   margin: 0 auto;
  478.                   color: black;
  479.                   border: 1px solid rgba(234,227,227,1);
  480.                   border-radius: 8px;
  481.                   transition-duration: 0.4s;
  482.                   margin: 0 auto;
  483.                   padding: 4px 16px;
  484.                   font-size: 12px;
  485.                   text-decoration:none;
  486.                   background-color: rgba(234,227,227,1);
  487.                   display:block;
  488.                   text-align:center;
  489.               }
  490.               #adi-bot_return:hover{
  491.                   background-color: #D0C7C7;
  492.               }
  493.               .switch {
  494.                 position: relative;
  495.                 display: block;
  496.                 width: 30px;
  497.                 height: 16px;
  498.                 margin: 0 auto;
  499.                 margin-top: 5px;
  500.                 margin-bottom: 5px;
  501.               }
  502.  
  503.               .switch input {
  504.                 opacity: 0;
  505.                 width: 0;
  506.                 height: 0;
  507.               }
  508.  
  509.               .slider {
  510.                 position: absolute;
  511.                 cursor: pointer;
  512.                 top: 0;
  513.                 left: 0;
  514.                 right: 0;
  515.                 bottom: 0;
  516.                 background-color: rgba(234,227,227,1);
  517.                 -webkit-transition: .4s;
  518.                 transition: .4s;
  519.                 border-radius: 5px;
  520.               }
  521.  
  522.               .slider:before {
  523.                 position: absolute;
  524.                 border-radius: 99px;
  525.                 content: "";
  526.                 height: 13px;
  527.                 width: 13px;
  528.                 left: 2px;
  529.                 bottom: 2px;
  530.                 background-color: #F77F00;
  531.                 -webkit-transition: .4s;
  532.                 transition: .4s;
  533.               }
  534.  
  535.               input:checked + .slider {
  536.                 background-color: #F77F00;
  537.               }
  538.  
  539.               input:focus + .slider {
  540.                 box-shadow: 0 0 1px #2196F3;
  541.               }
  542.               input:checked + .slider:before {
  543.                 -webkit-transform: translateX(13px);
  544.                 -ms-transform: translateX(13px);
  545.                 transform: translateX(13px);
  546.                 background-color: white;
  547.  
  548.               }
  549.               input:checked #adi-bot_maps{
  550.                 display: none;
  551.               }
  552.               }
  553.         `;
  554.         var timer33;
  555.  
  556.         if (localStorage.getItem('aBattle') == 'on') {
  557.             SWF.checked = true;
  558.         } else {
  559.             SWF.checked = false;
  560.         }
  561.  
  562.         SWF.addEventListener('change', () => {
  563.             if (SWF.checked == true) {
  564.                 message('Szybka walka On!')
  565.                 localStorage.setItem('aBattle', 'on');
  566.             } else {
  567.                 message('Szybka walka Off!')
  568.                 localStorage.setItem('aBattle', 'off');
  569.             }
  570.         });
  571.  
  572.         if (localStorage.getItem('botON') == 'on') {
  573.             SW.checked = true;
  574.         } else {
  575.             SW.checked = false;
  576.         }
  577.  
  578.         function lookx(){
  579.             if(localStorage.getItem('aBattle') == 'on'){
  580.                     if($("#autobattleButton").css("display") == "block"){
  581.                         $("#autobattleButton").click()
  582.                     };
  583.                 timer33 = setTimeout(lookx,500);
  584.             }else{
  585.                 clearInterval(timer33);
  586.             }
  587.         }lookx();
  588.  
  589.         SW.addEventListener('change', () => {
  590.             if (SW.checked == true) {
  591.                 message('Bot OFF!')
  592.                 M.value = ``
  593.                 N.value = ``
  594.                 localStorage.setItem(`adi-bot_expowiska`, ``)
  595.                 localStorage.setItem(`adi-bot_maps`, ``)
  596.                 localStorage.setItem(`Ndisplay`, `none`)
  597.                 localStorage.setItem(`Mdisplay`, `none`)
  598.                 N.style.display = localStorage.getItem(`Ndisplay`)
  599.                 M.style.display = localStorage.getItem(`Mdisplay`)
  600.                 localStorage.setItem('botON', 'on');
  601.  
  602.             } else {
  603.                 message('Bot Off!')
  604.                 localStorage.setItem(`adi-bot_expowiska`, O.value), N.value = r[O.value].map, localStorage.setItem(`adi-bot_maps`, N.value), localStorage.setItem(`alksjd`, 0), message(`Zapisano expowisko ${O.value}`)
  605.                 if (r[O.value].level != undefined) {
  606.                     M.value = r[O.value].level, localStorage.setItem(`adi-bot_mobs`, M.value)
  607.                 }
  608.                 localStorage.setItem(`Ndisplay`, `block`)
  609.                 localStorage.setItem(`Mdisplay`, `block`)
  610.                 N.style.display = localStorage.getItem(`Ndisplay`)
  611.                 M.style.display = localStorage.getItem(`Mdisplay`)
  612.                 localStorage.setItem('botON', 'off');
  613.             }
  614.         });
  615.         P.appendChild(document.createTextNode(Q)), document.head.appendChild(P), localStorage.getItem(`adi-bot_mobs`) && (M.value = localStorage.getItem(`adi-bot_mobs`)), localStorage.getItem(`adi-bot_maps`) && (N.value = localStorage.getItem(`adi-bot_maps`)), localStorage.getItem(`adi-bot_expowiska`) && r[localStorage.getItem(`adi-bot_expowiska`)] && (O.value = localStorage.getItem(`adi-bot_expowiska`)), M.addEventListener(`keyup`, () => {
  616.             localStorage.setItem(`adi-bot_mobs`, M.value)
  617.         }), N.addEventListener(`keyup`, () => {
  618.             localStorage.setItem(`adi-bot_maps`, N.value)
  619.         }), O.addEventListener(`change`, () => {
  620.             localStorage.setItem(`adi-bot_expowiska`, O.value), N.value = r[O.value].map, localStorage.setItem(`adi-bot_maps`, N.value), localStorage.setItem(`alksjd`, 0), message(`Zapisano expowisko "${O.value}"`)
  621.         }), $(`#adi-bot_box`).draggable({
  622.             stop: () => {
  623.                 let R = {
  624.                     x: parseInt(document.querySelector(`#adi-bot_box`).style.left),
  625.                     y: parseInt(document.querySelector(`#adi-bot_box`).style.top)
  626.                 };
  627.                 localStorage.setItem(`adi-bot_position`, JSON.stringify(R)), message(`Zapisano pozycję`)
  628.             }
  629.         })
  630.     }, this.initHTML()
  631. };