hwm_GN_exp

Помощник ГН. (2021.11.18)

  1. // ==UserScript==
  2. // @name hwm_GN_exp
  3. // @description Помощник ГН. (2021.11.18)
  4. // @author ElMarado
  5. // @version 2.82
  6. // @include http://178.248.235.15/mercenary_guild.php*
  7. // @include http://178.248.235.15/pl_warlog.php*
  8. // @include https://www.heroeswm.*/mercenary_guild.php*
  9. // @include https://www.heroeswm.*/pl_warlog.php*
  10. // @grant GM_getValue
  11. // @grant GM_setValue
  12. // @icon https://app.box.com/representation/file_version_34029013909/image_2048/1.png?shared_name=hz97b2qwo2ycc5ospb7ccffn13w3ehc4
  13. // @namespace https://gf.qytechs.cn/users/14188
  14. // @license GPL-3.0+
  15. // ==/UserScript==
  16. (function () {
  17. var version = '2.82 (2021.11.18)';
  18. var new_exp_koef = 4;
  19. var show_exp_on_warlog = GM_getValue("hwm_show_exp_on_warlog", false);
  20. var skip_army = GM_getValue("hwm_skip_army", false); //1-армии
  21. var skip_raids = GM_getValue("hwm_skip_raids", false); //2-набеги
  22. var skip_monstr = GM_getValue("hwm_skip_monstr", false); //3-монстры
  23. var skip_conspir = GM_getValue("hwm_skip_conspir", false); //4-заговорщики
  24. var skip_invader = GM_getValue("hwm_skip_invader", false); //5-захватчики
  25. var skip_otryad = GM_getValue("hwm_skip_otryad", false); //6-отряд (защита союзника)
  26. var skip_convoy = GM_getValue("hwm_skip_convoy", false); //7-разбойники (сопровождение)
  27. var koef = GM_getValue("hwm_koef_dop_exp", 1.0); //коэф перекача
  28. var level_army = GM_getValue("hwm_level_army", 0); //1-С какого уровня пропускать армии
  29. var level_raids = GM_getValue("hwm_level_raids", 0); //2-С какого уровня пропускать набеги
  30. var level_monstr = GM_getValue("hwm_level_monstr", 0); //3-С какого уровня пропускать монстров
  31. var level_conspir = GM_getValue("hwm_level_conspir", 0); //4-С какого уровня пропускать заговорщиков
  32. var level_invader = GM_getValue("hwm_level_invader", 0); //5-С какого уровня пропускать захватчиков
  33. var level_otryad = GM_getValue("hwm_level_otryad", 0); //6-С какого уровня пропускать отряды
  34. var level_convoy = GM_getValue("hwm_level_convoy", 0); //7-С какого уровня пропускать отряды
  35. var limit_exp_monstr = GM_getValue("hwm_limit_exp_monstr", 0); //3-С какого порога опыта пропускать монстров
  36. var str_settings= ustring("Настройки");
  37. var str_exp = ustring("Кол-во опыта: ");
  38. var str_atk = ustring("Атака&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp: ");
  39. var str_def = ustring("Защита&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp: ");
  40. var str_dam = ustring("Урон&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp: ");
  41. var str_hp = ustring("Ед.жизни&nbsp&nbsp&nbsp&nbsp: ");
  42. var str_spd = ustring("Скорость&nbsp&nbsp&nbsp&nbsp: ");
  43. var str_ini = ustring("Инициатива&nbsp&nbsp: ");
  44. var str_mana1 = ustring("Мана&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp: ");
  45. var str_mana2 = ustring("Кастов&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp: ");
  46. var str_vys = ustring("Выстрелы&nbsp&nbsp&nbsp&nbsp: ");
  47. var str_skills = ustring('Умения: ');
  48. var str_pusto = ustring("Данные не заполнены");
  49. var str_no_found= ustring("В базе скрипта не найден. Обратитесь к автору скрипта.");
  50. var str_show = ustring("Отображать опыт в протоколе боев");
  51. var str_start = ustring("Скрипт: Помощник ГН. Версия: ");
  52. var str_koef_0 = ustring("Текущий коэффициент перекача:&nbsp");
  53. var str_koef_1 = ustring("Введите новый коэффициент перекача от 1.0 до 9.9999");
  54. var str_koef_2 = ustring(" - значение изменится после обновления.");
  55. var str_update = ustring("Проверить обновление скрипта.");
  56. var str_autor = ustring("Сообщить автору о найденной ошибке.");
  57. var str_warning1= ustring("Внимание. Выставляя галочку в любую из ячеек ниже, вы берете на себя отвественность за нарушение ");
  58. var str_warning2= ustring("общих правил ГВД (пп.2.1 и 2.2)!");
  59. var str_warning3= ustring("Перед отправлением на задание <Разбойники> проверьте свою аммуницию. Можно идти без артов!");
  60. var str_skip00 = ustring("Пропускать задания:");
  61. var str_skip01 = ustring("От указанного уровня");
  62. var str_skip02 = ustring("Или опыт > заданого");
  63. var str_title_3 = ustring("Если значение 0, то опыт не учитывается.");
  64. var str_skip1 = ustring(" армии.");
  65. var str_skip2 = ustring(" набеги.");
  66. var str_skip3 = ustring(" монстры.");
  67. var str_skip4 = ustring(" заговорщики.");
  68. var str_skip5 = ustring(" захватчики.");
  69. var str_skip6 = ustring(" отряды (защита союзника).");
  70. var str_skip7 = ustring(" разбойники.");
  71. var key_army = ustring("Армия");
  72. var key_raids = ustring("набеги");
  73. var key_monstr = ustring("-монстр");
  74. var key_conspir = ustring("заговорщики");
  75. var key_invader = ustring("захватчики");
  76. var key_otryad = ustring("Отряд");
  77. var key_convoy = ustring("разбойники");
  78. var str_time = ustring("Приходи через");
  79. var str_min = ustring(" мин");
  80. var str_sec = ustring(" c.");
  81. var str_tab_b = ustring("ГН. ");
  82. var str_tab_e = ustring(" до проверки задания.");
  83. var str_no_gn = ustring("ГН недоступна.");
  84. var str_zad_ok = ustring("ГН. Задание подобрано!");
  85. var str_need_skp= ustring("ГН. Есть задание для пропуска.");
  86. var str_url_aut = ustring("/sms-create.php?mailto=ElMarado&subject=Скрипт: Помощник ГН v")+version+ustring(". Найдена ошибка:");
  87. var str_url_hlp = "http://help.ordenmira.ru/ability.php?name=";
  88. var str_url_prav= "/help.php?section=5";
  89. var str_url = "https://gf.qytechs.cn/ru/scripts/11693-hwm-gn-exp";
  90. var need_move_up= false;
  91. var url_cur = location.href;
  92. var all_tables = document.getElementsByTagName('table');
  93. var monstr_rus_data = { //структура(Если не написано ГО, то для монстра 0-уровня) [Умения,Exp_ГО,Атака,Защита,Min_Урон,Max_Урон,HP_ГО,Скорость,Инициатива, Мана, Выстрелы]
  94. "Абордажники": ['00000000000000000000000000010000000000000001C200',30,25,23,24,37,16,6,12,0,0],
  95. "Адепты": ['00000000000000800008000100000000040000000001C000',121,20,24,29,32,80,6,12,14,10],
  96. "Адские жеребцы": ['20040020000000000000000000000000000000000001C000',136,23,23,28,36,50,7,19,0,0],
  97. "Адские жнецы": ['00000028000000800000000000000000000000000001C000',250,44,33,22,33,99,6,16,10,0],
  98. "Адские псы": ['00000020000000000000000000000000000000000001C000',33,24,22,23,35,15,7,16,0,0],
  99. "Ангелы": ['00040000000000040000000000000000000000000001C000',330,27,27,45,45,180,6,13,0,0],
  100. "Арбалетчики": ['00000000000000000000000000000000041000000001C000',19,24,24,22,38,10,6,10,0,12],
  101. "Архангелы": ['00040400000000040000000000000000000000000001C000',390,31,31,50,50,220,8,13,0,0],
  102. "Архидемоны": ['00040020000000000000000000000000006000000001C000',312,32,31,33,66,211,6,12,0,0],
  103. "Архидьяволы": ['00040020000000000000000000100000004000000001C000',311,32,29,36,66,199,7,13,0,0],
  104. "Архиличи": ['00040000000000800020000000000004040000000001C000',110,29,29,27,30,55,6,12,19,6],
  105. "Архимаги": ['00000000000000808000000000000000060000000201C000',70,20,20,27,37,30,6,12,30,4],
  106. "Ассасины": ['00000000000000000008000400000000040000001001C000',33,24,23,22,34,14,6,14,0,5],
  107. "Астральные драконы": ['00040000000000040020000000000000000001000001C000',310,31,27,27,36,150,7,13,0,0],
  108. "Баньши": ['00040000000000000020000000000200000000000001C000',205,23,23,22,37,110,6,13,0,0],
  109. "Бегемоты": ['00040000020000000000000000000000000000000001C000',350,30,22,30,50,210,6,11,0,0],
  110. "Берсерки": ['00000000004000000000000000000000000000000081C000',42,27,27,23,38,25,6,14,0,0],
  111. "Бестии": ['00000000000000000000000000000000000020000001C000',30,24,22,25,37,16,7,17,0,0],
  112. "Бесы": ['00000020000000000000000000000000000000020001C000',6,22,21,21,32,4,6,16,0,0],
  113. "Бехолдеры": ['00000000000000000008000000000000040000000101C000',33,29,27,23,35,22,6,12,0,12],
  114. "Боевые грифоны": ['00440000000020040000000000000000000000000001C000',45,27,22,27,35,35,9,19,0,0],
  115. "Боевые единороги": ['10040000000000000000040000000000000000000001C000',135,27,27,20,30,77,7,14,0,0],
  116. "Боевые кентавры": ['00048000000000000008000000000000040000000001C000',21,24,24,23,35,10,6,12,0,8],
  117. "Боевые маги": ['00000000000000808000000000200000060000000001C000',72,22,29,27,37,29,6,12,12,6],
  118. "Вампиры": ['00000200000000000020010000000000000000000001C000',68,26,26,26,38,30,6,13,0,0],
  119. "Вармонгеры": ['00008001000000000000000000001000000000000101C000',36,24,26,23,35,20,6,11,0,0],
  120. "Ведьмы-призраки": ['00200010000000040020010000000000000000000001C000',30,28,27,24,36,20,6,13,0,0],
  121. "Ведьмы моря": ['00000000000000800000000000000000040000000001C200',70,22,20,20,36,35,6,14,29,4],
  122. "Великаны-лучники": ['00040008000000000000000000000000060000000001C000',130,30,26,22,32,100,6,13,0,6],
  123. "Великие левиафаны": ['00040000010010000000000000000000000000000001C000',300,35,35,45,65,250,6,12,0,0],
  124. "Верховные друиды": ['00000000000000800000000040000000040000000001C000',101,22,29,29,34,38,6,12,18,7],
  125. "Вестники смерти": ['00040000000000000020000000000010000000000001C000',205,26,24,25,30,100,6,13,0,0],
  126. "Виверны": ['00040000000000040000000000004000000000000001C000',170,27,27,25,35,90,6,12,0,0],
  127. "Визири джиннов": ['00040000002000440000000000000000100000000001C000',110,23,23,24,39,50,8,14,-2,0],
  128. "Владычицы тени": ['00000000000000800000000000000000040000400001C000',185,20,20,27,37,90,6,12,17,4],
  129. "Водные элементали": ['00000000000010800000000000000000000000000401C000',57,28,28,28,32,43,6,12,14,0],
  130. "Вожаки": ['00008000000000000000000000060000000000000001C000',100,23,25,20,32,48,7,14,0,0],
  131. "Воздушные элементали": ['00000200002000040000000000000000000000000401C000',59,28,26,25,37,30,8,20,0,0],
  132. "Воины-наёмники": ['00420000000000000001000000000000000000000101C000',25,29,25,23,35,24,6,11,0,0],
  133. "Воители": ['00030000000000000000000000000000080000000101C000',12,21,25,21,32,12,6,11,0,0],
  134. "Воры-колдуны": ['00000000000000800000000000000000000000000001C000',35,28,27,25,39,30,6,13,24,0],
  135. "Воры-разведчики": ['00000200000000000000000000000000000000000001C000',35,20,28,27,32,45,6,13,0,0],
  136. "Воры-убийцы": ['00000000000000000008000400000000040000000001C000',35,22,26,26,30,40,6,16,0,12],
  137. "Высшие ангелы": ['00040000000000840000000000000000000000000001C000',390,35,25,25,75,220,8,13,17,0],
  138. "Высшие вампиры": ['00000200000000000020010000000000004000000001C000',70,29,29,27,31,35,7,13,0,0],
  139. "Высшие личи": ['00040000000000800020000000000000040000000001C000',100,21,29,27,31,55,6,12,23,5],
  140. "Гарпии": ['00000000000000040000000000000000000020000001C000',29,25,21,24,37,15,8,16,0,0],
  141. "Гарпии-ведьмы": ['00000200000000040000000000000000000020000001C000',45,26,22,24,37,15,9,18,0,0],
  142. "Гарпунеры": ['00010000000000000000000000000000040000000003C000',18,25,23,22,35,10,4,9,0,0],
  143. "Гигантские ящеры": ['00040000000000000000000000000000000000000001C000',25,27,27,24,36,25,6,14,0,0],
  144. "Гидры": ['00040200000000000000000000000000000000800101C000',108,25,22,27,34,80,6,10,0,0],
  145. "Глубоководные черти": ['00040000000000000000000000004008000000000001C000',140,28,26,25,34,105,6,11,0,0],
  146. "Гниющие зомби": ['00000000000000000020000800000000000000000101C000',17,22,23,21,33,23,6,10,0,0],
  147. "Гоблины": ['00000000000000000000000000000000000000000001C000',5,23,21,21,32,3,6,12,0,0],
  148. "Гоблины-лучники": ['00000000000000000000000000000000040000000001C000',9,23,23,21,32,3,6,12,0,10],
  149. "Гоблины-маги": ['00000000000000800000000000000000000000000001C000',9,22,21,21,32,3,6,13,10,0],
  150. "Гоблины-трапперы": ['00008000000000000000000000000000000400008001C000',15,21,23,21,31,7,6,12,0,0],
  151. "Гоги": ['00000020000000000000000000000000040000000001C000',13,26,24,22,34,13,6,12,0,12],
  152. "Големы смерти": ['00040000000000000028000000000000440000000001C000',329,25,40,40,60,350,6,12,0,1],
  153. "Головорезы": ['00000000000000000000000000000000000000000801C000',6,22,22,21,32,8,6,10,0,0],
  154. "Горные стражи": ['00030000000000000004000000000000000000000101C000',24,21,26,21,32,12,6,10,0,0],
  155. "Гремлины": ['00000000000000000000000000000000040000000001C000',5,22,22,21,32,5,6,10,0,5],
  156. "Гремлины-вредители": ['00000000000000010000000000000000040000000001C000',9,28,23,21,32,6,6,14,0,7],
  157. "Грифоны": ['00440000000020040000000000000000000000000001C000',59,27,25,25,30,30,7,18,0,0],
  158. "Громовержцы": ['00040000000100000040000000000000004040000001C000',162,25,25,29,34,120,8,13,0,0],
  159. "Демонессы": ['00000020000000000000002000000000040000002001C000',67,26,26,26,33,30,6,12,0,6],
  160. "Детёныши ящера": ['40000000000000000000000000000000000000000001C000',13,25,25,22,34,13,6,22,0,0],
  161. "Джинны": ['00040000000000040000000000000100000000000001C000',103,21,20,22,34,40,7,14,-1,0],
  162. "Джинны-султаны": ['00040000000000040000000000000080200000000001C000',110,24,24,24,39,45,8,14,-1,0],
  163. "Дикие энты": ['00040000000400000000200000000000000000000109C000',210,21,27,22,30,175,6,10,0,0],
  164. "Дочери земли": ['00008004000001800000000000000000008000000001C000',72,20,27,27,31,35,6,14,10,0],
  165. "Дочери неба": ['00008004000000800000000000000000000000000001C000',75,27,29,26,39,35,6,14,14,0],
  166. "Древние бегемоты": ['00040000008000000000000000000000000000000001C000',390,33,25,30,50,250,6,11,0,0],
  167. "Древние мумии": ['00000000000000800020000000000000000000000001C040',135,20,20,26,30,80,6,13,29,0],
  168. "Древние энты": ['00040000000000000000200000000000000000080101C000',210,29,29,20,30,181,6,10,0,0],
  169. "Дриады": ['00000200000000840000000000000000000100000001C000',20,22,21,22,32,6,7,17,12,0],
  170. "Друиды": ['00000000000000800000000000000000040000000001C000',74,27,27,27,39,34,6,12,14,5],
  171. "Духи": ['002000000000000C0020000000000000000000000001C000',27,26,25,24,36,20,6,11,0,0],
  172. "Дьяволы": ['00040020000000000000000000000000004000000001C000',245,27,25,36,66,166,7,13,0,0],
  173. "Дьяволята": ['00000020000000000000001000000000000000000001C000',10,23,23,21,34,6,6,16,0,0],
  174. "Единороги": ['10040000000000000000000000000000000000000001C000',124,22,22,20,30,57,7,14,0,0],
  175. "Железные големы": ['00000000000400000400000000000000200000000001C000',33,25,25,23,35,18,6,10,0,0],
  176. "Жрецы рун": ['00000000200000800010000000000000040000000001C000',59,20,26,22,35,60,6,10,18,5],
  177. "Защитники веры": ['00020000000000200000000000000000000000000101C000',20,28,28,22,35,23,6,10,0,0],
  178. "Защитники гор": ['00030000000000000000000000000000000000000101C000',7,21,24,21,31,7,6,11,0,0],
  179. "Зелёные драконы": ['00040000000002040000000000000000000000000001C000',350,27,25,30,50,200,8,14,0,0],
  180. "Земные элементали": ['00400000000200000000000000000000200000000401C000',63,28,21,20,34,75,6,10,0,0],
  181. "Злобные глаза": ['00000000000000000008020000000000040000000101C000',33,20,28,23,35,22,7,12,0,24],
  182. "Зомби": ['00000000000000000020000000000000000000000101C000',11,21,22,21,32,17,6,10,0,0],
  183. "Изумрудные драконы": ['00040000000202040000000000000000000000000001C000',400,31,27,33,57,200,9,17,0,0],
  184. "Имперские грифоны": ['00440000000020040000000000000000000004000001C000',62,29,28,25,35,35,7,18,0,0],
  185. "Инквизиторы": ['00000000000000800008000000000000040000000001C000',121,26,26,29,32,80,6,12,14,7],
  186. "Искусительницы": ['00000020001000000000000000000002040000000001C000',65,26,26,26,33,26,6,11,0,6],
  187. "Ифриты": ['00040020000080840000000000000000000000000001C000',200,25,22,26,34,90,6,14,12,0],
  188. "Ифриты султаны": ['00040020000080840000400000000000000000000001C000',250,26,24,26,34,100,7,14,12,0],
  189. "Каменные горгульи": ['00000000000100040000000000000000000000000501C000',16,23,24,21,31,15,6,11,0,0],
  190. "Камнегрызы": ['00000000000004000001000000000000800000000101C000',67,29,27,26,30,55,6,11,0,0],
  191. "Камнееды": ['00000000000000000001000000000000000000000001C000',56,28,26,26,39,45,6,11,0,0],
  192. "Кентавры": ['00048000000000001000000000000000040000000001C000',13,23,21,22,34,6,6,13,0,8],
  193. "Князья вампиров": ['00000000000000000020010200000000004000000001C000',70,29,29,25,33,40,8,13,0,0],
  194. "Колоссы": ['00040000004000000000000000000000000000000001C000',350,27,27,40,70,175,6,12,0,0],
  195. "Кони преисподней": ['20040020000008000000000000000000000000000001C000',138,28,27,20,37,66,8,18,0,0],
  196. "Костоломы": ['00000000004000000000000000000000000000000001C000',27,26,26,22,36,20,6,14,0,0],
  197. "Костяные драконы": ['00040000000000040020000000000000000000000001C000',280,27,28,25,30,150,6,13,0,0],
  198. "Кочевые кентавры": ['00048000000000001000000000000000040000000001C000',20,24,22,23,36,9,6,12,0,8],
  199. "Кошмары": ['28040020000000000000000000000000000000000001C000',140,28,28,28,36,66,8,19,0,0],
  200. "Красные драконы": ['00040000000000040000800000000000000000000001C800',400,30,30,45,60,235,9,13,0,0],
  201. "Крестьяне": ['00000000000000000000000000000000000000000001C000',5,21,21,21,31,4,6,10,0,0],
  202. "Кристальные драконы": ['00040000000000040000000000000000000000000041C000',400,30,26,30,60,200,9,17,0,0],
  203. "Кровавые ящеры": ['00040000000000000000010000000000000000000001C000',30,23,23,28,30,35,7,16,0,0],
  204. "Кровоглазые циклопы": ['00048000000000000800000004000800000000001001C000',500,28,28,35,50,235,6,12,0,0],
  205. "Кшатрии ракшасы": ['00042000000000000100000000000000000000000001C000',162,27,20,25,35,135,7,10,0,0],
  206. "Лазутчики": ['00000000000000000008000000000000040000001001C000',20,23,23,22,34,10,6,12,0,5],
  207. "Латники": ['00020000400000000001000000000000000000000101C000',21,25,29,22,35,26,6,10,0,0],
  208. "Левиафаны": ['00040000040010000000000000000000000000000001C000',250,28,28,43,63,200,6,12,0,0],
  209. "Лепреконы": ['00000000000000000000000000000000000000000001C400',11,25,22,22,37,7,6,16,0,0],
  210. "Лесные снайперы": ['00000000000000000000000000000000060000010001C000',42,26,25,27,38,12,6,13,0,16],
  211. "Личи": ['00040000000000000020000000000004040000000001C000',87,25,25,22,37,50,6,12,0,5],
  212. "Ловчие": ['00000000000000000000000400000000000000000001E000',34,25,24,23,35,15,6,14,0,0 ],
  213. "Лучники": ['00000000000000000000000000000000050000000001C000',15,24,23,22,34,7,6,11,0,10],
  214. "Маги": ['00000000000000808000000000000000060000000001C000',63,20,20,27,37,18,6,12,18,3],
  215. "Магма драконы": ['00040000000080004000800000000000000000000401C000',329,30,40,40,50,280,6,11,0,0],
  216. "Магнитные големы": ['00000000800000002400000000000000000000000001C000',57,26,26,23,35,28,6,11,0,0],
  217. "Магоги": ['00000020000000000000000008000000040000000001C000',16,27,24,22,34,13,6,12,0,24],
  218. "Мастера копья": ['00000000000004000008000000000000040000000001C000',17,24,24,22,33,12,6,11,0,4],
  219. "Мастера лука": ['00000080000000000000020000000000040000000001C000',42,25,24,25,38,14,6,12,0,16],
  220. "Мегеры": ['00000200000040000000000000000000000020000001C000',49,25,24,24,36,24,8,17,0,0],
  221. "Медведи": ['00040000000000000000000000000000000010000101C000',22,28,26,23,35,22,6,12,0,0],
  222. "Метатели копья": ['00000000000004000000000000000000040000000001C000',11,24,24,21,32,10,6,11,0,2],
  223. "Минотавры": ['00000000000000000000000000000000000000004001C000',39,25,22,24,37,31,6,10,0,0],
  224. "Минотавры-стражи": ['00000040000000000000000000000000000000004001C000',56,25,22,24,37,35,6,10,0,0],
  225. "Минотавры-надсмотрщики": ['00800000000000000000000000000000000000000001C000',56,26,25,25,38,40,6,11,0,0],
  226. "Могильные големы": ['28040000000000000028000000000000240000000001C000',400,30,50,50,70,400,6,12,0,2],
  227. "Монахи": ['00000000000000000008000000000000040000000001C000',101,22,22,29,32,54,6,12,0,7],
  228. "Морские дьяволы": ['20040000000000000000000000000000000000000001C200',300,34,29,40,60,190,6,13,0,0],
  229. "Морские черти": ['00040000000000000000000000000008000000000001C000',120,23,23,21,39,90,6,11,0,0],
  230. "Мумии": ['00000000000001800020000000000000000000000001C000',115,28,29,20,30,50,6,18,38,0],
  231. "Мумии фараонов": ['00000000000001800020000000000000000000000001C000',135,20,20,25,35,70,6,19,54,0],
  232. "Мятежники": ['40000000000000000001000000000000000000000001C000',10,23,22,21,33,7,6,10,0,0],
  233. "Наги": ['00440200000000000000000000000000000000000001C000',160,25,25,30,30,110,6,12,0,0],
  234. "Наездники на волках": ['00040040000000000000000000000000000000000001C000',20,25,21,22,33,10,6,13,0,0],
  235. "Наездники на гиенах": ['00040000000000000000080000000000000000000001C000',31,28,24,24,35,13,6,13,0,0],
  236. "Наездники на кабанах": ['00040000080000000000000000000000000000000001C000',31,26,25,24,36,14,7,12,0,0],
  237. "Наездники на медведях": ['00040000000000000000000000000000000000000101C000',24,25,20,24,35,25,6,12,0,0],
  238. "Наездники на ящерах": ['00040000000000000000000000000000000002000001C000',65,29,27,27,32,40,6,13,0,0],
  239. "Налётчики на волках": ['00040000000000000000000000000000000800000001C000',31,27,23,22,33,12,6,13,0,0],
  240. "Нимфы": ['00000200000000040000000000000400000100000001C000',20,22,21,22,33,6,7,17,0,0],
  241. "Обсидиановые горгульи": ['00000000000190040000000000000000000000000501C000',26,23,25,21,32,20,7,12,0,0],
  242. "Огненные гончие": ['00000220000000000000800000000000000000800001C000',36,24,23,23,35,15,8,16,0,0],
  243. "Огненные демоны": ['00004020000000000000000000000000000000000101C000',23,23,24,22,33,13,6,10,0,0],
  244. "Огненные драконы": ['00040000000080000000C00000000000000000000401C000',255,25,35,40,50,230,6,11,0,0],
  245. "Огненные птицы": ['80040000000080040000000000000000000000000001C000',117,22,22,22,36,65,8,14,0,0],
  246. "Огненные элементали": ['00000000000080000000400000000000040000000401C000',60,20,25,21,30,43,6,10,0,50],
  247. "Огры": ['00000000000000000000004000000000000000000101C000',60,20,25,25,30,50,6,10,0,0],
  248. "Огры-ветераны": ['00000000000004000000004000000000000000000101C000',75,22,25,25,30,70,6,11,0,0],
  249. "Огры-маги": ['00000000000000800000004000000000000000000101C000',74,21,26,25,32,65,6,10,14,0],
  250. "Огры-шаманы": ['00000000000000800000004000000000000000000101C000',74,22,25,27,32,55,6,11,12,0],
  251. "Одноглазые пираты": ['00040000000000000000000000000000000000000001C300',190,23,25,28,39,120,6,11,0,0],
  252. "Ополченцы": ['00000000000000000001000000000000000000000001C000',7,21,21,21,32,6,6,10,0,0],
  253. "Орки": ['00000008000000000008000000000000040000000001C000',29,26,21,23,34,12,6,13,0,6],
  254. "Орки-вожди": ['00000008000000000008020000000000040000000001C000',38,29,24,24,36,18,6,13,0,8],
  255. "Орки-тираны": ['00000048000000000008000000000000040000000001C000',38,20,23,23,35,20,6,12,0,10],
  256. "Орки-шаманы": ['00000008000000800008000000000000040000000001C000',33,26,23,23,34,13,6,13,14,6],
  257. "Паладины": ['00041000000800000000000000002000000000000001C000',262,24,24,20,30,100,7,14,0,0],
  258. "Палачи": ['08008000000000200000000000000000000000004001C000',83,24,20,28,32,40,7,14,0,0],
  259. "Пауки": ['00000000000000000000000080000000000000000001C000',15,24,24,23,35,9,6,13,0,0],
  260. "Пехотинцы": ['00020000000000000001000000000000000000000101C000',17,24,28,22,34,16,6,10,0,0],
  261. "Пещерные владыки": ['00040020000000800000000000008000000000000001C000',195,22,21,23,31,120,6,10,24,0],
  262. "Пещерные гидры": ['00040200000000000000000000004000000000200101C000',115,25,25,29,34,125,6,10,0,0],
  263. "Пещерные демоны": ['00040020000000800000000000000000000000000001C000',157,21,21,23,36,110,6,10,12,0],
  264. "Пещерные отродья": ['00040020000000000000000000000000200080000001C000',165,27,23,23,31,140,6,11,0,0],
  265. "Привидения": ['00200000000000040020000000000000000000000001C000',26,24,24,23,37,8,6,12,0,0],
  266. "Призраки": ['00200000000000040020008000000000000000000001C000',27,24,24,24,36,19,6,12,0,0],
  267. "Призраки пираток": ['00200000000000040020010000000000000020000001C200',17,26,22,22,34,8,9,14,0,0],
  268. "Призрачные драконы": ['00040000000000040220000000000040000000000001C000',310,30,28,25,35,160,7,13,0,0],
  269. "Принцессы ракшас": ['00040200000000000000000000000000000000000001C000',155,25,20,25,33,120,6,11,0,0],
  270. "Проворные наездники": ['00040000000000000000000001000000000000040001C000',94,22,29,27,32,60,7,14,0,0],
  271. "Проклятые бегемоты": ['08040000020000000000000000000000000000000001C000',400,33,26,35,50,250,6,11,0,0],
  272. "Проклятые горгульи": ['00010000000004040000000000000000000000000401C000',25,23,27,23,37,35,7,16,0,0],
  273. "Птицы грома": ['00040000000000040000000010000000000008000001C000',115,20,20,21,35,65,9,14,0,0],
  274. "Птицы тьмы": ['00040000000000040000000002000000000000000001C000',120,26,20,21,35,60,8,18,0,0],
  275. "Раджи ракшас": ['00040200000000000100000000000000000000000001C000',160,25,20,23,30,140,6,10,0,0],
  276. "Рогатые демоны": ['00000020000000000000000000000000000000000101C000',14,21,23,21,32,13,6,10,0,0],
  277. "Рогатые жнецы": ['00000028000000800000000000000000000000000001C000',200,33,22,22,33,99,6,12,5,0],
  278. "Роки": ['00040000000000040000000010000000000000000001C000',104,26,28,21,35,55,8,14,0,0],
  279. "Рыцари": ['00040000000000000000000000002000000000000001C000',232,23,21,20,30,90,7,13,0,0],
  280. "Рыцари смерти": ['00040000000000000220000000000020000000000001C000',190,26,26,28,38,100,8,12,0,0],
  281. "Рыцари тьмы": ['00040000000000000220000000000000000000000001C000',160,23,23,25,35,90,7,12,0,0],
  282. "Светлые единороги": ['00040000000000000000040000000000000000000011C000',135,25,25,29,34,80,7,14,0,0],
  283. "Свирепые бегемоты": ['00040000020000000000000000000000000000100001C000',410,35,25,35,45,280,6,11,0,0],
  284. "Свободные циклопы": ['00048000000000000800000004000001000000001001C000',700,30,27,45,57,225,6,11,0,0],
  285. "Силачи": ['00000000000000000000000000000000000000000001C020',20,27,23,24,38,50,6,12,0,0],
  286. "Сирены": ['00000000004000800000000000000000000000000001C000',60,20,27,25,38,20,6,14,18,0],
  287. "Сирены-искусительницы": ['00000000004000800000000000000000000000000001C000',70,20,28,26,39,24,6,14,22,0],
  288. "Скелеты": ['00000000000000000020000000000000000000000001C000',6,21,22,21,31,4,6,12,0,0],
  289. "Скелеты-арбалетчики": ['00000000000000000020000000000000041000000001C000',12,22,23,21,33,6,6,10,0,10],
  290. "Скелеты-воины": ['00020000400000000021000000000000800000000001C000',10,22,26,21,33,5,6,12,0,0],
  291. "Скелеты-лучники": ['00000000000000000020000000000000040000000001C000',10,21,22,21,32,4,6,12,0,8],
  292. "Скелеты-моряки": ['00000000000000200020000000000000000000000101C200',6,23,21,21,32,4,6,13,0,0],
  293. "Стальные големы": ['00400000000400000400000000000000100000000001C000',54,26,26,25,37,24,6,10,0,0],
  294. "Старейшины рун": ['00000000200080800000000020000000040000000001C000',100,20,29,24,38,70,6,11,30,5],
  295. "Старшие гремлины": ['00000000000000000000000000800000040000000001C000',9,23,22,21,32,6,6,13,0,7],
  296. "Старшие демоны": ['00000020000000000000000000010000000000000101C000',20,23,21,21,34,13,6,11,0,0],
  297. "Старшие друиды": ['00000000000000800000000000000000040000000025C000',101,22,28,20,34,34,6,12,18,7],
  298. "Степные бойцы": ['00008000000000000000000000000000000000000901C000',23,26,24,24,36,12,6,13,0,0],
  299. "Степные воины": ['00008000000000000000000000000000000000000101C000',21,25,22,22,35,12,6,12,0,0],
  300. "Степные волки": ['40000000000000000000000000000000000000000001C000',20,25,23,23,35,25,6,17,0,0],
  301. "Степные гоблины": ['00008000000000000000000000400000000400000001C000',5,21,21,21,31,3,6,14,0,0],
  302. "Степные циклопы": ['00048000000000000000000004000000000000000001C000',390,29,27,40,52,220,6,11,0,0],
  303. "Стихийные горгульи": ['07000000000000040000000000000000000000000501C000',25,24,24,22,33,16,7,13,0,0],
  304. "Стрелки": ['00000000000000000000000000000000060000000001C000',16,25,24,22,38,8,6,10,0,10],
  305. "Стрелки-наёмники": ['00000000000000000000000000000000060000000101C000',15,25,22,22,35,8,6,13,0,12],
  306. "Суккубы": ['00000020000000000000002000000000040000000001C000',61,26,26,26,33,20,6,12,0,6],
  307. "Сумеречные ведьмы": ['00000000000000800000000000000000040000000001C000',157,28,28,27,34,80,6,12,13,4],
  308. "Сумеречные драконы": ['00040000000000040000800000000000000000000001C000',350,25,24,45,70,200,9,12,0,0],
  309. "Танцующие с ветром": ['00000000000000020000000000000000000000000001C000',33,26,26,24,36,14,7,18,0,0],
  310. "Танцующие с клинками": ['00000000000000000000000000000000000000000001C000',20,23,22,22,35,12,6,13,0,0],
  311. "Танцующие со смертью": ['00080000000000000000000000000000000000000001C000',33,24,23,23,35,12,6,18,0,0],
  312. "Таны": ['00040000000100000000000000000000004040000001C000',131,25,25,28,32,100,8,13,0,0],
  313. "Тёмные виверны": ['00040002000000040000000000004000000000000001C000',195,21,28,20,37,105,7,12,0,0],
  314. "Тёмные всадники": ['00040000000000000000000000000000000002040001C000',94,20,29,27,34,50,7,13,0,0],
  315. "Тёмные гидры": ['00040200000000000000000000000000000000200101D000',115,25,24,29,32,125,6,10,0,0],
  316. "Тёмные горгульи": ['00000008000000040000000000000000000000000401C080',21,22,21,24,37,30,6,13,0,0],
  317. "Титаны": ['00040000104000000008000000000000040000000001C000',400,30,30,40,70,190,6,12,0,5],
  318. "Титаны шторма": ['00040000004000000008000000080000040000000001C000',400,30,30,40,70,190,6,12,0,5],
  319. "Тролли": ['00060008000000000000000000000000000000000001C000',150,23,21,26,34,150,6,12,0,0],
  320. "Убийцы": ['00008000000000200000000000000000000000000001C000',70,21,28,27,30,34,6,13,0,0],
  321. "Умертвия": ['00040000000000000020000000000000000000000001C000',165,24,22,21,35,95,6,13,0,0],
  322. "Феи": ['00000200000000040000000000000000000100000001C000',12,21,21,21,32,5,7,14,0,0],
  323. "Фениксы": ['00040800000080040000400000000000000000000401C000',600,33,33,30,50,777,7,18,0,0],
  324. "Фурии": ['00000200000000000000000000000000000020000001C000',49,25,23,25,37,16,8,19,0,0],
  325. "Хобгоблины": ['00000000000000000000000000000000000000000001C000',9,24,23,22,32,4,6,12,0,0],
  326. "Хозяева медведей": ['00050000000000000000000000000000000010000101C000',36,26,24,25,36,30,7,13,0,0],
  327. "Хозяйки ночи": ['00000000000000800000000000000000000000400001E000',185,20,20,20,30,100,6,13,17,0],
  328. "Церберы": ['00000220000000000000000000000000000000800001C000',41,24,22,24,36,15,8,16,0,0],
  329. "Циклопы": ['00000000000000000000000000000000040000000001C000',172,20,25,28,36,85,6,12,0,6],
  330. "Циклопы-генералы": ['00000000000000000002000000000000040000000001C000',187,25,27,20,36,100,6,12,0,10],
  331. "Циклопы-короли": ['00000000000000000000100000000000040000000001C000',182,23,28,29,38,95,6,12,0,8],
  332. "Циклопы-шаманы": ['00000000000000800000000000000000040000000001C000',190,24,28,20,37,105,6,12,19,10],
  333. "Чародеи-наёмники": ['00000000000000800000000000000000040000000001C000',35,29,28,25,30,36,6,13,22,5],
  334. "Чемпионы": ['00040000000000000000000000002000000200000001C000',252,24,20,20,35,100,8,14,0,0],
  335. "Черные тролли": ['00060008000000000000000000000000800000000001C000',180,27,25,20,37,180,6,12,0,0],
  336. "Черти": ['00000020000000100000000000000000000000000001C000',10,23,22,22,33,6,6,16,0,0],
  337. "Чёрные драконы": ['00040000000000040080800000000000000000000001C000',400,30,30,45,70,240,9,12,0,0],
  338. "Чумные зомби": ['00000000000000000020080000000000000000000101C000',15,22,22,22,33,17,6,10,0,0],
  339. "Шаманки": ['00008000000000800000000000000000000000000001C000',66,25,25,26,39,30,6,13,10,0],
  340. "Штурмовые грифоны": ['00540100000020040000000000000000000000000001C000',62,27,22,26,32,52,7,12,0,0],
  341. "Эльфийские лучники": ['00000080000000000000000000000000040000000001C000',38,24,21,24,37,10,6,12,0,12],
  342. "Энты": ['00040000000000000000200000000000000000000101C000',187,29,27,27,37,175,6,10,0,0],
  343. "Ядовитые пауки": ['00000000000000000000000480000000000000000001C000',30,25,25,23,35,11,6,14,0,0]
  344. };
  345. var monstr_skills = {
  346. 0 : ["fireattack",ustring("Атака огнем")],
  347. 1 : ["packhunter",ustring("Атака стаей")],
  348. 2 : ["fearattack",ustring("Атака страхом")],
  349. 3 : ["auraofres",ustring("Аура магического сопротивления")],
  350. 4 : ["frightful_aura",ustring("Аура страха")],
  351. 5 : ["auraofwatervul",ustring("Аура уязвимости к воде")],
  352. 6 : ["auraofairvul",ustring("Аура уязвимости к воздуху")],
  353. 7 : ["auraoffirevul",ustring("Аура уязвимости к огню")],
  354. 8 : ["auraofbravery",ustring("Аура храбрости")],
  355. 9 : ["uretalation",ustring("Бесконечный отпор")],
  356. 10 : ["incorporeal",ustring("Бестелесное существо")],
  357. 11 : ["battlefrenzy",ustring("Боевые рефлексы")],
  358. 12 : ["dancecombo",ustring("Боевое па")],
  359. 13 : ["big",ustring("Большое существо")],
  360. 14 : ["lshield",ustring("Большой щит")],
  361. 15 : ["armoured",ustring("Броня")],
  362. 16 : ["ragingblood",ustring("Бурлящая кровь")],
  363. 17 : ["explosion",ustring("Взрыв")],
  364. 18 : ["whirlwind",ustring("Вихрь")],
  365. 19 : ["layhands",ustring("Возложение рук")],
  366. 20 : ["rebirth",ustring("Возрождение")],
  367. 21 : ["resurrection",ustring("Воскрешение")],
  368. 22 : ["noretalation",ustring("Враг не сопротивляется")],
  369. 23 : ["rushdave",ustring("Губительное пике")],
  370. 24 : ["doubleshoot",ustring("Двойной выстрел")],
  371. 25 : ["doublestrike",ustring("Двойной удар")],
  372. 26 : ["demonic",ustring("Демоническое существо")],
  373. 27 : ["spirit",ustring("Дух")],
  374. 28 : ["bloodlust",ustring("Жажда крови")],
  375. 29 : ["sacrificegoblin",ustring("Жертвоприношение гоблинами")],
  376. 30 : ["venom",ustring("Животный яд")],
  377. 31 : ["taunt",ustring("Задира")],
  378. 32 : ["enchantedarmor",ustring("Зачарованный доспех")],
  379. 33 : ["shieldother",ustring("Защита союзников")],
  380. 34 : ["markoffire",ustring("Знак огня")],
  381. 35 : ["calllightning",ustring("Зов молний")],
  382. 36 : ["ignoredefence20",ustring("Игнорирование защиты 20%")],
  383. 37 : ["ignoredefence30",ustring("Игнорирование защиты 30%")],
  384. 38 : ["ignoredefence40",ustring("Игнорирование защиты 40%")],
  385. 39 : ["ignoredefence50",ustring("Игнорирование защиты 50%")],
  386. 40 : ["ignoredefence60",ustring("Игнорирование защиты 60%")],
  387. 41 : ["imind",ustring("Иммунитет к влиянию на разум")],
  388. 42 : ["iair",ustring("Иммунитет к воздуху")],
  389. 43 : ["immunetohypnos",ustring("Иммунитет к гипнозам")],
  390. 44 : ["ifrenzy",ustring("Иммунитет к заклинанию Берсерк")],
  391. 45 : ["islow",ustring("Иммунитет к замедлению")],
  392. 46 : ["iearth",ustring("Иммунитет к магии земли")],
  393. 47 : ["ilighting",ustring("Иммунитет к молниям")],
  394. 48 : ["ifire",ustring("Иммунитет к огню")],
  395. 49 : ["immunetoweakness",ustring("Иммунитет к ослаблению")],
  396. 50 : ["iblind",ustring("Иммунитет к ослеплению")],
  397. 51 : ["icold",ustring("Иммунитет к холоду")],
  398. 52 : ["searingaura",ustring("Иссушающая аура")],
  399. 53 : ["cripplingwound",ustring("Калечащее ранение")],
  400. 54 : ["acid_breath",ustring("Кислотное дыхание")],
  401. 55 : ["hexingattack",ustring("Колдовской удар")],
  402. 56 : ["caster",ustring("Колдун")],
  403. 57 : ["wheeloffortune",ustring("Колесо удачи")],
  404. 58 : ["cleave",ustring("Колун")],
  405. 59 : ["manastealer",ustring("Крадущий ману")],
  406. 60 : ["stealammunition",ustring("Кража боеприпасов")],
  407. 61 : ["flyer",ustring("Летающее существо")],
  408. 62 : ["agility",ustring("Ловкость")],
  409. 63 : ["magicmine",ustring("Магическая ловушка")],
  410. 64 : ["magicattack",ustring("Магический выстрел")],
  411. 65 : ["magmashield",ustring("Магма щит")],
  412. 66 : ["magnetism",ustring("Магнетизм")],
  413. 67 : ["maneuver",ustring("Маневрирование")],
  414. 68 : ["goblinthrower",ustring("Метание гоблинов")],
  415. 69 : ["mechanical",ustring("Механизм")],
  416. 70 : ["cursingattack",ustring("Наложение проклятия")],
  417. 71 : ["dash",ustring("Натиск")],
  418. 72 : ["immunity",ustring("Невосприимчивость магии")],
  419. 73 : ["stormbolt",ustring("Нежданная буря")],
  420. 74 : ["undead",ustring("Нежить")],
  421. 75 : ["fireproof50",ustring("Непробиваемость огнем 50%")],
  422. 76 : ["nopenalty",ustring("Нет штрафов в ближнем бою")],
  423. 77 : ["holdground",ustring("Ни шагу назад")],
  424. 78 : ["shootbash",ustring("Оглушающий выстрел")],
  425. 79 : ["shieldbash",ustring("Оглушающий удар")],
  426. 80 : ["fire_breath",ustring("Огненное дыхание")],
  427. 81 : ["fireshield",ustring("Огненный щит")],
  428. 82 : ["entroots",ustring("Оплетающие корни")],
  429. 83 : ["siegewalls",ustring("Осада стен")],
  430. 84 : ["weakeningstrike",ustring("Ослабляющий удар")],
  431. 85 : ["blinding_attack",ustring("Ослепление")],
  432. 86 : ["wardingarrows",ustring("Останавливающий выстрел")],
  433. 87 : ["lifedrain",ustring("Осушение")],
  434. 88 : ["manadrain",ustring("Осушение маны")],
  435. 89 : ["powerstrike",ustring("Отбрасывающий удар")],
  436. 90 : ["rangedretaliation",ustring("Ответный выстрел")],
  437. 91 : ["siphonmana",ustring("Откачивание маны")],
  438. 92 : ["festeringaura",ustring("Отравляющая аура")],
  439. 93 : ["poisonattack",ustring("Отравляющий удар")],
  440. 94 : ["torpor",ustring("Оцепенение")],
  441. 95 : ["purge",ustring("Очищение")],
  442. 96 : ["spider",ustring("Паутина")],
  443. 97 : ["manafeed",ustring("Передача маны")],
  444. 98 : ["crossfire",ustring("Перекрестная атака")],
  445. 99 : ["carrier",ustring("Переносчик")],
  446. 100 : ["pyromancer",ustring("Пиромант")],
  447. 101 : ["swallowgoblin",ustring("Пожирание гоблинов")],
  448. 102 : ["darkattack",ustring("Покров тьмы")],
  449. 103 : ["wheelingattack",ustring("Попутная атака")],
  450. 104 : ["repair",ustring("Починка")],
  451. 105 : ["treachery",ustring("Предательство")],
  452. 106 : ["dampenmagic",ustring("Приглушение магии")],
  453. 107 : ["summonpitlords",ustring("Призыв пещерных владык")],
  454. 108 : ["stormcaller",ustring("Призывающий бурю")],
  455. 109 : ["orderofchief",ustring("Приказ вожака")],
  456. 110 : ["commandingpresence",ustring("Присутствие командира")],
  457. 111 : ["leap",ustring("Прыжок")],
  458. 112 : ["vorpalsword",ustring("Разящий меч")],
  459. 113 : ["regeneration",ustring("Регенерация")],
  460. 114 : ["jousting",ustring("Рыцарский разбег")],
  461. 115 : ["fierceretaliation",ustring("Свирепое возмездие")],
  462. 116 : ["evileye",ustring("Сглаз")],
  463. 117 : ["symbiosis",ustring("Симбиоз")],
  464. 118 : ["deathwail",ustring("Скорбный вопль")],
  465. 119 : ["randomcasterd",ustring("Случайное заклинание тьмы")],
  466. 120 : ["random_blessing",ustring("Случайное заклинание тьмы и света")],
  467. 121 : ["deathstare",ustring("Смертальный взгляд")],
  468. 122 : ["deathattack",ustring("Смертельная атака")],
  469. 123 : ["harmtouch",ustring("Смертельная хватка")],
  470. 124 : ["deathstrike",ustring("Смертельный удар")],
  471. 125 : ["deathcloud",ustring("Смертоносное облако")],
  472. 126 : ["seduction",ustring("Соблазнение")],
  473. 127 : ["crushblow",ustring("Сокрушающий удар")],
  474. 128 : ["magicproof25",ustring("Сопротивление магии 25%")],
  475. 129 : ["magicproof40",ustring("Сопротивление магии 40%")],
  476. 130 : ["magicproof50",ustring("Сопротивление магии 50%")],
  477. 131 : ["magicproof75",ustring("Сопротивление магии 75%")],
  478. 132 : ["shieldwall",ustring("Стена из щитов")],
  479. 133 : ["shooter",ustring("Стрелок")],
  480. 134 : ["norangepenalty",ustring("Стрельба без штрафов")],
  481. 135 : ["scattershot",ustring("Стрельба навесом")],
  482. 136 : ["swiftattack",ustring("Стремительная атака")],
  483. 137 : ["teleport",ustring("Телепортация")],
  484. 138 : ["teleportother",ustring("Телепортация других")],
  485. 139 : ["preciseshot",ustring("Точный выстрел")],
  486. 140 : ["triplestrike",ustring("Тройной удар")],
  487. 141 : ["cowardice",ustring("Трусость")],
  488. 142 : ["championcharge",ustring("Турнирный удар")],
  489. 143 : ["spray",ustring("Убийственные брызги")],
  490. 144 : ["bladeofslaughter",ustring("Убойный клинок")],
  491. 145 : ["stormstrike",ustring("Удар бури")],
  492. 146 : ["strikeandreturn",ustring("Удар и возврат")],
  493. 147 : ["pawstrike",ustring("Удар лапой")],
  494. 148 : ["lighting_attack",ustring("Удар молнией")],
  495. 149 : ["battledive",ustring("Удар с небес")],
  496. 150 : ["ridercharge",ustring("Удар с разбега")],
  497. 151 : ["sorrowstrike",ustring("Удар скорби")],
  498. 152 : ["threehead",ustring("Удар тремя головами")],
  499. 153 : ["whipstrike",ustring("Удар хлыстом")],
  500. 154 : ["six_heads",ustring("Удар шестью головами")],
  501. 155 : ["ferociouswound",ustring("Ужасная рана")],
  502. 156 : ["takeroots",ustring("Укоренение")],
  503. 157 : ["lizardbite",ustring("Укус ящера")],
  504. 158 : ["manadestroyer",ustring("Уничтожитель маны")],
  505. 159 : ["forcearrow",ustring("Усиленная стрела")],
  506. 160 : ["setsnares",ustring("Установка капканов")],
  507. 161 : ["bravery",ustring("Храбрость")],
  508. 162 : ["chainshot",ustring("Цепной выстрел")],
  509. 163 : ["rangepenalty",ustring("Штраф за стрельбу")],
  510. 164 : ["assault",ustring("Штурм")],
  511. 165 : ["elemental",ustring("Элементаль")],
  512. 166 : ["energychannel",ustring("Энергетический канал")],
  513. 167 : ["enraged",ustring("Ярость")],
  514. 168 : ["berserkerrage",ustring("Ярость берсерка")],
  515. 169 : ["prismaticbreath",ustring("Призменное дыхание")],
  516. 170 : ["undeadkiller",ustring("Уничтожитель нежити")],
  517. 171 : ["childofthelight",ustring("Дитя Света")],
  518. 172 : ["rageoftheforest",ustring("Ярость леса")],
  519. 173 : ["channeling",ustring("Канал")],
  520. 174 : ["harpoonstrike",ustring("Удар гарпуном")],
  521. 175 : ["organicarmor",ustring("Живая броня")],
  522. 176 : ["perseverance",ustring("Упорство")],
  523. 177 : ["magicproof80",ustring("Сопротивление магии 80%")],
  524. 178 : ["invisibility",ustring("Невидимость")],
  525. 179 : ["acidblood",ustring("Кислотная кровь")],
  526. 180 : ["incinerate",ustring("Сжигание")],
  527. 181 : ["conferluck",ustring("Дарующий удачу")],
  528. 182 : ["pirate",ustring("Пират")],
  529. 183 : ["mightyslam",ustring("Могучий удар")],
  530. 184 : ["shielded",ustring("Защита от стрел")],
  531. 185 : ["songtimes",ustring("Песнь времён")],
  532. 186 : ["petrifiedblood",ustring("Окаменевшая кровь")],
  533. 187 : ["rezerv-3",ustring("Резерв-3")],
  534. 188 : ["rezerv-4",ustring("Резерв-4")],
  535. 189 : ["rezerv-5",ustring("Резерв-5")],
  536. 190 : ["rezerv-6",ustring("Резерв-6")],
  537. 191 : ["rezerv-7",ustring("Резерв-7")]
  538. };
  539. //****************************************************
  540. /** Библиотека юникода
  541. *
  542. * Реализует функции работы с юникодом.
  543. * @file lib_unicode.js
  544. * @version 1.1.0
  545. * @author DrunkenStranger
  546. * @link http://userscripts.org/users/362572
  547. * @license GPL
  548. */
  549. function uchar(s) {
  550. switch (s[0]) {
  551. case "А": return "\u0410";
  552. case "Б": return "\u0411";
  553. case "В": return "\u0412";
  554. case "Г": return "\u0413";
  555. case "Д": return "\u0414";
  556. case "Е": return "\u0415";
  557. case "Ж": return "\u0416";
  558. case "З": return "\u0417";
  559. case "И": return "\u0418";
  560. case "Й": return "\u0419";
  561. case "К": return "\u041a";
  562. case "Л": return "\u041b";
  563. case "М": return "\u041c";
  564. case "Н": return "\u041d";
  565. case "О": return "\u041e";
  566. case "П": return "\u041f";
  567. case "Р": return "\u0420";
  568. case "С": return "\u0421";
  569. case "Т": return "\u0422";
  570. case "У": return "\u0423";
  571. case "Ф": return "\u0424";
  572. case "Х": return "\u0425";
  573. case "Ц": return "\u0426";
  574. case "Ч": return "\u0427";
  575. case "Ш": return "\u0428";
  576. case "Щ": return "\u0429";
  577. case "Ъ": return "\u042a";
  578. case "Ы": return "\u042b";
  579. case "Ь": return "\u042c";
  580. case "Э": return "\u042d";
  581. case "Ю": return "\u042e";
  582. case "Я": return "\u042f";
  583. case "а": return "\u0430";
  584. case "б": return "\u0431";
  585. case "в": return "\u0432";
  586. case "г": return "\u0433";
  587. case "д": return "\u0434";
  588. case "е": return "\u0435";
  589. case "ж": return "\u0436";
  590. case "з": return "\u0437";
  591. case "и": return "\u0438";
  592. case "й": return "\u0439";
  593. case "к": return "\u043a";
  594. case "л": return "\u043b";
  595. case "м": return "\u043c";
  596. case "н": return "\u043d";
  597. case "о": return "\u043e";
  598. case "п": return "\u043f";
  599. case "р": return "\u0440";
  600. case "с": return "\u0441";
  601. case "т": return "\u0442";
  602. case "у": return "\u0443";
  603. case "ф": return "\u0444";
  604. case "х": return "\u0445";
  605. case "ц": return "\u0446";
  606. case "ч": return "\u0447";
  607. case "ш": return "\u0448";
  608. case "щ": return "\u0449";
  609. case "ъ": return "\u044a";
  610. case "ы": return "\u044b";
  611. case "ь": return "\u044c";
  612. case "э": return "\u044d";
  613. case "ю": return "\u044e";
  614. case "я": return "\u044f";
  615. case "Ё": return "\u0401";
  616. case "ё": return "\u0451";
  617. default: return s[0];
  618. }
  619. }
  620.  
  621. function ustring(s) {
  622. s = String(s);
  623. var result = "";
  624. for (var i = 0; i < s.length; i++) result += uchar(s[i]);
  625. return result;
  626. }
  627. //****************************************************
  628. function $uchar(s) {
  629. switch (s[0]) {
  630. case "\u0410": return "А";
  631. case "\u0411": return "Б";
  632. case "\u0412": return "В";
  633. case "\u0413": return "Г";
  634. case "\u0414": return "Д";
  635. case "\u0415": return "Е";
  636. case "\u0416": return "Ж";
  637. case "\u0417": return "З";
  638. case "\u0418": return "И";
  639. case "\u0419": return "Й";
  640. case "\u041a": return "К";
  641. case "\u041b": return "Л";
  642. case "\u041c": return "М";
  643. case "\u041d": return "Н";
  644. case "\u041e": return "О";
  645. case "\u041f": return "П";
  646. case "\u0420": return "Р";
  647. case "\u0421": return "С";
  648. case "\u0422": return "Т";
  649. case "\u0423": return "У";
  650. case "\u0424": return "Ф";
  651. case "\u0425": return "Х";
  652. case "\u0426": return "Ц";
  653. case "\u0427": return "Ч";
  654. case "\u0428": return "Ш";
  655. case "\u0429": return "Щ";
  656. case "\u042a": return "Ъ";
  657. case "\u042b": return "Ы";
  658. case "\u042c": return "Ь";
  659. case "\u042d": return "Э";
  660. case "\u042e": return "Ю";
  661. case "\u042f": return "Я";
  662. case "\u0430": return "а";
  663. case "\u0431": return "б";
  664. case "\u0432": return "в";
  665. case "\u0433": return "г";
  666. case "\u0434": return "д";
  667. case "\u0435": return "е";
  668. case "\u0436": return "ж";
  669. case "\u0437": return "з";
  670. case "\u0438": return "и";
  671. case "\u0439": return "й";
  672. case "\u043a": return "к";
  673. case "\u043b": return "л";
  674. case "\u043c": return "м";
  675. case "\u043d": return "н";
  676. case "\u043e": return "о";
  677. case "\u043f": return "п";
  678. case "\u0440": return "р";
  679. case "\u0441": return "с";
  680. case "\u0442": return "т";
  681. case "\u0443": return "у";
  682. case "\u0444": return "ф";
  683. case "\u0445": return "х";
  684. case "\u0446": return "ц";
  685. case "\u0447": return "ч";
  686. case "\u0448": return "ш";
  687. case "\u0449": return "щ";
  688. case "\u044a": return "ъ";
  689. case "\u044b": return "ы";
  690. case "\u044c": return "ь";
  691. case "\u044d": return "э";
  692. case "\u044e": return "ю";
  693. case "\u044f": return "я";
  694. case "\u0401": return "Ё";
  695. case "\u0451": return "ё";
  696. default: return s[0];
  697. }
  698. }
  699. function $ustring(s) {
  700. s = String(s);
  701. var result = "";
  702. for (var i = 0; i < s.length; i++) result += $uchar(s[i]);
  703. return result;
  704. }
  705. //************ Начало фрагментов кода от (C) Demin с моими вставками и комментариями **********************************
  706. function show_settings() {
  707. if (url_cur.indexOf('mercenary_guild') == -1) return;
  708. var x1 = document.querySelector("td > img[src*='gn_face.png']");
  709. if (x1 == null) return;
  710. var d = document.createElement('div');
  711. d.setAttribute('style', 'position: absolute; margin: 3px 0px 0px 155px; text-align: center;'); //Положение кнопки, для вызова настроек
  712. d.innerHTML = '<style> .hwm_gn * {font-size: 12px; color: #FFFF00;} .cell_gn {white-space: nowrap; height: 18px; background: #4190FF; font-weight: bold;} </style>' +
  713. '<table class="hwm_gn" width=76px> <tr height=20>' + // Размер кнопки и фон, для вызова настроек
  714. '<td class="cell_gn" style="cursor:pointer" id="set_gn"><font style="font-size:11px;">'+str_settings+'</font></td>' +
  715. '</tr> </table>';
  716. x1 = x1.parentNode.parentNode.parentNode;
  717. x1.insertBefore(d,x1.firstChild); //Вставка куска
  718. addEvent( $("set_gn"), "click", settings_gn ); //Привязка к куску на клик вызов функции
  719. var ems = document.querySelectorAll("li > a[href*='auction.php']"); //Когда научусь кнопку на второй план ставить,
  720. ems[0].innerHTML = ustring('&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspРынок'); //тогда убрать эти 2 строки
  721. //************
  722. function settings_gn_close()
  723. {
  724. var bg = $('bgOverlay');
  725. var bgc = $('bgCenter');
  726. bg.parentNode.removeChild(bg);
  727. bgc.parentNode.removeChild(bgc);
  728. }
  729. function settings_gn()
  730. {
  731. var bg = $('bgOverlay');
  732. var bgc = $('bgCenter');
  733. var bg_height = ScrollHeight();
  734. if ( !bg )
  735. {
  736. bg = document.createElement('div');
  737. document.body.appendChild( bg );
  738. bgc = document.createElement('div');
  739. document.body.appendChild( bgc );
  740. }
  741. bg.id = 'bgOverlay';
  742. bg.style.position = 'absolute';
  743. bg.style.left = '0px';
  744. bg.style.width = '100%';
  745. bg.style.background = "#000000";
  746. bg.style.opacity = "0.5";
  747. bg.style.zIndex = "7";
  748. bgc.id = 'bgCenter';
  749. bgc.style.position = 'absolute';
  750. bgc.style.left = ( ( ClientWidth() - 580 ) / 2 ) + 'px';
  751. bgc.style.width = '580px';
  752. bgc.style.background = "#F6F3EA";
  753. bgc.style.zIndex = "8";
  754. addEvent(bg, "click", settings_gn_close);
  755. //форма и внешний вид окно настроек
  756. bgc.innerHTML = '<div style="border:1px solid #abc;padding:5px;margin:2px;"><div style="float:right;border:1px solid #abc;width:15px;height:15px;text-align:center;cursor:pointer;" id="bt_close_tr" title="Close">x</div><table>'+
  757. //заголовок окна настроек
  758. '<tr><td colspan=3><b>'+str_start+'<font style="color:#0070FF;">'+version+'</font></b><hr/></td></tr>' +
  759. //Опыт в протоколе боев
  760. '<tr><td colspan=3><label>'+str_show+' : <input type=checkbox '+(show_exp_on_warlog=="1"?"checked":"")+' id=set_show_exp title=""></label><br><br></td></tr>'+
  761. //коэфициент перекача
  762. '<tr><td colspan=3>'+str_koef_0+'<font style="color:#0070FF;"><b id=k_p>'+Number(koef).toFixed(4) +'</b></font>'+str_koef_2+'<br></td></tr>' +
  763. '<tr><td colspan=3>'+str_koef_1+' <input id="set_koef" value="'+ Number(koef).toFixed(4) +
  764. '" size="4" maxlength="6"> <input type="submit" id="set_koef_ok" value="OK"><br><hr/></td></tr>'+
  765. //Предупреждение
  766. '<tr><td colspan=3><font size="1" color="red">'+str_warning1+'</font><a href="'+str_url_prav+'"><font size="1" color="red">'+str_warning2+'</font></a><br></td></tr>'+
  767. //заголовки столбцов
  768. '<tr><td>'+str_skip00+'<br></td><td width="30%" align="center">'+str_skip01+'</td><td width="30%" align="center">'+str_skip02+'</td></tr>'+
  769. //армии
  770. '<tr><td>'+'<label><input type=checkbox '+(skip_army =="1"?"checked":"")+' id=set_skip_army title="">'+str_skip1+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_army>'+level_army+'</b>&nbsp&nbsp'+
  771. '<input class=MN id="set_level_army" value="'+level_army+'" size="1" maxlength="2" ><input type="submit" id="set_level_army_ok" value="OK"></font></td><td width="30%"></td></tr>'+
  772. //набеги
  773. '<tr><td>'+'<label><input type=checkbox '+(skip_raids =="1"?"checked":"")+' id=set_skip_raids title="">'+str_skip2+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_raids>'+level_raids+'</b>&nbsp&nbsp'+
  774. '<input id="set_level_raids" value="'+level_raids+'" size="1" maxlength="2"><input type="submit" id="set_level_raids_ok" value="OK"></font></td><td width="30%"></td></tr>'+
  775. //монстры
  776. '<tr><td>'+'<label><input type=checkbox '+(skip_monstr=="1"?"checked":"")+' id=set_skip_monstr title="">'+str_skip3+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_monstr>'+level_monstr+'</b>&nbsp&nbsp</font>'+
  777. '<input id="set_level_monstr" value="'+level_monstr+'" size="1" maxlength="2"><input type="submit" id="set_level_monstr_ok" value="OK"></td>'+
  778. '<td width="30%" align="center" title="'+str_title_3+'"><font style="color:#0070FF;"><b id=lim_exp_monstr>'+limit_exp_monstr+'</b>&nbsp&nbsp</font>'+
  779. '<input id="set_limit_exp_monstr" value="'+limit_exp_monstr+'" size="3" maxlength="4"><input type="submit" id="set_limit_exp_monstr_ok" value="OK"></td></tr>'+
  780. //заговорщики
  781. '<tr><td>'+'<label><input type=checkbox '+(skip_conspir=="1"?"checked":"")+' id=set_skip_conspir title="">'+str_skip4+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_conspir>'+level_conspir+'</b>&nbsp&nbsp'+
  782. '<input id="set_level_conspir" value="'+level_conspir+'" size="1" maxlength="2"><input type="submit" id="set_level_conspir_ok" value="OK"></font></td><td width="30%"></td></tr>'+
  783. //захватчики
  784. '<tr><td>'+'<label><input type=checkbox '+(skip_invader=="1"?"checked":"")+' id=set_skip_invader title="">'+str_skip5+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_invader>'+level_invader+'</b>&nbsp&nbsp'+
  785. '<input id="set_level_invader" value="'+level_invader+'" size="1" maxlength="2"><input type="submit" id="set_level_invader_ok" value="OK"></font></td><td width="30%"></td></tr>'+
  786. //отряды
  787. '<tr><td>'+'<label><input type=checkbox '+(skip_otryad=="1"?"checked":"")+' id=set_skip_otryad title="">'+str_skip6+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_otryad>'+level_otryad+'</b>&nbsp&nbsp'+
  788. '<input id="set_level_otryad" value="'+level_otryad+'" size="1" maxlength="2"><input type="submit" id="set_level_otryad_ok" value="OK"></font></td><td width="30%"></td></tr>'+
  789. //разбойники(охрана каравана)
  790. '<tr><td>'+'<label><input type=checkbox '+(skip_convoy=="1"?"checked":"")+' id=set_skip_convoy title="">'+str_skip7+'</label><br></td><td width="30%" align="center"><font style="color:#0070FF;"><b id=lvl_convoy>'+level_convoy+'</b>&nbsp&nbsp'+
  791. '<input id="set_level_convoy" value="'+level_convoy+'" size="1" maxlength="2"><input type="submit" id="set_level_convoy_ok" value="OK"></font></td><td width="30%"></td></tr>'+
  792. //ссылка на сайт скрипта
  793. '<tr><td><a href="'+str_url+'">'+str_update+'</a></td><td colspan=2 align="right"><a href="'+str_url_aut+'">'+str_autor+'</a></td></tr></table>'; //концовка
  794. //назначение вызова функция при событиях кнопок и чекбоксов
  795. addEvent($("bt_close_tr"), "click", settings_gn_close); //крестик в углу
  796. addEvent($("set_skip_army"), "click", change_skip_army); //чек-бокс
  797. addEvent($("set_skip_raids"), "click", change_skip_raids); //чек-бокс
  798. addEvent($("set_skip_monstr"), "click", change_skip_monstr); //чек-бокс
  799. addEvent($("set_skip_conspir"), "click", change_skip_conspir); //чек-бокс
  800. addEvent($("set_skip_invader"), "click", change_skip_invader); //чек-бокс
  801. addEvent($("set_skip_otryad"), "click", change_skip_otryad); //чек-бокс
  802. addEvent($("set_skip_convoy"), "click", change_skip_convoy); //чек-бокс
  803. addEvent($("set_show_exp"), "click", change_show_exp); //чек-бокс
  804. addEvent($("set_koef_ok"), "click", change_koef); //поле ввода
  805. addEvent($("set_level_army_ok"), "click", change_level_army); //поле ввода
  806. addEvent($("set_level_raids_ok"), "click", change_level_raids); //поле ввода
  807. addEvent($("set_level_monstr_ok"), "click", change_level_monstr); //поле ввода
  808. addEvent($("set_level_conspir_ok"), "click", change_level_conspir); //поле ввода
  809. addEvent($("set_level_invader_ok"), "click", change_level_invader); //поле ввода
  810. addEvent($("set_level_otryad_ok"), "click", change_level_otryad); //поле ввода
  811. addEvent($("set_level_convoy_ok"), "click", change_level_convoy); //поле ввода
  812. addEvent($("set_limit_exp_monstr_ok"), "click", change_limit_exp_monstr);//поле ввода
  813.  
  814. bg.style.top = '0px';
  815. bg.style.height = bg_height + 'px';
  816. bgc.style.top = ( window.pageYOffset + 155 ) + 'px';
  817. bg.style.display = '';
  818. bgc.style.display = '';
  819. }
  820. //********* обработчики полей ввода *******
  821. function change_koef()
  822. {
  823. if ( Number( $("set_koef").value ) >= 1 ) koef = $("set_koef").value; else koef = Number(1.0);
  824. document.getElementById('k_p').innerHTML = Number(koef).toFixed(4);
  825. GM_setValue("hwm_koef_dop_exp", koef);
  826. }
  827. function change_level_army()
  828. {
  829. if ( Number( $("set_level_army").value ) >= 0 ) level_army = Number($("set_level_army").value).toFixed(0); else level_army = 0;
  830. document.getElementById('lvl_army').innerHTML = Number(level_army).toFixed(0);
  831. GM_setValue("hwm_level_army", level_army);
  832. }
  833. function change_level_raids()
  834. {
  835. if ( Number( $("set_level_raids").value ) >= 0 ) level_raids = Number($("set_level_raids").value).toFixed(0); else level_raids = 0;
  836. document.getElementById('lvl_raids').innerHTML = Number(level_raids).toFixed(0);
  837. GM_setValue("hwm_level_raids", level_raids);
  838. }
  839. function change_level_monstr()
  840. {
  841. if ( Number( $("set_level_monstr").value ) >= 0 ) level_monstr = Number($("set_level_monstr").value).toFixed(0); else level_monstr = 0;
  842. document.getElementById('lvl_monstr').innerHTML = Number(level_monstr).toFixed(0);
  843. GM_setValue("hwm_level_monstr", level_monstr);
  844. }
  845. function change_level_conspir()
  846. {
  847. if ( Number( $("set_level_conspir").value ) >= 0 ) level_conspir = Number($("set_level_conspir").value).toFixed(0); else level_conspir = 0;
  848. document.getElementById('lvl_conspir').innerHTML = Number(level_conspir).toFixed(0);
  849. GM_setValue("hwm_level_conspir", level_conspir);
  850. }
  851. function change_level_invader()
  852. {
  853. if ( Number( $("set_level_invader").value ) >= 0 ) level_invader = Number($("set_level_invader").value).toFixed(0); else level_invader = 0;
  854. document.getElementById('lvl_invader').innerHTML = Number(level_invader).toFixed(0);
  855. GM_setValue("hwm_level_invader", level_invader);
  856. }
  857. function change_level_otryad()
  858. {
  859. if ( Number( $("set_level_otryad").value ) >= 0 ) level_otryad = Number($("set_level_otryad").value).toFixed(0); else level_otryad = 0;
  860. document.getElementById('lvl_otryad').innerHTML = Number(level_otryad).toFixed(0);
  861. GM_setValue("hwm_level_otryad", level_otryad);
  862. }
  863. function change_level_convoy()
  864. {
  865. if ( Number( $("set_level_convoy").value ) >= 0 ) level_convoy = Number($("set_level_convoy").value).toFixed(0); else level_convoy = 0;
  866. document.getElementById('lvl_convoy').innerHTML = Number(level_convoy).toFixed(0);
  867. GM_setValue("hwm_level_convoy", level_convoy);
  868. }
  869. function change_limit_exp_monstr()
  870. {
  871. if ( Number( $("set_limit_exp_monstr").value ) >= 0 ) limit_exp_monstr = Number($("set_limit_exp_monstr").value).toFixed(0); else limit_exp_monstr = 0;
  872. document.getElementById('lim_exp_monstr').innerHTML = Number(limit_exp_monstr).toFixed(0);
  873. GM_setValue("hwm_limit_exp_monstr", limit_exp_monstr);
  874. }
  875. //*********** обработчики чек-боксов *****
  876. function change_show_exp() {GM_setValue("hwm_show_exp_on_warlog", show_exp_on_warlog = !show_exp_on_warlog);}
  877. function change_skip_army() {GM_setValue("hwm_skip_army", skip_army = !skip_army);}
  878. function change_skip_raids() {GM_setValue("hwm_skip_raids", skip_raids = !skip_raids);}
  879. function change_skip_monstr() {GM_setValue("hwm_skip_monstr", skip_monstr = !skip_monstr);}
  880. function change_skip_conspir() {GM_setValue("hwm_skip_conspir", skip_conspir = !skip_conspir);}
  881. function change_skip_invader() {GM_setValue("hwm_skip_invader", skip_invader = !skip_invader);}
  882. function change_skip_otryad() {GM_setValue("hwm_skip_otryad", skip_otryad = !skip_otryad);}
  883. function change_skip_convoy() {GM_setValue("hwm_skip_convoy", skip_convoy = !skip_convoy);}
  884. //********** непонятно что, взято 1:1 у Demin ******
  885. function $(id) { return document.querySelector("#"+id); }
  886. function addEvent(elem, evType, fn) {
  887. if (elem.addEventListener) elem.addEventListener(evType, fn, false);
  888. else if (elem.attachEvent) elem.attachEvent("on" + evType, fn);
  889. else elem["on" + evType] = fn;
  890. }
  891. //function ClientHeight() {return document.compatMode=='CSS1Compat' && document.documentElement?document.documentElement.clientHeight:document.body.clientHeight;} //Не использую
  892. function ClientWidth() {return document.compatMode=='CSS1Compat' && document.documentElement?document.documentElement.clientWidth:document.body.clientWidth;}
  893. function ScrollHeight() {return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);}
  894. }
  895. //************ Конец фрагментов кода от (C) Demin **********************************
  896.  
  897. //*************** Извлечение умений ********************************
  898. function get_skills(str_sk) {
  899. var hex2bin = {
  900. 0: "0000",
  901. 1: "0001",
  902. 2: "0010",
  903. 3: "0011",
  904. 4: "0100",
  905. 5: "0101",
  906. 6: "0110",
  907. 7: "0111",
  908. 8: "1000",
  909. 9: "1001",
  910. A: "1010",
  911. B: "1011",
  912. C: "1100",
  913. D: "1101",
  914. E: "1110",
  915. F: "1111"
  916. };
  917. var sk_arr = new Array(2);
  918. var str_full_skills = str_skills;
  919. var i, pos = 0, n = 0;
  920. var bit_str_sk = "";
  921.  
  922. for (i=0; i<str_sk.length;i++) bit_str_sk +=hex2bin[str_sk[i]];
  923. while (bit_str_sk.indexOf("1",pos) != -1) {
  924. pos = bit_str_sk.indexOf("1",pos);
  925. sk_arr = monstr_skills[pos];
  926. if (n>0) str_full_skills +=', ';
  927. str_full_skills += '<a href="' + str_url_hlp + sk_arr[0] + '"><font size="1">'+sk_arr[1]+'</font></a>';
  928. pos++;
  929. n++;
  930. }
  931. return str_full_skills;
  932. }
  933. //*************** Расчет опыта будет только здесь ********************************
  934. function get_exp(go_exp, go_hp, level) {
  935. var expiriens = new Array(2);
  936. var n375, monstr_0_exp, mostr_0_hp, Kexp;
  937.  
  938. mostr_0_hp = (go_hp<50) ? ((go_hp % 10) + 50) * 36 : go_hp * 36; //кол-во HP монстра 0-уровня
  939. Kexp = Math.round(mostr_0_hp / go_hp / 5 + 1); //Множитель опыта монстра 0-уровня
  940. monstr_0_exp = go_exp * Kexp; //кол-во Exp монстра 0-уровня
  941. n375 = Math.floor((level*2+1)/5); //кол-во уровней где добавляют 0.375*HP, а не 0.5*HP
  942. expiriens[0] = Math.round(monstr_0_exp / 10 * koef * new_exp_koef * (+level + 2)); //кол-во опыта непонятной зависимости
  943. if (go_hp<=6) expiriens[1] = Math.round(monstr_0_exp / 10 * koef * new_exp_koef * (+level + 2 - n375*2/Kexp));//кол-во опыта если HP<=6
  944. else expiriens[1] = Math.round(monstr_0_exp / 10 * koef * new_exp_koef * (+level + 2 - n375/4 )); //кол-во опыта HP>=50
  945. return expiriens;
  946. // для HP==45 : Каждый 2 и 5 (из 5) уровень ExpM += ExpGO, остальные ExpM += 4/5 * ExpGO;
  947. // для HP>=50 : Каждый 2 и 5 (из 5) уровень ExpM += 3/4*ExpGO, остальные ExpM += ExpGO; ?
  948. }
  949. //****************************************************
  950. function show_param_monstr(n_zad,level,name_monstr) {
  951. var elem, elem0, param_0_monster, str_man, str_skills;
  952. var pos, base_ini, ini_monstr, base_mana, mana_monstr, hp_monstr; //числовые переменные
  953. var expir = new Array(2);
  954. var add_str ='';
  955. var ins_br = document.createElement('br');
  956. if (n_zad == 0) {
  957. var ins_data = document.createElement('td');
  958. var ins_end = '<BR><BR id=end_first_monstr>';
  959. ins_data.setAttribute('width','240');
  960. ins_data.setAttribute('style','vertical-align: top');
  961. } else {
  962. var ins_data = document.createElement('div');
  963. var ins_end = '';
  964. }
  965.  
  966. for (var k = 0; k < all_tables.length; k++) {
  967. if (all_tables[k].className == "wbwhite") {
  968. elem0 = all_tables[k].childNodes[0].childNodes[0];
  969. // ******************** Начали ********************
  970. // ******************** проверка наличия данных по монстру ********************
  971. if (monstr_rus_data[$ustring(name_monstr)] == null) { //Если такого монстра в базе нет - сообщить юзеру
  972. ins_data.innerHTML = '<font style="font-size:11px;">'+name_monstr+key_monstr+'{'+level+'}</font>'+
  973. '<br><font style="color:#FF2020;"><b>'+str_no_found+'</b></font>';
  974. elem0.appendChild(ins_data);
  975. break;
  976. }
  977. param_0_monster = monstr_rus_data[$ustring(name_monstr)]; //считывает параметры монстра 0 уровня
  978. // ******************** Извлечение умений ********************
  979. str_skills = get_skills(param_0_monster[0]);
  980. // ******************** Расчет опыта ********************
  981. if (param_0_monster[1] == '1') { //Если данные на монстра не заполнены - сообщить юзеру
  982. add_str = str_pusto;
  983. } else {
  984. expir = get_exp (param_0_monster[1],param_0_monster[6],level);
  985. if ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (level == 0))
  986. add_str += expir[1]; //Альтернативная понятная прогрессия опыта
  987. else add_str += Math.round(expir[1]*0.95)+'...'+expir[0]; //Линейная непонятная прогрессия опыта
  988. }
  989. // ******************** расчет HP ********************
  990. hp_monstr = param_0_monster[6];
  991. if (hp_monstr<50) hp_monstr = (hp_monstr % 10) + 50;
  992. hp_monstr *= 36 * (level / 2 + 1);
  993. // ******************** расчет инициативы ********************
  994. base_ini = Math.round(param_0_monster[8]*5/6); //Базовая ини для масштабирования (монстры>0ур)
  995. if (level > 1) ini_monstr = base_ini*3/2; //Для монстров{2+} ини на 50% больше базовой
  996. else if (level) ini_monstr = base_ini + Math.round(base_ini*2/5)*level; //Для монстров{1} ини на 40% больше базовой
  997. else ini_monstr = param_0_monster[8]; //Для монстров{0} ини на 25% больше базовой
  998. // ******************** расчет маны/кастов ********************
  999. if (param_0_monster[9] < 0) { //Для джинов будет писать кол-во кастов
  1000. mana_monstr = (param_0_monster[9] == -1) ? 4+Math.floor(level*3/5) : 3; //Для визирей 3, для остальных по формуле
  1001. str_man = str_mana2;
  1002. } else { //Для колдунов будет писать кол-во маны
  1003. base_mana = Math.round(param_0_monster[9]*5/6); //Базовая мана для масштабирования
  1004. mana_monstr = Math.round(base_mana*(+level+6)/5); //Расчет маны для текущего уровня монстра
  1005. str_man = str_mana1;
  1006. }
  1007. // ********** Вставляем данные на страницу ***********************
  1008. ins_data.innerHTML = '<tr><font style="font-size:11px;"><center><b>'+name_monstr+key_monstr+'</b>{'+level+'}</center></font>'+
  1009. '<font style="font-size:12px;" face="Courier new">'+
  1010. ' <font style="color:#0070FF;">'+str_exp+'</font> <font style="color:#FF2020;"><b>' +add_str+'</b></font>'+
  1011. '<br><font style="color:#0070FF;">'+str_atk+'</font> <font style="color:#FF2020;">' +(param_0_monster[2]+level*7)+'</font>'+
  1012. '<br><font style="color:#0070FF;">'+str_def+'</font> <font style="color:#FF2020;">' +(param_0_monster[3]+level*7)+'</font>'+
  1013. '<br><font style="color:#0070FF;">'+str_dam+'</font> <font style="color:#FF2020;">' +(param_0_monster[4]+level*12)+'-'+(param_0_monster[5]+level*16)+'</font>'+
  1014. '<br><font style="color:#0070FF;">'+str_hp +'</font> <font style="color:#FF2020;"><b>' +hp_monstr+'</b></font>'+
  1015. '<br><font style="color:#0070FF;">'+str_spd+'</font> <font style="color:#FF2020;">' +(param_0_monster[7]+Math.ceil(level/4))+'</font>'+
  1016. '<br><font style="color:#0070FF;">'+str_ini+'</font> <font style="color:#FF2020;">' +ini_monstr+'</font>'+
  1017. '<br><font style="color:#0070FF;">'+str_vys+'</font> <font style="color:#FF2020;">' +param_0_monster[10]+'</font>'+
  1018. '<br><font style="color:#0070FF;">'+str_man+'</font> <font style="color:#FF2020;">' +mana_monstr+'</font>'+
  1019. '<br><font style="color:#0070FF;">'+str_skills+'</font>'+
  1020. '</font>'+ins_end+
  1021. '</tr>';
  1022. // ********** Если монстров в место справа от задания ***********************'
  1023. if (n_zad == 0) {
  1024. // elem0.appendChild(ins_data); //Первого монстра ставим сверху
  1025. elem0.appendChild(ins_data); //Первого монстра ставим сверху
  1026. need_move_up = true;
  1027. } else {
  1028. if (document.getElementById('end_first_monstr') == null) {
  1029. var shift_down = document.createElement('td');
  1030. shift_down.setAttribute('width','240');
  1031. shift_down.innerHTML = '<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR id=end_first_monstr>';
  1032. elem0.appendChild(shift_down); //Если первое задание не монстр, то вставляем на его место пустые строки
  1033. need_move_up = true;
  1034. }
  1035. elem0 = document.getElementById('end_first_monstr').parentNode;
  1036. elem0.appendChild(ins_data); //Второго монстра ставим снизу
  1037. }
  1038. // *********** Двигаем разделитель ниже, чтобы описание монстров не налазило на чужое задание
  1039. var ems = document.querySelector("hr[width*='90']"); //сдвинем разделитель вниз немного
  1040. ems.parentNode.insertBefore(ins_br,ems);
  1041. }
  1042. }
  1043. }
  1044. // ********** Сползшую кнопку отказа двигаем наверх ***********************
  1045. function cancel_up() {
  1046. var ems = document.querySelector("a[href*='action=skip']");
  1047. var elem = ems.parentNode.parentNode.parentNode.parentNode.children[0].children[0];
  1048. var elem0 = ems.parentNode.parentNode.removeChild(ems.parentNode);
  1049. elem.appendChild(elem0);
  1050. elem.parentNode.parentNode.children[1].removeChild(elem.parentNode.parentNode.children[1].children[0]);
  1051. }
  1052. //****************************************************
  1053. function warlog() {
  1054. var ems, elem, elem0, name_monstr, str_info, param_0_monster;
  1055. var expir = new Array(2);
  1056. var pos, level, i;
  1057. var ins_data;
  1058.  
  1059. elem0 = document.getElementsByTagName('body');
  1060. elem0 = elem0[0].children[1].children[1].children[0].children[0].children[0];
  1061. if (elem0.children[3].tagName == 'TABLE') { //Работает скрипт hwm_WarLog_2_Table
  1062. elem0 = elem0.children[3].children[0];
  1063. for (i =2; i < elem0.children.length; i++) {
  1064. elem = elem0.children[i].children[1].children[1];
  1065. str_info = elem.childNodes[0].data;
  1066. if (str_info == null) continue;
  1067.  
  1068. pos = str_info.lastIndexOf(key_monstr); //Проверка на монстра
  1069. if (pos == -1) continue;
  1070.  
  1071. level = str_info.substring(str_info.indexOf("{")+1,str_info.indexOf("}")); //Получили уровень монстра
  1072. name_monstr = str_info.substring(0,pos); //Получили имя монстра
  1073. if (monstr_rus_data[$ustring(name_monstr)] == null) continue; //Если такого монстра нет, то пропускаем
  1074.  
  1075. param_0_monster = monstr_rus_data[$ustring(name_monstr)]; //считывает параметры монстра 0 уровня
  1076. expir = get_exp (param_0_monster[1],param_0_monster[6],level);
  1077.  
  1078. ins_data = document.createElement('b'); //создаем и заполняем элемент для вставки.
  1079. if ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (level == 0)) { //Линейная непонятная прогрессия опыта
  1080. ins_data.innerHTML = ' Exp: <font style="color:#FF2020;">' + expir[1];
  1081. } else { //Альтернативная понятная прогрессия опыта
  1082. ins_data.innerHTML = ' Exp: <font style="color:#FF2020;">' + Math.round(expir[1]*0.95)+'...'+expir[0];
  1083. }
  1084. elem.parentNode.appendChild(ins_data); //вставляем элемент.
  1085. }
  1086. } else { //Не стоит или не работает скрипт hwm_WarLog_2_Table
  1087. ems = elem0.querySelectorAll("td > i");
  1088. if (ems.length == 0) return;
  1089. for (i =0; i < ems.length; i++) {
  1090. str_info = ems[i].childNodes[0].data;
  1091. if (str_info == null) continue;
  1092.  
  1093. pos = str_info.lastIndexOf(key_monstr); //Проверка на монстра
  1094. if (pos == -1) continue;
  1095.  
  1096. level = str_info.substring(str_info.indexOf("{")+1,str_info.indexOf("}")); //Получили уровень монстра
  1097. name_monstr = str_info.substring(0,pos); //Получили имя монстра
  1098. if (monstr_rus_data[$ustring(name_monstr)] == null) continue; //Если такого монстра нет, то пропускаем
  1099. param_0_monster = monstr_rus_data[$ustring(name_monstr)]; //считывает параметры монстра 0 уровня
  1100. expir = get_exp (param_0_monster[1],param_0_monster[6],level);
  1101. ins_data = document.createElement('b'); //создаем и заполняем элемент для вставки.
  1102. if ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (level == 0)) { //Линейная непонятная прогрессия опыта
  1103. ins_data.innerHTML = ' Exp: <font style="color:#2020FF;">' + expir[1];
  1104. } else { //Альтернативная понятная прогрессия опыта
  1105. ins_data.innerHTML = ' Exp: <font style="color:#2020FF;">' + Math.round(expir[1]*0.95)+'...'+expir[0];
  1106. }
  1107. ems[i].appendChild(ins_data); //вставляем элемент.
  1108. }
  1109. }
  1110. }
  1111. //****************************************************
  1112. function rutina_1(t_gn,N,el_s,elem,ch,level,skip) {
  1113. var s = document.createElement('div');
  1114. t_gn[0] = N;
  1115. t_gn[1] = el_s.substring(el_s.indexOf("{")+1,el_s.indexOf("}"));
  1116. if (t_gn[1] >= +level && skip) {elem.childNodes[ch].innerHTML ='<font style="color:#FF0000">'+el_s+'</font>'};
  1117. if (N == 7) {
  1118. s.innerHTML = '<B><font style="color:#FF0000">'+str_warning3+'</font></B><br><br>'; //если сопровождение каравана, то предупредим об аммуниции
  1119. elem.insertBefore(s,elem.childNodes[ch-1]);
  1120. }
  1121. return t_gn;
  1122. }
  1123. //****************************************************
  1124. function get_type_gn() {
  1125. var pos, el, name, elem0; //0-Нет, 1-армии, 2-набеги, 3-монстры, 4-заговорщики, 5-захватчики, 6-отряд, 7-разбойники.
  1126. var type_gn = new Array([0,0,'',0],[0,0,'',0]);
  1127. var cur = 0;
  1128. for (var k = 0; k < all_tables.length; k++) {
  1129. if (all_tables[k].className == "wbwhite") {
  1130. elem0 = all_tables[k].childNodes[0].childNodes[0].childNodes[1];
  1131. for (var i =0; i < elem0.childNodes.length; i++) {
  1132. if (elem0.childNodes[i].tagName != "B") {
  1133. el = elem0.childNodes[i].data;
  1134. if (el == null) continue;
  1135. } else el = elem0.childNodes[i].childNodes[0].data; //поиск текстовых полей
  1136. pos = el.indexOf(key_convoy); if (pos != -1) {type_gn[cur] = rutina_1(type_gn[cur++],7,el,elem0,i++,level_convoy,skip_convoy); continue;}
  1137. pos = el.indexOf(key_otryad); if (pos != -1) {type_gn[cur] = rutina_1(type_gn[cur++],6,el,elem0,i,level_otryad,skip_otryad); continue;}
  1138. pos = el.indexOf(key_invader); if (pos != -1) {type_gn[cur] = rutina_1(type_gn[cur++],5,el,elem0,i,level_invader,skip_invader); continue;}
  1139. pos = el.indexOf(key_conspir); if (pos != -1) {type_gn[cur] = rutina_1(type_gn[cur++],4,el,elem0,i,level_conspir,skip_conspir); continue;}
  1140. pos = el.indexOf(key_raids); if (pos != -1) {type_gn[cur] = rutina_1(type_gn[cur++],2,el,elem0,i,level_raids,skip_raids); continue;}
  1141. pos = el.indexOf(key_army); if (pos != -1) {type_gn[cur] = rutina_1(type_gn[cur++],1,el,elem0,i,level_army,skip_army); continue;}
  1142. pos = el.indexOf(key_monstr);
  1143. if (pos == -1) continue; //Если задания ГН не найдены в этом тексте
  1144. type_gn[cur][0] = 3;
  1145. type_gn[cur][1] = el.substring(el.indexOf("{")+1,el.indexOf("}")); //Получили уровень монстра
  1146. name = el.substring(0,pos);
  1147. type_gn[cur][2] = name.substring(name.lastIndexOf("'")+1,pos); //Получили имя монстра
  1148. if (type_gn[cur++][1]>=+level_monstr && skip_monstr) {elem0.childNodes[i].innerHTML ='<font style="color:#FF0000">'+el+'</font>';}
  1149. }
  1150. }
  1151. }
  1152. // alert(type_gn);
  1153. return type_gn;
  1154. }
  1155. //****************************************************
  1156. function skip() {
  1157. var ems, el;
  1158. ems = document.querySelectorAll("a[href*='action=skip']");
  1159. if (ems.length != 0)
  1160. setTimeout(function() { window.location.href = ems[0].href; }, 2000);
  1161. //alert('nponyck');
  1162. else document.title = str_need_skp;
  1163. return;
  1164. }
  1165. //****************************************************
  1166. function get_time_wait() {
  1167. var elem, elem0, pos;
  1168. for (var k = 0; k < all_tables.length; k++) {
  1169. if (all_tables[k].className != "wbwhite") continue;
  1170. elem0 = all_tables[k].childNodes[0].childNodes[0].childNodes[1].childNodes[12];
  1171. if (elem0 == null) continue;
  1172. elem = elem0.childNodes[0].childNodes[0].childNodes[0].childNodes[0].data;
  1173. if (elem == null) continue;
  1174. pos = elem.lastIndexOf(str_time);
  1175. if (pos == -1) continue;
  1176.  
  1177. var time_min = elem.substring(pos+14,elem.indexOf(str_min));
  1178. var time_ms = ++time_min * 60000; //переводим из минут в мс
  1179. return time_ms;
  1180. }
  1181. for (var k = 0; k < all_tables.length; k++) {
  1182. if (all_tables[k].className != "wbwhite") continue;
  1183. elem0 = all_tables[k].childNodes[0].childNodes[0].childNodes[1].childNodes[6].childNodes[0].childNodes[0].childNodes[0];
  1184. if (elem0 == null) continue;
  1185. elem = elem0.childNodes[0].data;
  1186. if (elem == null) continue;
  1187. pos = elem.lastIndexOf(str_time);
  1188. if (pos == -1) continue;
  1189.  
  1190. var time_min = elem.substring(pos+14,elem.indexOf(str_min));
  1191. var time_ms = ++time_min * 60000; //переводим из минут в мс
  1192. return time_ms;
  1193. }
  1194. return 0;
  1195. }
  1196. //****************************************************
  1197. function update_title(time) {
  1198. var sec = Math.floor(time / 1000);
  1199. var dm = Math.floor( sec / 60 );
  1200. var ds = sec % 60;
  1201.  
  1202. document.title = str_tab_b+dm+str_min+' '+ds+str_sec+str_tab_e;
  1203. if ( time > 1000 ) setTimeout(function() { update_title(time-1000); }, 970);
  1204. else location.reload(true);
  1205. }
  1206. //************* Begin ***************************************
  1207. if ((url_cur.indexOf('pl_warlog') != -1) && (show_exp_on_warlog != 0)) warlog();
  1208. if (url_cur.indexOf('mercenary_guild') == -1) return;
  1209. var need_skip = 1; //доступность кнопки пропустить задание
  1210. var zadanie_gn = new Array(2);
  1211. zadanie_gn[0] = new Array(4);
  1212. zadanie_gn[1] = new Array(4);
  1213. zadanie_gn = get_type_gn(); //0-Нет, 1-армии, 2-набеги, 3-монстры, 4-заговорщики, 5-захватчики, 6-отряд, 7-разбойники.
  1214. //alert(zadanie_gn);
  1215. for (var cur = 0; cur < 2; cur++) {
  1216. if ((zadanie_gn[cur][0] == 0) && (cur ==1)) break;
  1217. if ((zadanie_gn[cur][0] == 1) && skip_army && (+zadanie_gn[cur][1] >= +level_army)) zadanie_gn[cur][3] = 1;
  1218. if ((zadanie_gn[cur][0] == 2) && skip_raids && (+zadanie_gn[cur][1] >= +level_raids)) zadanie_gn[cur][3] = 1;
  1219. if ((zadanie_gn[cur][0] == 4) && skip_conspir && (+zadanie_gn[cur][1] >= +level_conspir)) zadanie_gn[cur][3] = 1;
  1220. if ((zadanie_gn[cur][0] == 5) && skip_invader && (+zadanie_gn[cur][1] >= +level_invader)) zadanie_gn[cur][3] = 1;
  1221. if ((zadanie_gn[cur][0] == 6) && skip_otryad && (+zadanie_gn[cur][1] >= +level_otryad)) zadanie_gn[cur][3] = 1;
  1222. if ((zadanie_gn[cur][0] == 7) && skip_convoy && (+zadanie_gn[cur][1] >= +level_convoy)) zadanie_gn[cur][3] = 1;
  1223.  
  1224. if (zadanie_gn[cur][0] == 3) {
  1225. var expir = new Array(2);
  1226. var param_0_monster = monstr_rus_data[$ustring(zadanie_gn[cur][2])];
  1227. var exp_t;
  1228. if (monstr_rus_data[$ustring(zadanie_gn[cur][2])] != null)
  1229. {
  1230. expir = get_exp (param_0_monster[1],param_0_monster[6],zadanie_gn[cur][1]);
  1231. exp_t = ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (zadanie_gn[cur][1] == 0)) ? expir[1] : expir[0];
  1232. if (skip_monstr && ( (+zadanie_gn[cur][1] >= +level_monstr) || ((+exp_t > +limit_exp_monstr) && (limit_exp_monstr != 0)))) zadanie_gn[cur][3] = 1;
  1233. else show_param_monstr(cur,zadanie_gn[cur][1],zadanie_gn[cur][2]);
  1234. } else show_param_monstr(cur,zadanie_gn[cur][1],zadanie_gn[cur][2]);
  1235. }
  1236. }
  1237. if ((need_move_up) && (zadanie_gn[1][0] != 0)) cancel_up();
  1238. //alert('need_skip='+need_skip+' zadanie_gn[0][3]='+zadanie_gn[0][3]+' zadanie_gn[1][3]='+zadanie_gn[1][3]);
  1239. if (zadanie_gn[1][0] == 0) {need_skip *= zadanie_gn[0][3];} //Если 1 задание (ГН<7)
  1240. else {need_skip *= zadanie_gn[0][3]*zadanie_gn[1][3];} //Если 2 задания (ГН>6)
  1241.  
  1242. if (need_skip) skip();
  1243. if (zadanie_gn[0][0] == 0) {
  1244. var gn_time_wait = get_time_wait();
  1245. if (gn_time_wait != 0) {
  1246. update_title(gn_time_wait);
  1247. } else document.title = str_no_gn;
  1248. } else {
  1249. if ((need_skip == 0) && ((skip_army || skip_raids || skip_monstr || skip_invader || skip_conspir || skip_otryad || skip_convoy) != 0)) document.title = str_zad_ok;
  1250. }
  1251. show_settings();
  1252. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址