Facebook
From Round Partdridge, 11 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 117
  1. // ==UserScript==
  2. // @name         Bot na expa (ulepszona wersja)
  3. // @namespace    http://tampermonkey.net/
  4. // @version      10.0
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        *://*.margonem.pl
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. window.adiwilkTestBot = new function() {
  12.     const a = preNewNpc;
  13.     preNewNpc = function(o) {
  14.         for (var i in o) o[i].del && g.npc[i] && Math.abs(hero.x - g.npc[i].x) + Math.abs(hero.y - g.npc[i].y) > 13 && delete o[i];
  15.         a(o)
  16.     }, mAlert = function() {}, "undefined" == typeof g && document.location.href.indexOf("jaruna.margonem.pl") > -1 && document.location.reload();
  17.     let o = {
  18.         "Pizzeria(wszystkie levele)": {
  19.             map: "Podziemia - p.1, Podziemia - p.2, Odnoga kana┼éu, Podziemia - p.1, Podziemia - p.3, Podziemia - p.1, Odnoga kana┼éu, Podziemia - p.2"
  20.         },
  21.         "Szczury w Ithan": {
  22.             map: "Archiwa, Zaplecze, Sk┼éady, Przej┼Ťcie p├│┼énocno-wschodnie, Wschodnie skrzyd┼éo mur├│w, Przej┼Ťcie po┼éudniowo-wschodnie, Wschodnie skrzyd┼éo mur├│w, Przej┼Ťcie p├│┼énocno-wschodnie, Sk┼éady, Zaplecze"
  23.         },
  24.         Nekropolia: {
  25.             map: "Grobowiec Rodziny Tywelta p.1, Grobowiec Rodziny Tywelta p.2"
  26.         },
  27.         Demony: {
  28.             map: "Podziemia Siedziby Maga p.3 - sala 1, Podziemia Siedziby Maga p.3 - sala 2"
  29.         },
  30.         "Gacki szare": {
  31.             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"
  32.         },
  33.         "Mr├│wki": {
  34.             map: "Kopiec Mr├│wek, Kopiec Mr├│wek p.1, Kopiec Mr├│wek p.2, Mrowisko p.2, Mrowisko p.1, Mrowisko, Mrowisko p.1, Mrowisko p.2, Kopiec Mr├│wek p.2, Kopiec Mr├│wek p.1"
  35.         },
  36.         Mulusy: {
  37.             map: "Osada Mulus├│w, Pradawne Wzg├│rze Przodk├│w"
  38.         },
  39.         Orki: {
  40.             map: "Opuszczony Bastion, Podziemne Przej┼Ťcie p.1, Podziemne Przej┼Ťcie p.2, Zrujnowana Wie┼╝a, Opuszczony Bastion, Zrujnowana Wie┼╝a, Podziemne Przej┼Ťcie p.2, Podziemne Przej┼Ťcie p.1"
  41.         },
  42.         Ghule: {
  43.             map: "Polana ┼Ücierwojad├│w, Wioska Ghuli"
  44.         },
  45.         "Wilcze plemi─Ö": {
  46.             map: "Warcz─ůce Osuwiska, Wilcza Nora p.1, Wilcza Nora p.2, Wilcza Nora p.1",
  47.             mobs_id: [71698]
  48.         },
  49.         "Paj─ůki": {
  50.             map: "Rachminowa Jaskinia p.5, Rachminowa Jaskinia p.6 - rozlewisko, Rachminowa Jaskinia p.7 - bezdenna g┼é─Öbia, Rachminowa Jaskinia p.6 - rozlewisko"
  51.         },
  52.         Koboldy: {
  53.             map: "Lazurytowa Grota p.1, Lazurytowa Grota p.2, Lazurytowa Grota p.3, Lazurytowa Grota p.2"
  54.         },
  55.         "Galaretki(te za pszcz├│┼ékami)": {
  56.             map: "Prastara Kopalnia Eroch p.4 - sala 1, Prastara Kopalnia Eroch p.5"
  57.         },
  58.         "Szlak Thorpa": {
  59.             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"
  60.         },
  61.         "Bia┼ée mr├│wki": {
  62.             map: "Szumi─ůca G─Östwina, Grota Bia┼éych Ko┼Ťci p.1 - sala 2, Grota Bia┼éych Ko┼Ťci p.2 - sala 2, Grota Bia┼éych Ko┼Ťci p.3 - sala 2, Grota Bia┼éych Ko┼Ťci p.4, Grota Bia┼éych Ko┼Ťci p.3 - sala 1, Grota Bia┼éych Ko┼Ťci p.4, Grota Bia┼éych Ko┼Ťci p.3 - sala 2, Grota Bia┼éych Ko┼Ťci p.2 - sala 2, Grota Bia┼éych Ko┼Ťci p.1 - sala 2"
  63.         },
  64.         "Moje demilsze": {
  65.             map: "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 2, Chodniki Erebeth p.4 - sala 1, Chodniki Erebeth p.4 - sala 2"
  66.         },
  67.         "Demilisze-low": {
  68.             map: "Rachminowa Jaskinia p.3, Rachminowa Jaskinia p.4, Rachminowa Jaskinia p.4 - przepa┼Ťcie, W─ůski chodnik p.4, Chodniki Erebeth p.4 - sala 1, Chodniki Erebeth p.4 - sala 2, Chodniki Erebeth p.4 - sala 1, W─ůski chodnik p.4, Rachminowa Jaskinia p.4 - przepa┼Ťcie, Rachminowa Jaskinia p.4"
  69.         },
  70.         "Demilisze-high": {
  71.             map: "Rachminowa Jaskinia p.4 - przepa┼Ťcie, W─ůski 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─ůski chodnik p.4"
  72.         },
  73.         "Alghule kolo tuzmer": {
  74.             map: "Skalne Cmentarzysko p.1, Skalne Cmentarzysko p.2, Skalne Cmentarzysko p.3, Skalne Cmentarzysko p.2"
  75.         },
  76.         "Szkielety kolo tuzmer": {
  77.             map: "Dolina Pustynnych Kr─Ög├│w, Sucha Dolina, Dolina Pustynnych Kr─Ög├│w, P┼éaskowy┼╝ Arpan, Dolina Pustynnych Kr─Ög├│w"
  78.         },
  79.         Minosy: {
  80.             map: "Labirynt Wykl─Ötych p.2 - sala 1, Labirynt Wykl─Ötych p.1, Labirynt Wykl─Ötych p.2 - sala 2, Labirynt Wykl─Ötych p.1",
  81.             ignore_grp: [23]
  82.         },
  83.         "Erem p├│┼énoc-po┼éudnie": {
  84.             map: "Erem Czarnego S┼éo┼äca - sala wej┼Ťciowa, Erem Czarnego S┼éo┼äca p.1 s.1, Erem Czarnego S┼éo┼äca - sala wej┼Ťciowa, Erem Czarnego S┼éo┼äca p.2 s.1, Erem Czarnego S┼éo┼äca p.2 s.2, Erem Czarnego S┼éo┼äca - sala wej┼Ťciowa, Erem Czarnego S┼éo┼äca p.1 s.2, Erem Czarnego S┼éo┼äca - sala wej┼Ťciowa, Ska┼éy Mro┼║nych ┼Üpiew├│w, Erem Czarnego S┼éo┼äca - po┼éudnie, Erem Czarnego S┼éo┼äca - lochy, Erem Czarnego S┼éo┼äca - p├│┼énoc, Ska┼éy Mro┼║nych ┼Üpiew├│w",
  85.             mobs_id: [34826]
  86.         },
  87.         Grexy: {
  88.             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"
  89.         },
  90.         "Mi┼Ťki-low": {
  91.             map: "Firnowa Grota p.1, Firnowa Grota p.2, Firnowa Grota p.2 s.1, Firnowa Grota p.2, Ska┼éy Mro┼║nych ┼Üpiew├│w, Lodowa Wyrwa p.2, Lodowa Wyrwa p.1 s.1, Ska┼éy Mro┼║nych ┼Üpiew├│w",
  92.             mobs_id: [34843, 34826]
  93.         },
  94.         "Mi┼Ťki-high": {
  95.             map: "Firnowa Grota p.1, Firnowa Grota p.2, Firnowa Grota p.2 s.1, Firnowa Grota p.2, Ska┼éy Mro┼║nych ┼Üpiew├│w, 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┼éy Mro┼║nych ┼Üpiew├│w",
  96.             mobs_id: [34843, 34826]
  97.         },
  98.         "Piraci - dwie jaskinie": {
  99.             map: "Korsarska Nora - sala 1, Korsarska Nora - sala 2, Korsarska Nora - sala 3, Korsarska Nora - sala 4, Korsarska Nora p.1, Korsarska Nora - przej┼Ťcie 2, Korsarska Nora - przej┼Ťcie 3, Korsarska Nora p.2, Korsarska Nora - przej┼Ťcie 3, Korsarska Nora - przej┼Ťcie 2, Korsarska Nora - przej┼Ťcie 1, Korsarska Nora p.2, Korsarska Nora - przej┼Ťcie 1, Korsarska Nora - przej┼Ťcie 2, Korsarska Nora p.2, Korsarska Nora - przej┼Ťcie 2, Korsarska Nora p.1, Korsarska Nora - sala 4, Korsarska Nora - sala 3, Korsarska Nora - sala 2, Korsarska Nora - sala 1, Latarniane Wybrze┼╝e, Ukryta Grota Morskich Diab┼é├│w, Ukryta Grota Morskich Diab┼é├│w - arsena┼é, Ukryta Grota Morskich Diab┼é├│w, Ukryta Grota Morskich Diab┼é├│w - siedziba, Ukryta Grota Morskich Diab┼é├│w, Ukryta Grota Morskich Diab┼é├│w - magazyn, Ukryta Grota Morskich Diab┼é├│w, Ukryta Grota Morskich Diab┼é├│w - skarbiec, Ukryta Grota Morskich Diab┼é├│w, Latarniane Wybrze┼╝e"
  100.         },
  101.         Mumie: {
  102.             map: "Oaza Siedmiu Wichr├│w, Ciche Rumowiska, Dolina suchych ┼éez, Ciche rumowiska, Oaza Siedmiu Wichr├│w, Ruiny Pustynnych Burz"
  103.         },
  104.         "Magradit-low": {
  105.             map: "Magradit, Magradit - G├│ra 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├│ra Ognia"
  106.         },
  107.         "Magradit-high": {
  108.             map: "Magradit, Magradit - G├│ra Ognia, Wulkan Politraki p.4, Skalna Wyrwa, 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, Skalna wyrwa, Magradit - G├│ra Ognia",
  109.             ignore_grp: [4]
  110.         },
  111.         "Czerwone Orki": {
  112.             map: "Orcza Wy┼╝yna, Osada Czerwonych Ork├│w, Siedziba Rady Ork├│w"
  113.         },
  114.         "Ku┼║nia Woundriela": {
  115.             map: "Ku┼║nia Worundriela p.7 - sala 3, Ku┼║nia Worundriela p.7 - sala 4"
  116.         },
  117.         Berserkerzy: {
  118.             map: "Grobowiec Przodk├│w, Cenotaf Berserker├│w p.1, Grobowiec Przodk├│w, Czarcie Oparzeliska, Pustelnia Wojownika p.2, Pustelnia Wojownika p.1, Czarcie Oparzeliska, Szuwarowe Trz─Ösawisko, Opuszczona Twierdza, Szuwarowe Trz─Ösawisko, Czarcie Oparzeliska, Pustelnia Wojownika p.1, Pustelnia Wojownika p.2, Czarcie Oparzeliska, Grobowiec Przodk├│w, Cenotaf Berserker├│w p.1"
  119.         },
  120.         "Wiedzmy dla cipek": {
  121.             map: "Upiorna Droga, Wied┼║mie Kot┼éowisko, Sabatowe G├│ry, Wied┼║mie Kot┼éowisko, Upiorna Droga"
  122.         },
  123.         Gobliny: {
  124.             map: "Przedsionek Z┼éych Goblin├│w, Gobli┼äskie Lokum, Przedsionek Z┼éych Goblin├│w, Lokum Z┼éych Goblin├│w"
  125.         },
  126.         Kazamaty: {
  127.             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"
  128.         },
  129.         "Duchy - dla leszczy": {
  130.             map: "Ruiny Tass Zhil, Przedsionek Grobowca, Ruiny Tass Zhil, B┼éota Sham Al",
  131.             ignore_grp: [18]
  132.         },
  133.         "Duchy - dla kox├│w": {
  134.             map: "Ruiny Tass Zhil, Przedsionek Grobowca, Tajemne Przej┼Ťcie, Przekl─Öty Grobowiec, Ruiny Tass Zhil, B┼éota Sham Al"
  135.         },
  136.         Ingotia: {
  137.             map: "Wyspa Ingotia - po┼éudnie, Jaskinia Rogog┼éowych - aula, Sala Nici Ocalenia p.6, Sala Bia┼éego Byka p.5, Sala Nici Ocalenia p.6, Komnata Przekl─Ötego Daru p.5, Jaskinia Rogog┼éowych - aula, Sala ┼╗─ůdzy p.5, Hala Odszczepie┼äc├│w p.4, Sala ┼╗─ůdzy p.5, Komora Opuszczonych p.3, Jaskinia Rogog┼éowych - aula, Komnata Wygna┼äc├│w p.3, Komora Budowniczego p.5, Komnata Wygna┼äc├│w p.3, Jaskinia Rogog┼éowych p.2, Jaskinia Rogog┼éowych - aula, Jaskinia Rogog┼éowych p.1 - wyj┼Ťcie, Wyspa Ingotia - p├│┼énoc, Jaskinia Rogog┼éowych p.1 - wyj┼Ťcie, Jaskinia Rogog┼éowych - aula, Jaskinia Rogog┼éowych p.2, Komnata Wygna┼äc├│w p.3, Komora Budowniczego p.5, Komnata Wygna┼äc├│w p.3, Jaskinia Rogog┼éowych - aula, Komora Opuszczonych p.3, Sala ┼╗─ůdzy p.5, Hala Odszczepie┼äc├│w p.4, Sala ┼╗─ůdzy p.5, Jaskinia Rogog┼éowych - aula, Komnata Przekl─Ötego Daru p.5, Sala Nici Ocalenia p.6, Sala Bia┼éego Byka p.5, Sala Nici Ocalenia p.6, Jaskinia Rogog┼éowych - aula"
  138.         },
  139.         Furby: {
  140.             map: "Zapomniany Las, Rozleg┼éa R├│wnina, Wzg├│rza Ob┼é─Ödu, Rozleg┼éa R├│wnina, Dolina Gniewu, Terytorium Furii, Zapadlisko Zniewolonych, Terytorium Furii, Dolina Gniewu, Zalana Grota p.1, Dolina Gniewu, Rozleg┼éa R├│wnina",
  141.             ignore_grp: []
  142.         },
  143.         "SK dla leszczy": {
  144.             map: "Nawiedzone Komnaty p.1, Nawiedzone Komnaty p.2, Sala Kr├│lewska, Nawiedzone Komnaty p.2"
  145.         },
  146.         "SK dla kox├│w": {
  147.             map: "Nawiedzone Komnaty p.1, Nawiedzone Komnaty p.2, Sala Kr├│lewska, Komnata Czarnej Per┼éy, Sala Kr├│lewska, Nawiedzone Komnaty p.2",
  148.             ignore_grp: []
  149.         },
  150.         "Furbole bez 8GRP xD": {
  151.             map: "Dolina Gniewu, Zalana Grota p.1, Zalana Grota p.2, Zalana Grota p.1, Dolina Gniewu, Terytorium Furii, Zapadlisko Zniewolonych, Terytorium Furii, Dolina Gniewu",
  152.             ignore_grp: []
  153.         },
  154.         Patrycjusze: {
  155.             map: "Krypty Bezsennych p .1, Krypty Bezsennych p .2, Krypty Bezsennych p .2 - przej┼Ťcie - sala 1, Krypty Bezsennych p .2 - przej┼Ťcie - sala 2, Krypty Bezsennych p .2, Krypty Bezsennych p .3, Krypty Bezsennych p .2, Krypty Bezsennych p .2 - przej┼Ťcie - sala 2, Krypty Bezsennych p .2 - przej┼Ťcie - sala 1, Krypty Bezsennych p .2"
  156.         },
  157.         Sekta: {
  158.             map: "Przedsionek Kultu, Tajemnicza Siedziba, Mroczne Komnaty, Przera┼╝aj─ůce Sypialnie, Mroczne Komnaty, Tajemnicza Siedziba, Sala Tysi─ůca ┼Üwiec, Tajemnicza Siedziba, Lochy Kultu, Sale Rozdzierania, Lochy Kultu, Tajemnicza Siedziba"
  159.         },
  160.         "Tak o, kacper kozak": {
  161.             map: "Ganter ma malego",
  162.             ignore_grp: [9]
  163.         },
  164.         "Paj─ůki": {
  165.             map: "Dolina Paj─Öczych 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"
  166.         },
  167.         "Drzewce przy maho": {
  168.             map: "Urwisko Zdrewnia┼éych, W─ůw├│z 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─ůw├│z Zakorzenionych Dusz, Regiel Zab┼é─ůkanych, ┼╣r├│d┼éo Zakorzenionego Ludu, Piaskowa G─Östwina, ┼╣r├│d┼éo Zakorzenionego Ludu, Jaskinia Korzennego Czaru p.2 - sala 1, Jaskinia Korzennego Czaru p.3, Jaskinia Korzennego Czaru p.2 - sala 1, Jaskinia Korzennego Czaru p.1 - sala 1, Jaskinia Korzennego Czaru p.1 - sala 3, Jaskinia Korzennego Czaru p.1 - sala 4, Jaskinia Korzennego Czaru p.1 - sala 3, Jaskinia Korzennego Czaru p.1 - sala 1, Jaskinia Korzennego Czaru p.2 - sala 1, ┼╣r├│d┼éo Zakorzenionego Ludu, Regiel Zab┼é─ůkanych, W─ůw├│z Zakorzenionych Dusz"
  169.         },
  170.         Maddoki: {
  171.             map: "Zawodz─ůce Kaskady, Skryty Azyl, Z┼éota D─ůbrowa, O┼Ťlizg┼ée Przej┼Ťcie - sala 1, O┼Ťlizg┼ée Przej┼Ťcie - sala 2, Z┼éota D─ůbrowa, Mglisty Las, Grota poro┼Ťni─Ötych Stalagmit├│w - sala wyj┼Ťciowa, Grota poro┼Ťni─Ötych Stalagmit├│w - przej┼Ťcie, Grota poro┼Ťni─Ötych Stalagmit├│w - sala boczna, Grota poro┼Ťni─Ötych, Stalagmit├│w - przej┼Ťcie, Grota poro┼Ťni─Ötych Stalagmit├│w - sala g┼é├│wna, Grota poro┼Ťni─Ötych Stalagmit├│w - przej┼Ťcie, Grota poro┼Ťni─Ötych Stalagmit├│w - sala wyj┼Ťciowa, Z┼éota D─ůbrowa, Mglisty Las, Grota poro┼Ťni─Ötych Stalagmit├│w - sala wyj┼Ťciowa, Grota poro┼Ťni─Ötych Stalagmit├│w - przej┼Ťcie, Grota poro┼Ťni─Ötych Stalagmit├│w - sala g┼é├│wna, Grota poro┼Ťni─Ötych Stalagmit├│w - przej┼Ťcie, Grota poro┼Ťni─Ötych Stalagmit├│w - sala boczna, Grota poro┼Ťni─Ötych Stalagmit├│w - przej┼Ťcie, Grota poro┼Ťni─Ötych Stalagmit├│w - sala wyj┼Ťciowa, Mglisty Las, Z┼éota D─ůbrowa, O┼Ťlizg┼ée Przej┼Ťcie - sala 2, O┼Ťlizg┼ée Przej┼Ťcie - sala 1, Z┼éota D─ůbrowa, Skryty Azyl"
  172.         },
  173.         Anuraki: {
  174.             map: "Dolina Pe┼ézn─ůcego Krzyku, Grz─Özawisko Rozpaczy, Zatrute Torfowiska, Gnij─ůce Topielisko, Bagna Umar┼éych, Gnij─ůce Topielisko, Zatrute Torfowiska, Grz─Özawisko Rozpaczy, Dolina Pe┼ézn─ůcego Krzyku"
  175.         },
  176.         "Maho bez PIRAMIDY": {
  177.             map: "Altepetl Mahoptekan, Niecka Xiuh Atl, Dolina Chmur, Niecka Xiuh Atl, Altepetl Mahoptekan, Dolina Chmur, Z┼éota G├│ra p.1, Z┼éota G├│ra p.2, Z┼éota G├│ra p.3, Z┼éota G├│ra p.2, Z┼éota G├│ra p.1, Dolina Chmur, Altepetl Mahoptekan, Mictlan p.1, Altepetl Mahoptekan"
  178.         },
  179.         "Maho z PIRAMIDA": {
  180.             map: "Altepetl Mahoptekan, Niecka Xiuh Atl, Dolina Chmur, Niecka Xiuh Atl, Altepetl Mahoptekan, Dolina Chmur, Z┼éota G├│ra p.1, Z┼éota G├│ra p.2, Z┼éota G├│ra p.3, Z┼éota G├│ra p.2, Z┼éota G├│ra 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"
  181.         },
  182.         "Wiedzmy te WIEKSZE": {
  183.             map: "Pot─Öpione Zamczysko, Pot─Öpione Zamczysko - korytarz wej┼Ťciowy, Pot─Öpione Zamczysko - lochy zachodnie, Pot─Öpione Zamczysko - korytarz wej┼Ťciowy, Pot─Öpione Zamczysko - korytarz wej┼Ťciowy, Pot─Öpione Zamczysko - korytarz wschodni, Wie┼╝a Szloch├│w p.1, Pot─Öpione Zamczysko - korytarz wschodni, Pot─Öpione Zamczysko - korytarz wej┼Ťciowy, Pot─Öpione Zamczysko, Plugawe Pustkowie, J─Öczyw─ůw├│z, Pogranicze Wisielc├│w, J─Öczyw─ůw├│z, Plugawe Pustkowie, Pot─Öpione Zamczysko"
  184.         },
  185.         "Katakumby poleglych": {
  186.             map: "Katakumby Gwa┼étownej ┼Ümierci, Korytarz Porzuconych Marze┼ä, Katakumby Op─Ötanych Dusz, Katakumby Odnalezionych Skrytob├│jc├│w, Korytarz Porzuconych Nadziei, Katakumby Op─Ötanych Dusz, Zachodni Tunel Ja┼║ni, Katakumby Krwawych Wypraw, Wschodni Tunel Ja┼║ni"
  187.         },
  188.         "Pustynia Shaiharroud": {
  189.             map: "Pustynia Shaiharrud - wsch├│d, Jurta Nomadzka, Pustynia Shaiharrud - wsch├│d, Grota Po┼Ťwi─Öcenia, Pustynia Shaiharrud - wsch├│d, Namiot Pustynnych Smok├│w, Pustynia Shaiharrud - wsch├│d, Pustynia Shaiharrud - zach├│d, Jaskinia Piaskowej Burzy s.1, Jaskinia Piaskowej Burzy s.2, Namiot Naznaczonych, Pustynia Shaiharrud - zach├│d, Namiot Piechoty Pi┼éowej, Pustynia Shaiharrud - zach├│d, Jaskinia Szcz─Ök, Jurta Czcicieli, Pustynia Shaiharrud - zach├│d, Namiot Gwardii Smokoszcz─Ökich, Pustynia Shaiharrud - zach├│d, S─Öpiarnia, Pustynia Shaiharrud - zach├│d, Jaskinia Smoczej Paszczy p.1, Jaskinia Smoczej Paszczy p.2, Jaskinia Smoczej Paszczy p.1, Jurta Chaegda, Pustynia Shaiharrud - zach├│d, Smocze Skalisko, Jaskinia Odwagi, Smocze Skalisko, Urwisko Vapora, Smocze Skalisko, Pustynia Shaiharrud - zach├│d"
  190.         }
  191.     };
  192.     class i {
  193.         constructor(a, o, i, e, r, n) {
  194.             this.width = o, this.height = i, this.collisions = this.parseCollisions(a, o, i), this.additionalCollisions = n || {}, this.start = this.collisions[e.x][e.y], this.end = this.collisions[r.x][r.y], this.start.beginning = !0, this.start.g = 0, this.start.f = t(this.start, this.end), this.end.target = !0, this.end.g = 0, this.addNeighbours(), this.openSet = [], this.closedSet = [], this.openSet.push(this.start)
  195.         }
  196.         parseCollisions(a, o, i) {
  197.             const t = new Array(o);
  198.             for (let r = 0; r < o; r++) {
  199.                 t[r] = new Array(i);
  200.                 for (let n = 0; n < i; n++) t[r][n] = new e(r, n, "1" === a.charAt(r + n * o))
  201.             }
  202.             return t
  203.         }
  204.         addNeighbours() {
  205.             for (let a = 0; a < this.width; a++)
  206.                 for (let o = 0; o < this.height; o++) this.addPointNeighbours(this.collisions[a][o])
  207.         }
  208.         addPointNeighbours(a) {
  209.             const o = a.x,
  210.                 i = a.y,
  211.                 e = [];
  212.             o > 0 && e.push(this.collisions[o - 1][i]), i > 0 && e.push(this.collisions[o][i - 1]), o < this.width - 1 && e.push(this.collisions[o + 1][i]), i < this.height - 1 && e.push(this.collisions[o][i + 1]), a.neighbours = e
  213.         }
  214.         anotherFindPath() {
  215.             for (; this.openSet.length > 0;) {
  216.                 let a = this.getLowestF(),
  217.                     o = this.openSet[a];
  218.                 if (o === this.end) return this.reconstructPath();
  219.                 this.openSet.splice(a, 1), this.closedSet.push(o);
  220.                 for (const a of o.neighbours)
  221.                     if (!this.closedSet.includes(a)) {
  222.                         const i = o.g + 1;
  223.                         let e = !1;
  224.                         this.end != this.collisions[a.x][a.y] && (this.openSet.includes(a) || a.collision || this.additionalCollisions[a.x + 256 * a.y]) ? i < a.g && !a.collision && (e = !0) : (this.openSet.push(a), a.h = t(a, this.end), e = !0), e && (a.previous = o, a.g = i, a.f = a.g + a.h)
  225.                     }
  226.             }
  227.         }
  228.         getLowestF() {
  229.             let a = 0;
  230.             for (let o = 0; o < this.openSet.length; o++) this.openSet[o].f < this.openSet[a].f && (a = o);
  231.             return a
  232.         }
  233.         reconstructPath() {
  234.             const a = [];
  235.             let o = this.end;
  236.             for (; o !== this.start;) a.push(o), o = o.previous;
  237.             return a
  238.         }
  239.     }
  240.     class e {
  241.         constructor(a, o, i) {
  242.             this.x = a, this.y = o, this.collision = i, this.g = 1e7, this.f = 1e7, this.neighbours = [], this.beginning = !1, this.target = !1, this.previous = void 0
  243.         }
  244.     }
  245.  
  246.     function t(a, o) {
  247.         return Math.abs(a.x - o.x) + Math.abs(a.y - o.y)
  248.     }
  249.  
  250.     function r(a, o) {
  251.         return new i(map.col, map.x, map.y, {
  252.             x: hero.x,
  253.             y: hero.y
  254.         }, {
  255.             x: a,
  256.             y: o
  257.         }, g.npccol).anotherFindPath()
  258.     }
  259.  
  260.     function n(a, o) {
  261.         let i = r(a, o);
  262.         Array.isArray(i) && (window.road = i)
  263.     }
  264.     localStorage.getItem("adi-bot_lastmaps") || localStorage.setItem("adi-bot_lastmaps", JSON.stringify(new Array));
  265.     let s, p, l, c = this,
  266.         h = !1,
  267.         d = !1,
  268.         y = 0,
  269.         z = !1,
  270.         u = !1;
  271.     g.loadQueue.push({
  272.         fun: () => {
  273.             u = !0
  274.         }
  275.     });
  276.     let k = !0,
  277.         w = new Array;
  278.     setInterval(function() {
  279.         s && (s = void 0)
  280.     }, 4e3);
  281.     let m = void 0;
  282.  
  283.     function b(a) {
  284.         return !g.npc[a].grp || !(! function(a) {
  285.             for (let o in g.npc)
  286.                 if (g.npc[o].grp == a && g.npc[o].wt > 19) return !1;
  287.             return !0
  288.         }(g.npc[a].grp) || o[localStorage.getItem("adi-bot_expowiska")].ignore_grp && o[localStorage.getItem("adi-bot_expowiska")].ignore_grp.includes(g.npc[a].grp))
  289.     }
  290.  
  291.     function S() {
  292.         return hero.hp / hero.maxhp * 100 > 70
  293.     }
  294.     this.PI = parseInput, parseInput = function(a) {
  295.         let i = c.PI.apply(this, arguments);
  296.         if (!g.battle && !g.dead && u) {
  297.             if (!s && !z) {
  298.                 if (!(s = c.findBestMob()) && localStorage.getItem("adi-bot_expowiska")) {
  299.                     let a, i = 9999;
  300.                     if (o[localStorage.getItem("adi-bot_expowiska")].mobs_id) {
  301.                         let e = o[localStorage.getItem("adi-bot_expowiska")].mobs_id;
  302.                         for (let o in e) g.npc[e[o]] && (a = r(g.npc[e[o]].x, g.npc[e[o]].y).length) < i && (i = a, s = e[o])
  303.                     }
  304.                 }
  305.                 d = !1, h = !1
  306.             }
  307.             if (s) {
  308.                 let a = g.npc[s];
  309.                 if (!a) return s = void 0, i;
  310.                 Math.abs(hero.x - a.x) < 2 && Math.abs(hero.y - a.y) < 2 && !h ? (h = !0, b(a.id) && _g(`fight&a=attack&ff=1&id=-${a.id}`, function(o) {
  311.                     o.alert && "Przeciwnik walczy ju┼╝ z kim┼Ť innym" == o.alert && (! function(a) {
  312.                         let o = g.npc[a];
  313.                         if (o.grp)
  314.                             for (let a in g.npc) g.npc[a].grp != o.grp || w.includes(g.npc[a].id) || w.push(g.npc[a].id);
  315.                         else w.includes(a) || w.push(a)
  316.                     }(a.id), s = void 0)
  317.                 }), setTimeout(function() {
  318.                     s = void 0
  319.                 }, 500)) : d || h || (n(a.x, a.y), d = !0)
  320.             } else document.querySelector("#adi-bot_maps").value.length > 0 && (m = c.findBestGw()) && !z && (hero.x == m.x && hero.y == m.y ? _g("walk") : (n(m.x, m.y), z = !0, setTimeout(function() {
  321.                 z = !1
  322.             }, 2e3)));
  323.             l == hero.y && p == p ? ++y > 4 && (! function() {
  324.                 for (let a in g.npc) {
  325.                     let o = g.npc[a];
  326.                     if ((2 == o.type || 3 == o.type) && o.wt < 19 && b(o.id) && hero.lvl + 30 >= o.lvl && Math.abs(hero.x - o.x) < 2 && Math.abs(hero.y - o.y) < 2 && S()) return _g(`fight&a=attack&ff=1&id=-${o.id}`)
  327.                 }
  328.             }(), y = 0, s = void 0, m = void 0, z = !1) : (l = hero.y, p = hero.x, y = 0)
  329.         }
  330.         if (g.dead && k && (k = !1, document.location.href = "http://margonem.pl"), a.hasOwnProperty("f") && 1 == a.f.init && hero.clan > 0 && !Object.keys(a.f.w).some(a => a < 0)) {
  331.             const o = [],
  332.                 i = [];
  333.             for (let e of Object.values(a.f.w)) 1 == e.team && o.push(`${e.name} ${e.lvl}${e.prof}`) || i.push(`${e.name} ${e.lvl}${e.prof} `);
  334.             if (2 == a.f.myteam && document.querySelector("#adi-bot_maps").value.indexOf(map.name) > -1) {
  335.                 map.name,
  336.                     function() {
  337.                         let a = new Date,
  338.                             o = a.getHours(),
  339.                             i = a.getSeconds(),
  340.                             e = a.getMinutes();
  341.                         o < 10 && (o = `0${o}`), e < 10 && (e = `0${e}`), i < 10 && (i = `0${i}`)
  342.                     }(), o.join(", "), i.join(", ")
  343.             }
  344.         }
  345.         return i
  346.     }, this.findBestMob = function() {
  347.         let a, o, i = 9999;
  348.         for (let e in g.npc) {
  349.             let t, n, s, p = g.npc[e];
  350.             if (document.querySelector("#adi-bot_mobs").value.indexOf("-") > -1 && (t = document.querySelector("#adi-bot_mobs").value.split("-"), n = parseInt(t[0]), s = parseInt(t[1])), (2 == p.type || 3 == p.type) && t && p.lvl <= s && p.lvl >= n && b(p.id) && !w.includes(p.id) && p.wt < 20) {
  351.                 if (null == (a = r(p.x, p.y))) continue;
  352.                 a.length < i && (i = a.length, o = p.id)
  353.             }
  354.         }
  355.         return o
  356.     }, localStorage.getItem("alksjd") || localStorage.setItem("alksjd", 0), this.findBestGw = function() {
  357.         let a, o = document.querySelector("#adi-bot_maps").value.split(", "),
  358.             i = parseInt(localStorage.getItem("alksjd"));
  359.         for (let e in g.townname) {
  360.             if (o[i] == g.townname[e].replace(/ +(?= )/g, "")) {
  361.                 let o = g.gwIds[e].split(".");
  362.                 if (null == r(o[0], o[1])) continue;
  363.                 a = {
  364.                     x: o[0],
  365.                     y: o[1]
  366.                 }
  367.             }
  368.             if (a) return a
  369.         }++i > o.length && (i = 0), localStorage.setItem("alksjd", parseInt(i))
  370.     }, this.initHTML = function() {
  371.         if (!localStorage.getItem("adi-bot_position")) {
  372.             let a = {
  373.                 x: 0,
  374.                 y: 0
  375.             };
  376.             localStorage.setItem("adi-bot_position", JSON.stringify(a))
  377.         }
  378.         let a = JSON.parse(localStorage.getItem("adi-bot_position")),
  379.             i = document.createElement("div");
  380.         i.id = "adi-bot_box", i.setAttribute("tip", "Z┼éap i przenie┼Ť :)");
  381.         let e = document.createElement("input");
  382.         e.type = "text", e.id = "adi-bot_mobs", e.classList.add("adi-bot_inputs"), e.setAttribute("tip", "Wprowad┼║ lvl mobk├│w w postaci np. '50-70'"), i.appendChild(e);
  383.         let t = document.createElement("input");
  384.         t.type = "text", t.id = "adi-bot_maps", t.classList.add("adi-bot_inputs"), t.setAttribute("tip", "Wprowad┼║ nazwy map"), i.appendChild(t);
  385.         let r = document.createElement("select");
  386.         r.id = "adi-bot_list", r.classList.add("adi-bot_inputs"), r.setAttribute("tip", "Wybierz expowisko, aby dodatek wpisa┼é mapy za Ciebie");
  387.         for (let a = 0; a < Object.keys(o).length; a++) {
  388.             let i = document.createElement("option");
  389.             i.setAttribute("value", Object.keys(o)[a]), i.text = Object.keys(o)[a], r.appendChild(i)
  390.         }
  391.         i.appendChild(r), document.body.appendChild(i);
  392.         let s = document.createElement("style");
  393.         s.type = "text/css";
  394.         let p = `\n            #adi-bot_box {\n               position: absolute;\n               border: 3px solid lime;\n              padding: 5px;\n              text-align: center;\n               background: url(http://i.imgur.com/iQISZHL.png);\n               cursor: grab;\n               left: ${a.x}px;\n               top: ${a.y}px;\n              width: auto;\n               height: auto;\n               z-index: 390;\n             }\n            .adi-bot_inputs {\n                -webkit-box-sizing: content-box;\n                -moz-box-sizing: content-box;\n                box-sizing: content-box;\n                margin: 0 auto;\n                margin-bottom: 3px;\n                padding: 2px;\n                cursor: pointer;\n                border: 2px solid lime;\n                -webkit-border-radius: 5px;\n                border-radius: 5px;\n                font: normal 16px/normal "Comic Sans MS", Times, serif;\n                color: #000;\n                -o-text-overflow: clip;\n                text-overflow: clip;\n                background: rgba(234,227,227,1);\n                -webkit-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;\n                box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;\n                text-shadow: 1px 1px 0 rgba(255,255,255,0.66) ;\n                display: block;\n              }\n              input[id=adi-bot_mobs] {\n                  text-align: center;\n              }\n              #adi-bot_blessingbox {\n                  border: 1px solid red;\n                  background: gray;\n                  height: 32px;\n                  width: 32px;\n                  margin: 0 auto;\n              }\n        `;
  395.         s.appendChild(document.createTextNode(p)), document.head.appendChild(s), bB = (() => {});
  396.         var l = battleMsg;
  397.         battleMsg = function(a, o) {
  398.             var i = l(a, o);
  399.             return a.search(/winner=/) >= 0 && $("#battleclose").click(), i
  400.         };
  401.         var c = fight;
  402.         fight = (a => {
  403.             c(a), a.init && _g("fight&a=f")
  404.         }), document.addEventListener("keyup", async function(a) {
  405.             "INPUT" == a.target.tagName || "TEXTAREA" == a.target.tagName || 90 != a.which || g.battle || (g.engineStopped || parseInput === window.adiwilkTestBot.PI ? (parseInput = window.adiwilkTestBot.copyPI, message("Bot uruchomiony")) : (window.adiwilkTestBot.copyPI = parseInput, parseInput = window.adiwilkTestBot.PI, n(hero.x, hero.y), message("Bot zatrzymany")))
  406.         }), localStorage.getItem("adi-bot_mobs") && (e.value = localStorage.getItem("adi-bot_mobs")), localStorage.getItem("adi-bot_maps") && (t.value = localStorage.getItem("adi-bot_maps")), localStorage.getItem("adi-bot_expowiska") && o[localStorage.getItem("adi-bot_expowiska")] && (r.value = localStorage.getItem("adi-bot_expowiska")), e.addEventListener("keyup", () => {
  407.             localStorage.setItem("adi-bot_mobs", e.value)
  408.         }), t.addEventListener("keyup", () => {
  409.             localStorage.setItem("adi-bot_maps", t.value)
  410.         }), r.addEventListener("change", () => {
  411.             localStorage.setItem("adi-bot_expowiska", r.value), t.value = o[r.value].map, localStorage.setItem("adi-bot_maps", t.value), localStorage.setItem("alksjd", 0), message(`Zapisano expowisko "${r.value}"`)
  412.         }), $("#adi-bot_box").draggable({
  413.             stop: () => {
  414.                 let a = {
  415.                     x: parseInt(document.querySelector("#adi-bot_box").style.left),
  416.                     y: parseInt(document.querySelector("#adi-bot_box").style.top)
  417.                 };
  418.                 localStorage.setItem("adi-bot_position", JSON.stringify(a)), message("Zapisano pozycj─Ö")
  419.             }
  420.         })
  421.     }, this.initHTML()
  422. };