// ==UserScript==
// @name hwm_GN_exp
// @description Помощник ГН. (2018.09.16)
// @author ElMarado
// @version 2.78
// @include http://178.248.235.15/mercenary_guild.php*
// @include http://178.248.235.15/pl_warlog.php*
// @include http://*.heroeswm.*/mercenary_guild.php*
// @include http://*.heroeswm.*/pl_warlog.php*
// @grant GM_getValue
// @grant GM_setValue
// @icon https://app.box.com/representation/file_version_34029013909/image_2048/1.png?shared_name=hz97b2qwo2ycc5ospb7ccffn13w3ehc4
// @namespace https://greasyfork.org/users/14188
// ==/UserScript==
(function () {
var version = '2.78 (2018.09.16)';
var new_exp_koef = 4;
var show_exp_on_warlog = GM_getValue("hwm_show_exp_on_warlog", false);
var skip_army = GM_getValue("hwm_skip_army", false); //1-армии
var skip_raids = GM_getValue("hwm_skip_raids", false); //2-набеги
var skip_monstr = GM_getValue("hwm_skip_monstr", false); //3-монстры
var skip_conspir = GM_getValue("hwm_skip_conspir", false); //4-заговорщики
var skip_invader = GM_getValue("hwm_skip_invader", false); //5-захватчики
var skip_otryad = GM_getValue("hwm_skip_otryad", false); //6-отряд (защита союзника)
var skip_convoy = GM_getValue("hwm_skip_convoy", false); //7-разбойники (сопровождение)
var koef = GM_getValue("hwm_koef_dop_exp", 1.0); //коэф перекача
var level_army = GM_getValue("hwm_level_army", 0); //1-С какого уровня пропускать армии
var level_raids = GM_getValue("hwm_level_raids", 0); //2-С какого уровня пропускать набеги
var level_monstr = GM_getValue("hwm_level_monstr", 0); //3-С какого уровня пропускать монстров
var level_conspir = GM_getValue("hwm_level_conspir", 0); //4-С какого уровня пропускать заговорщиков
var level_invader = GM_getValue("hwm_level_invader", 0); //5-С какого уровня пропускать захватчиков
var level_otryad = GM_getValue("hwm_level_otryad", 0); //6-С какого уровня пропускать отряды
var level_convoy = GM_getValue("hwm_level_convoy", 0); //7-С какого уровня пропускать отряды
var limit_exp_monstr = GM_getValue("hwm_limit_exp_monstr", 0); //3-С какого порога опыта пропускать монстров
var str_settings= ustring("Настройки");
var str_exp = ustring("Кол-во опыта: ");
var str_atk = ustring("Атака       : ");
var str_def = ustring("Защита      : ");
var str_dam = ustring("Урон        : ");
var str_hp = ustring("Ед.жизни    : ");
var str_spd = ustring("Скорость    : ");
var str_ini = ustring("Инициатива  : ");
var str_mana1 = ustring("Мана        : ");
var str_mana2 = ustring("Кастов      : ");
var str_vys = ustring("Выстрелы    : ");
var str_skills = ustring('Умения: ');
var str_pusto = ustring("Данные не заполнены");
var str_no_found= ustring("В базе скрипта не найден. Обратитесь к автору скрипта.");
var str_show = ustring("Отображать опыт в протоколе боев");
var str_start = ustring("Скрипт: Помощник ГН. Версия: ");
var str_koef_0 = ustring("Текущий коэффициент перекача: ");
var str_koef_1 = ustring("Введите новый коэффициент перекача от 1.0 до 9.9999");
var str_koef_2 = ustring(" - значение изменится после обновления.");
var str_update = ustring("Проверить обновление скрипта.");
var str_autor = ustring("Сообщить автору о найденной ошибке.");
var str_warning1= ustring("Внимание. Выставляя галочку в любую из ячеек ниже, вы берете на себя отвественность за нарушение ");
var str_warning2= ustring("общих правил ГВД (пп.2.1 и 2.2)!");
var str_warning3= ustring("Перед отправлением на задание <Разбойники> проверьте свою аммуницию. Можно идти без артов!");
var str_skip00 = ustring("Пропускать задания:");
var str_skip01 = ustring("От указанного уровня");
var str_skip02 = ustring("Или опыт > заданого");
var str_title_3 = ustring("Если значение 0, то опыт не учитывается.");
var str_skip1 = ustring(" армии.");
var str_skip2 = ustring(" набеги.");
var str_skip3 = ustring(" монстры.");
var str_skip4 = ustring(" заговорщики.");
var str_skip5 = ustring(" захватчики.");
var str_skip6 = ustring(" отряды (защита союзника).");
var str_skip7 = ustring(" разбойники.");
var key_army = ustring("Армия");
var key_raids = ustring("набеги");
var key_monstr = ustring("-монстр");
var key_conspir = ustring("заговорщики");
var key_invader = ustring("захватчики");
var key_otryad = ustring("Отряд");
var key_convoy = ustring("разбойники");
var str_time = ustring("Приходи через");
var str_min = ustring(" мин");
var str_sec = ustring(" c.");
var str_tab_b = ustring("ГН. ");
var str_tab_e = ustring(" до проверки задания.");
var str_no_gn = ustring("ГН недоступна.");
var str_zad_ok = ustring("ГН. Задание подобрано!");
var str_need_skp= ustring("ГН. Есть задание для пропуска.");
var str_url_aut = ustring("/sms-create.php?mailto=ElMarado&subject=Скрипт: Помощник ГН v")+version+ustring(". Найдена ошибка:");
var str_url_hlp = "http://help.ordenmira.ru/ability.php?name=";
var str_url_prav= "/help.php?section=5";
var str_url = "https://greasyfork.org/ru/scripts/11693-hwm-gn-exp";
var need_move_up= false;
var url_cur = location.href;
var all_tables = document.getElementsByTagName('table');
var monstr_rus_data = { //структура(Если не написано ГО, то для монстра 0-уровня) [Умения,Exp_ГО,Атака,Защита,Min_Урон,Max_Урон,HP_ГО,Скорость,Инициатива, Мана, Выстрелы]
"Адепты": ['00000000000000800008000100000000040000000001C0',121,20,24,29,32,80,6,12,14,10],
"Адские жеребцы": ['20040020000000000000000000000000000000000001C0',136,23,23,28,36,50,7,19,0,0],
"Адские жнецы": ['00000028000000800000000000000000000000000001C0',250,44,33,22,33,99,6,16,10,0],
"Адские псы": ['00000020000000000000000000000000000000000001C0',33,24,22,23,35,15,7,16,0,0],
"Ангелы": ['00040000000000040000000000000000000000000001C0',330,27,27,45,45,180,6,13,0,0],
"Арбалетчики": ['00000000000000000000000000000000041000000001C0',19,24,24,22,38,10,6,10,0,12],
"Архангелы": ['00040400000000040000000000000000000000000001C0',390,31,31,50,50,220,8,13,0,0],
"Архидемоны": ['00040020000000000000000000000000006000000001C0',312,32,31,33,66,211,6,12,0,0],
"Архидьяволы": ['00040020000000000000000000100000004000000001C0',311,32,29,36,66,199,7,13,0,0],
"Архиличи": ['00040000000000800020000000000004040000000001C0',110,29,29,27,30,55,6,12,19,6],
"Архимаги": ['00000000000000808000000000000000060000000201C0',70,20,20,27,37,30,6,12,30,4],
"Ассасины": ['00000000000000000008000400000000040000001001C0',33,24,23,22,34,14,6,14,0,5],
"Астральные драконы": ['00040000000000040020000000000000000001000001C0',310,31,27,27,36,150,7,13,0,0],
"Баньши": ['00040000000000000020000000000200000000000001C0',205,23,23,22,37,110,6,13,0,0],
"Бегемоты": ['00040000020000000000000000000000000000000001C0',350,30,22,30,50,210,6,11,0,0],
"Берсерки": ['00000000004000000000000000000000000000000081C0',42,27,27,23,38,25,6,14,0,0],
"Бестии": ['00000000000000000000000000000000000020000001C0',30,24,22,25,37,16,7,17,0,0],
"Бесы": ['00000020000000000000000000000000000000020001C0',6,22,21,21,32,4,6,16,0,0],
"Бехолдеры": ['00000000000000000008000000000000040000000101C0',33,29,27,23,35,22,6,12,0,12],
"Боевые грифоны": ['00440000000020040000000000000000000000000001C0',45,27,22,27,35,35,9,19,0,0],
"Боевые единороги": ['10040000000000000000040000000000000000000001C0',135,27,27,20,30,77,7,14,0,0],
"Боевые кентавры": ['00048000000000000008000000000000040000000001C0',21,24,24,23,35,10,6,12,0,8],
"Боевые маги": ['00000000000000808000000000200000060000000001C0',72,22,29,27,37,29,6,12,12,6],
"Вампиры": ['00000200000000000020010000000000000000000001C0',68,26,26,26,38,30,6,13,0,0],
"Вармонгеры": ['00008001000000000000000000001000000000000101C0',36,24,26,23,35,20,6,11,0,0],
"Ведьмы-призраки": ['00200010000000040020010000000000000000000001C0',30,28,27,24,36,20,6,13,0,0],
"Ведьмы моря": ['00000000000000800000000000000000040000000001C2',70,22,20,20,36,35,6,14,29,4],
"Великие левиафаны": ['00040000010010000000000000000000000000000001C0',300,35,35,45,65,250,6,12,0,0],
"Верховные друиды": ['00000000000000800000000040000000040000000001C0',101,22,29,29,34,38,6,12,18,7],
"Вестники смерти": ['00040000000000000020000000000010000000000001C0',205,26,24,25,30,100,6,13,0,0],
"Виверны": ['00040000000000040000000000004000000000000001C0',170,27,27,25,35,90,6,12,0,0],
"Визири джиннов": ['00040000002000440000000000000000100000000001C0',110,23,23,24,39,50,8,14,-2,0],
"Владычицы тени": ['00000000000000800000000000000000040000400001C0',185,20,20,27,37,90,6,12,17,4],
"Водные элементали": ['00000000000010800000000000000000000000000401C0',57,28,28,28,32,43,6,12,14,0],
"Вожаки": ['00008000000000000000000000060000000000000001C0',100,23,25,20,32,48,7,14,0,0],
"Воздушные элементали": ['00000200002000040000000000000000000000000401C0',59,28,26,25,37,30,8,20,0,0],
"Воины-наёмники": ['00420000000000000001000000000000000000000101C0',25,29,25,23,35,24,6,11,0,0],
"Воители": ['00030000000000000000000000000000080000000101C0',12,21,25,21,32,12,6,11,0,0],
"Воры-колдуны": ['00000000000000800000000000000000000000000001C0',35,28,27,25,39,30,6,13,24,0],
"Воры-разведчики": ['00000200000000000000000000000000000000000001C0',35,20,28,27,32,45,6,13,0,0],
"Воры-убийцы": ['00000000000000000008000400000000040000000001C0',35,22,26,26,30,40,6,16,0,12],
"Высшие ангелы": ['00040000000000840000000000000000000000000001C0',390,35,25,25,75,220,8,13,17,0],
"Высшие вампиры": ['00000200000000000020010000000000004000000001C0',70,29,29,27,31,35,7,13,0,0],
"Высшие личи": ['00040000000000800020000000000000040000000001C0',100,21,29,27,31,55,6,12,23,5],
"Гарпии": ['00000000000000040000000000000000000020000001C0',29,25,21,24,37,15,8,16,0,0],
"Гарпии-ведьмы": ['00000200000000040000000000000000000020000001C0',45,26,22,24,37,15,9,18,0,0],
"Гарпунеры": ['00010000000000000000000000000000040000000003C0',18,25,23,22,35,10,4,9,0,0],
"Гигантские ящеры": ['00040000000000000000000000000000000000000001C0',25,27,27,24,36,25,6,14,0,0],
"Гидры": ['00040200000000000000000000000000000000800101C0',108,25,22,27,34,80,6,10,0,0],
"Глубоководные черти": ['00040000000000000000000000004008000000000001C0',140,28,26,25,34,105,6,11,0,0],
"Гниющие зомби": ['00000000000000000020000800000000000000000101C0',17,22,23,21,33,23,6,10,0,0],
"Гоблины": ['00000000000000000000000000000000000000000001C0',5,23,21,21,32,3,6,12,0,0],
"Гоблины-лучники": ['00000000000000000000000000000000040000000001C0',9,23,23,21,32,3,6,12,0,10],
"Гоблины-маги": ['00000000000000800000000000000000000000000001C0',9,22,21,21,32,3,6,13,10,0],
"Гоблины-трапперы": ['00008000000000000000000000000000000400008001C0',15,21,23,21,31,7,6,12,0,0],
"Гоги": ['00000020000000000000000000000000040000000001C0',13,26,24,22,34,13,6,12,0,12],
"Големы смерти": ['00040000000000000028000000000000440000000001C0',329,25,40,40,60,350,6,12,0,1],
"Головорезы": ['00000000000000000000000000000000000000000801C0',6,22,22,21,32,8,6,10,0,0],
"Горные стражи": ['00030000000000000004000000000000000000000101C0',24,21,26,21,32,12,6,10,0,0],
"Гремлины": ['00000000000000000000000000000000040000000001C0',5,22,22,21,32,5,6,10,0,5],
"Гремлины-вредители": ['00000000000000010000000000000000040000000001C0',9,28,23,21,32,6,6,14,0,7],
"Грифоны": ['00440000000020040000000000000000000000000001C0',59,27,25,25,30,30,7,18,0,0],
"Громовержцы": ['00040000000100000040000000000000004040000001C0',162,25,25,29,34,120,8,13,0,0],
"Демонессы": ['00000020000000000000002000000000040000002001C0',67,26,26,26,33,30,6,12,0,6],
"Детёныши ящера": ['40000000000000000000000000000000000000000001C0',13,25,25,22,34,13,6,22,0,0],
"Джинны": ['00040000000000040000000000000100000000000001C0',103,21,20,22,34,40,7,14,-1,0],
"Джинны-султаны": ['00040000000000040000000000000080200000000001C0',110,24,24,24,39,45,8,14,-1,0],
"Дикие энты": ['00040000000400000000200000000000000000000109C0',210,21,27,22,30,175,6,10,0,0],
"Дочери земли": ['00008004000001800000000000000000008000000001C0',72,20,27,27,31,35,6,14,10,0],
"Дочери неба": ['00008004000000800000000000000000000000000001C0',75,27,29,26,39,35,6,14,14,0],
"Древние бегемоты": ['00040000008000000000000000000000000000000001C0',390,33,25,30,50,250,6,11,0,0],
"Древние энты": ['00040000000000000000200000000000000000080101C0',210,29,29,20,30,181,6,10,0,0],
"Дриады": ['00000200000000840000000000000000000100000001C0',20,22,21,22,32,6,7,17,12,0],
"Друиды": ['00000000000000800000000000000000040000000001C0',74,27,27,27,39,34,6,12,14,5],
"Духи": ['002000000000000C0020000000000000000000000001C0',27,26,25,24,36,20,6,11,0,0],
"Дьяволы": ['00040020000000000000000000000000004000000001C0',245,27,25,36,66,166,7,13,0,0],
"Дьяволята": ['00000020000000000000001000000000000000000001C0',10,23,23,21,34,6,6,16,0,0],
"Единороги": ['10040000000000000000000000000000000000000001C0',124,22,22,20,30,57,7,14,0,0],
"Железные големы": ['00000000000400000400000000000000200000000001C0',33,25,25,23,35,18,6,10,0,0],
"Жрецы рун": ['00000000200000800010000000000000040000000001C0',59,20,26,22,35,60,6,10,18,5],
"Защитники веры": ['00020000000000200000000000000000000000000101C0',20,28,28,22,35,23,6,10,0,0],
"Защитники гор": ['00030000000000000000000000000000000000000101C0',7,21,24,21,31,7,6,11,0,0],
"Зелёные драконы": ['00040000000002040000000000000000000000000001C0',350,27,25,30,50,200,8,14,0,0],
"Земные элементали": ['00400000000200000000000000000000200000000401C0',63,28,21,20,34,75,6,10,0,0],
"Злобные глаза": ['00000000000000000008020000000000040000000101C0',33,20,28,23,35,22,7,12,0,24],
"Зомби": ['00000000000000000020000000000000000000000101C0',11,21,22,21,32,17,6,10,0,0],
"Изумрудные драконы": ['00040000000202040000000000000000000000000001C0',400,31,27,33,57,200,9,17,0,0],
"Имперские грифоны": ['00440000000020040000000000000000000004000001C0',62,29,28,25,35,35,7,18,0,0],
"Инквизиторы": ['00000000000000800008000000000000040000000001C0',121,26,26,29,32,80,6,12,14,7],
"Искусительницы": ['00000020001000000000000000000002040000000001C0',65,26,26,26,33,26,6,11,0,6],
"Ифриты": ['00040020000080840000000000000000000000000001C0',200,25,22,26,34,90,6,14,12,0],
"Ифриты султаны": ['00040020000080840000400000000000000000000001C0',250,26,24,26,34,100,7,14,12,0],
"Каменные горгульи": ['00000000000100040000000000000000000000000501C0',16,23,24,21,31,15,6,11,0,0],
"Камнегрызы": ['00000000000004000001000000000000800000000101C0',67,29,27,26,30,55,6,11,0,0],
"Камнееды": ['00000000000000000001000000000000000000000001C0',56,28,26,26,39,45,6,11,0,0],
"Кентавры": ['00048000000000001000000000000000040000000001C0',13,23,21,22,34,6,6,13,0,8],
"Князья вампиров": ['00000000000000000020010200000000004000000001C0',70,29,29,25,33,40,8,13,0,0],
"Колоссы": ['00040000004000000000000000000000000000000001C0',350,27,27,40,70,175,6,12,0,0],
"Кони преисподней": ['20040020000008000000000000000000000000000001C0',138,28,27,20,37,66,8,18,0,0],
"Костоломы": ['00000000004000000000000000000000000000000001C0',27,26,26,22,36,20,6,14,0,0],
"Костяные драконы": ['00040000000000040020000000000000000000000001C0',280,27,28,25,30,150,6,13,0,0],
"Кочевые кентавры": ['00048000000000001000000000000000040000000001C0',20,24,22,23,36,9,6,12,0,8],
"Кошмары": ['28040020000000000000000000000000000000000001C0',140,28,28,28,36,66,8,19,0,0],
"Красные драконы": ['00040000000000040000800000000000000000000001C8',400,30,30,45,60,235,9,13,0,0],
"Крестьяне": ['00000000000000000000000000000000000000000001C0',5,21,21,21,31,4,6,10,0,0],
"Кристальные драконы": ['00040000000000040000000000000000000000000041C0',400,30,26,30,60,200,9,17,0,0],
"Кровавые ящеры": ['00040000000000000000010000000000000000000001C0',30,23,23,28,30,35,7,16,0,0],
"Кровоглазые циклопы": ['00048000000000000800000004000800000000001001C0',500,28,28,35,50,235,6,12,0,0],
"Кшатрии ракшасы": ['00042000000000000100000000000000000000000001C0',162,27,20,25,35,135,7,10,0,0],
"Лазутчики": ['00000000000000000008000000000000040000001001C0',20,23,23,22,34,10,6,12,0,5],
"Латники": ['00020000400000000001000000000000000000000101C0',21,25,29,22,35,26,6,10,0,0],
"Левиафаны": ['00040000040010000000000000000000000000000001C0',250,28,28,43,63,200,6,12,0,0],
"Лепреконы": ['00000000000000000000000000000000000000000001C4',11,25,22,22,37,7,6,16,0,0],
"Лесные снайперы": ['00000000000000000000000000000000060000010001C0',42,26,25,27,38,12,6,13,0,16],
"Личи": ['00040000000000000020000000000004040000000001C0',87,25,25,22,37,50,6,12,0,5],
"Ловчие": ['00000000000000000000000400000000000000000001E0',34,25,24,23,35,15,6,14,0,0 ],
"Лучники": ['00000000000000000000000000000000050000000001C0',15,24,23,22,34,7,6,11,0,10],
"Маги": ['00000000000000808000000000000000060000000001C0',63,20,20,27,37,18,6,12,18,3],
"Магма драконы": ['00040000000080004000800000000000000000000401C0',329,30,40,40,50,280,6,11,0,0],
"Магнитные големы": ['00000000800000002400000000000000000000000001C0',57,26,26,23,35,28,6,11,0,0],
"Магоги": ['00000020000000000000000008000000040000000001C0',16,27,24,22,34,13,6,12,0,24],
"Мастера копья": ['00000000000004000008000000000000040000000001C0',17,24,24,22,33,12,6,11,0,4],
"Мастера лука": ['00000080000000000000020000000000040000000001C0',42,25,24,25,38,14,6,12,0,16],
"Мегеры": ['00000200000040000000000000000000000020000001C0',49,25,24,24,36,24,8,17,0,0],
"Медведи": ['00040000000000000000000000000000000010000101C0',22,28,26,23,35,22,6,12,0,0],
"Метатели копья": ['00000000000004000000000000000000040000000001C0',11,24,24,21,32,10,6,11,0,2],
"Минотавры": ['00000000000000000000000000000000000000004001C0',39,25,22,24,37,31,6,10,0,0],
"Минотавры-стражи": ['00000040000000000000000000000000000000004001C0',56,25,22,24,37,35,6,10,0,0],
"Минотавры-надсмотрщики": ['00800000000000000000000000000000000000000001C0',56,26,25,25,38,40,6,11,0,0],
"Могильные големы": ['28040000000000000028000000000000240000000001C0',400,30,50,50,70,400,6,12,0,2],
"Монахи": ['00000000000000000008000000000000040000000001C0',101,22,22,29,32,54,6,12,0,7],
"Морские дьяволы": ['20040000000000000000000000000000000000000001C2',300,34,29,40,60,190,6,13,0,0],
"Морские черти": ['00040000000000000000000000000008000000000001C0',120,23,23,21,39,90,6,11,0,0],
"Мумии": ['00000000000001800020000000000000000000000001C0',115,28,29,20,30,50,6,18,38,0],
"Мумии фараонов": ['00000000000001800020000000000000000000000001C0',135,20,20,25,35,70,6,19,54,0],
"Мятежники": ['40000000000000000001000000000000000000000001C0',10,23,22,21,33,7,6,10,0,0],
"Наездники на волках": ['00040040000000000000000000000000000000000001C0',20,25,21,22,33,10,6,13,0,0],
"Наездники на гиенах": ['00040000000000000000080000000000000000000001C0',31,28,24,24,35,13,6,13,0,0],
"Наездники на кабанах": ['00040000080000000000000000000000000000000001C0',31,26,25,24,36,14,7,12,0,0],
"Наездники на медведях": ['00040000000000000000000000000000000000000101C0',24,25,20,24,35,25,6,12,0,0],
"Наездники на ящерах": ['00040000000000000000000000000000000002000001C0',65,29,27,27,32,40,6,13,0,0],
"Налётчики на волках": ['00040000000000000000000000000000000800000001C0',31,27,23,22,33,12,6,13,0,0],
"Нимфы": ['00000200000000040000000000000400000100000001C0',20,22,21,22,33,6,7,17,0,0],
"Обсидиановые горгульи": ['00000000000190040000000000000000000000000501C0',26,23,25,21,32,20,7,12,0,0],
"Огненные гончие": ['00000220000000000000800000000000000000800001C0',36,24,23,23,35,15,8,16,0,0],
"Огненные демоны": ['00004020000000000000000000000000000000000101C0',23,23,24,22,33,13,6,10,0,0],
"Огненные драконы": ['00040000000080000000C00000000000000000000401C0',255,25,35,40,50,230,6,11,0,0],
"Огненные птицы": ['80040000000080040000000000000000000000000001C0',117,22,22,22,36,65,8,14,0,0],
"Огненные элементали": ['00000000000080000000400000000000040000000401C0',60,20,25,21,30,43,6,10,0,50],
"Огры": ['00000000000000000000004000000000000000000101C0',60,20,25,25,30,50,6,10,0,0],
"Огры-ветераны": ['00000000000004000000004000000000000000000101C0',75,22,25,25,30,70,6,11,0,0],
"Огры-маги": ['00000000000000800000004000000000000000000101C0',74,21,26,25,32,65,6,10,14,0],
"Огры-шаманы": ['00000000000000800000004000000000000000000101C0',74,22,25,27,32,55,6,11,12,0],
"Ополченцы": ['00000000000000000001000000000000000000000001C0',7,21,21,21,32,6,6,10,0,0],
"Орки": ['00000008000000000008000000000000040000000001C0',29,26,21,23,34,12,6,13,0,6],
"Орки-вожди": ['00000008000000000008020000000000040000000001C0',38,29,24,24,36,18,6,13,0,8],
"Орки-тираны": ['00000048000000000008000000000000040000000001C0',38,20,23,23,35,20,6,12,0,10],
"Орки-шаманы": ['00000008000000800008000000000000040000000001C0',33,26,23,23,34,13,6,13,14,6],
"Паладины": ['00041000000800000000000000002000000000000001C0',262,24,24,20,30,100,7,14,0,0],
"Палачи": ['08008000000000200000000000000000000000004001C0',83,24,20,28,32,40,7,14,0,0],
"Пауки": ['00000000000000000000000080000000000000000001C0',15,24,24,23,35,9,6,13,0,0],
"Пехотинцы": ['00020000000000000001000000000000000000000101C0',17,24,28,22,34,16,6,10,0,0],
"Пещерные владыки": ['00040020000000800000000000008000000000000001C0',195,22,21,23,31,120,6,10,24,0],
"Пещерные гидры": ['00040200000000000000000000004000000000200101C0',115,25,25,29,34,125,6,10,0,0],
"Пещерные демоны": ['00040020000000800000000000000000000000000001C0',157,21,21,23,36,110,6,10,12,0],
"Пещерные отродья": ['00040020000000000000000000000000200080000001C0',165,27,23,23,31,140,6,11,0,0],
"Привидения": ['00200000000000040020000000000000000000000001C0',26,24,24,23,37,8,6,12,0,0],
"Призраки": ['00200000000000040020008000000000000000000001C0',27,24,24,24,36,19,6,12,0,0],
"Призрачные драконы": ['00040000000000040220000000000040000000000001C0',310,30,28,25,35,160,7,13,0,0],
"Принцессы ракшас": ['00040200000000000000000000000000000000000001C0',155,25,20,25,33,120,6,11,0,0],
"Проворные наездники": ['00040000000000000000000001000000000000040001C0',94,22,29,27,32,60,7,14,0,0],
"Проклятые бегемоты": ['08040000020000000000000000000000000000000001C0',400,33,26,35,50,250,6,11,0,0],
"Проклятые горгульи": ['00010000000004040000000000000000000000000401C0',25,23,27,23,37,35,7,16,0,0],
"Птицы грома": ['00040000000000040000000010000000000008000001C0',115,20,20,21,35,65,9,14,0,0],
"Птицы тьмы": ['00040000000000040000000002000000000000000001C0',120,26,20,21,35,60,8,18,0,0],
"Раджи ракшас": ['00040200000000000100000000000000000000000001C0',160,25,20,23,30,140,6,10,0,0],
"Рогатые демоны": ['00000020000000000000000000000000000000000101C0',14,21,23,21,32,13,6,10,0,0],
"Рогатые жнецы": ['00000028000000800000000000000000000000000001C0',200,33,22,22,33,99,6,12,5,0],
"Роки": ['00040000000000040000000010000000000000000001C0',104,26,28,21,35,55,8,14,0,0],
"Рыцари": ['00040000000000000000000000002000000000000001C0',232,23,21,20,30,90,7,13,0,0],
"Рыцари смерти": ['00040000000000000220000000000020000000000001C0',190,26,26,28,38,100,8,12,0,0],
"Рыцари тьмы": ['00040000000000000220000000000000000000000001C0',160,23,23,25,35,90,7,12,0,0],
"Светлые единороги": ['00040000000000000000040000000000000000000011C0',135,25,25,29,34,80,7,14,0,0],
"Свирепые бегемоты": ['00040000020000000000000000000000000000100001C0',410,35,25,35,45,280,6,11,0,0],
"Свободные циклопы": ['00048000000000000800000004000001000000001001C0',700,30,27,45,57,225,6,11,0,0],
"Сирены": ['00000000004000800000000000000000000000000001C0',60,20,27,25,38,20,6,14,18,0],
"Сирены-искусительницы": ['00000000004000800000000000000000000000000001C0',70,20,28,26,39,24,6,14,22,0],
"Скелеты": ['00000000000000000020000000000000000000000001C0',6,21,22,21,31,4,6,12,0,0],
"Скелеты-арбалетчики": ['00000000000000000020000000000000041000000001C0',12,22,23,21,33,6,6,10,0,10],
"Скелеты-воины": ['00020000400000000021000000000000800000000001C0',10,22,26,21,33,5,6,12,0,0],
"Скелеты-лучники": ['00000000000000000020000000000000040000000001C0',10,21,22,21,32,4,6,12,0,8],
"Стальные големы": ['00400000000400000400000000000000100000000001C0',54,26,26,25,37,24,6,10,0,0],
"Старейшины рун": ['00000000200080800000000020000000040000000001C0',100,20,29,24,38,70,6,11,30,5],
"Старшие гремлины": ['00000000000000000000000000800000040000000001C0',9,23,22,21,32,6,6,13,0,7],
"Старшие демоны": ['00000020000000000000000000010000000000000101C0',20,23,21,21,34,13,6,11,0,0],
"Старшие друиды": ['00000000000000800000000000000000040000000025C0',101,22,28,20,34,34,6,12,18,7],
"Степные бойцы": ['00008000000000000000000000000000000000000901C0',23,26,24,24,36,12,6,13,0,0],
"Степные воины": ['00008000000000000000000000000000000000000101C0',21,25,22,22,35,12,6,12,0,0],
"Степные волки": ['40000000000000000000000000000000000000000001C0',20,25,23,23,35,25,6,17,0,0],
"Степные гоблины": ['00008000000000000000000000400000000400000001C0',5,21,21,21,31,3,6,14,0,0],
"Степные циклопы": ['00048000000000000000000004000000000000000001C0',390,29,27,40,52,220,6,11,0,0],
"Стихийные горгульи": ['07000000000000040000000000000000000000000501C0',25,24,24,22,33,16,7,13,0,0],
"Стрелки": ['00000000000000000000000000000000060000000001C0',16,25,24,22,38,8,6,10,0,10],
"Стрелки-наёмники": ['00000000000000000000000000000000060000000101C0',15,25,22,22,35,8,6,13,0,12],
"Суккубы": ['00000020000000000000002000000000040000000001C0',61,26,26,26,33,20,6,12,0,6],
"Сумеречные ведьмы": ['00000000000000800000000000000000040000000001C0',157,28,28,27,34,80,6,12,13,4],
"Сумеречные драконы": ['00040000000000040000800000000000000000000001C0',350,25,24,45,70,200,9,12,0,0],
"Танцующие с ветром": ['00000000000000020000000000000000000000000001C0',33,26,26,24,36,14,7,18,0,0],
"Танцующие с клинками": ['00000000000000000000000000000000000000000001C0',20,23,22,22,35,12,6,13,0,0],
"Танцующие со смертью": ['00080000000000000000000000000000000000000001C0',33,24,23,23,35,12,6,18,0,0],
"Таны": ['00040000000100000000000000000000004040000001C0',131,25,25,28,32,100,8,13,0,0],
"Тёмные виверны": ['00040002000000040000000000004000000000000001C0',195,21,28,20,37,105,7,12,0,0],
"Тёмные всадники": ['00040000000000000000000000000000000002040001C0',94,20,29,27,34,50,7,13,0,0],
"Тёмные гидры": ['00040200000000000000000000000000000000200101D0',115,25,24,29,32,125,6,10,0,0],
"Титаны": ['00040000104000000008000000000000040000000001C0',400,30,30,40,70,190,6,12,0,5],
"Титаны шторма": ['00040000004000000008000000080000040000000001C0',400,30,30,40,70,190,6,12,0,5],
"Тролли": ['00060008000000000000000000000000000000000001C0',150,23,21,26,34,150,6,12,0,0],
"Убийцы": ['00008000000000200000000000000000000000000001C0',70,21,28,27,30,34,6,13,0,0],
"Умертвия": ['00040000000000000020000000000000000000000001C0',165,24,22,21,35,95,6,13,0,0],
"Феи": ['00000200000000040000000000000000000100000001C0',12,21,21,21,32,5,7,14,0,0],
"Фениксы": ['00040800000080040000400000000000000000000401C0',600,33,33,30,50,777,7,18,0,0],
"Фурии": ['00000200000000000000000000000000000020000001C0',49,25,23,25,37,16,8,19,0,0],
"Хобгоблины": ['00000000000000000000000000000000000000000001C0',9,24,23,22,32,4,6,12,0,0],
"Хозяева медведей": ['00050000000000000000000000000000000010000101C0',36,26,24,25,36,30,7,13,0,0],
"Хозяйки ночи": ['00000000000000800000000000000000000000400001E0',185,20,20,20,30,100,6,13,17,0],
"Церберы": ['00000220000000000000000000000000000000800001C0',41,24,22,24,36,15,8,16,0,0],
"Циклопы": ['00000000000000000000000000000000040000000001C0',172,20,25,28,36,85,6,12,0,6],
"Циклопы-генералы": ['00000000000000000002000000000000040000000001C0',187,25,27,20,36,100,6,12,0,10],
"Циклопы-короли": ['00000000000000000000100000000000040000000001C0',182,23,28,29,38,95,6,12,0,8],
"Циклопы-шаманы": ['00000000000000800000000000000000040000000001C0',190,24,28,20,37,105,6,12,19,10],
"Чародеи-наёмники": ['00000000000000800000000000000000040000000001C0',35,29,28,25,30,36,6,13,22,5],
"Чемпионы": ['00040000000000000000000000002000000200000001C0',252,24,20,20,35,100,8,14,0,0],
"Черные тролли": ['00060008000000000000000000000000800000000001C0',180,27,25,20,37,180,6,12,0,0],
"Черти": ['00000020000000100000000000000000000000000001C0',10,23,22,22,33,6,6,16,0,0],
"Чёрные драконы": ['00040000000000040080800000000000000000000001C0',400,30,30,45,70,240,9,12,0,0],
"Чумные зомби": ['00000000000000000020080000000000000000000101C0',15,22,22,22,33,17,6,10,0,0],
"Шаманки": ['00008000000000800000000000000000000000000001C0',66,25,25,26,39,30,6,13,10,0],
"Штурмовые грифоны": ['00540100000020040000000000000000000000000001C0',62,27,22,26,32,52,7,12,0,0],
"Эльфийские лучники": ['00000080000000000000000000000000040000000001C0',38,24,21,24,37,10,6,12,0,12],
"Энты": ['00040000000000000000200000000000000000000101C0',187,29,27,27,37,175,6,10,0,0],
"Ядовитые пауки": ['00000000000000000000000480000000000000000001C0',30,25,25,23,35,11,6,14,0,0]
};
var monstr_skills = {
0 : ["fireattack",ustring("Атака огнем")],
1 : ["packhunter",ustring("Атака стаей")],
2 : ["fearattack",ustring("Атака страхом")],
3 : ["auraofres",ustring("Аура магического сопротивления")],
4 : ["frightful_aura",ustring("Аура страха")],
5 : ["auraofwatervul",ustring("Аура уязвимости к воде")],
6 : ["auraofairvul",ustring("Аура уязвимости к воздуху")],
7 : ["auraoffirevul",ustring("Аура уязвимости к огню")],
8 : ["auraofbravery",ustring("Аура храбрости")],
9 : ["uretalation",ustring("Бесконечный отпор")],
10 : ["incorporeal",ustring("Бестелесное существо")],
11 : ["battlefrenzy",ustring("Боевые рефлексы")],
12 : ["dancecombo",ustring("Боевое па")],
13 : ["big",ustring("Большое существо")],
14 : ["lshield",ustring("Большой щит")],
15 : ["armoured",ustring("Броня")],
16 : ["ragingblood",ustring("Бурлящая кровь")],
17 : ["explosion",ustring("Взрыв")],
18 : ["whirlwind",ustring("Вихрь")],
19 : ["layhands",ustring("Возложение рук")],
20 : ["rebirth",ustring("Возрождение")],
21 : ["resurrection",ustring("Воскрешение")],
22 : ["noretalation",ustring("Враг не сопротивляется")],
23 : ["rushdave",ustring("Губительное пике")],
24 : ["doubleshoot",ustring("Двойной выстрел")],
25 : ["doublestrike",ustring("Двойной удар")],
26 : ["demonic",ustring("Демоническое существо")],
27 : ["spirit",ustring("Дух")],
28 : ["bloodlust",ustring("Жажда крови")],
29 : ["sacrificegoblin",ustring("Жертвоприношение гоблинами")],
30 : ["venom",ustring("Животный яд")],
31 : ["taunt",ustring("Задира")],
32 : ["enchantedarmor",ustring("Зачарованный доспех")],
33 : ["shieldother",ustring("Защита союзников")],
34 : ["markoffire",ustring("Знак огня")],
35 : ["calllightning",ustring("Зов молний")],
36 : ["ignoredefence20",ustring("Игнорирование защиты 20%")],
37 : ["ignoredefence30",ustring("Игнорирование защиты 30%")],
38 : ["ignoredefence40",ustring("Игнорирование защиты 40%")],
39 : ["ignoredefence50",ustring("Игнорирование защиты 50%")],
40 : ["ignoredefence60",ustring("Игнорирование защиты 60%")],
41 : ["imind",ustring("Иммунитет к влиянию на разум")],
42 : ["iair",ustring("Иммунитет к воздуху")],
43 : ["immunetohypnos",ustring("Иммунитет к гипнозам")],
44 : ["ifrenzy",ustring("Иммунитет к заклинанию Берсерк")],
45 : ["islow",ustring("Иммунитет к замедлению")],
46 : ["iearth",ustring("Иммунитет к магии земли")],
47 : ["ilighting",ustring("Иммунитет к молниям")],
48 : ["ifire",ustring("Иммунитет к огню")],
49 : ["immunetoweakness",ustring("Иммунитет к ослаблению")],
50 : ["iblind",ustring("Иммунитет к ослеплению")],
51 : ["icold",ustring("Иммунитет к холоду")],
52 : ["searingaura",ustring("Иссушающая аура")],
53 : ["cripplingwound",ustring("Калечащее ранение")],
54 : ["acid_breath",ustring("Кислотное дыхание")],
55 : ["hexingattack",ustring("Колдовской удар")],
56 : ["caster",ustring("Колдун")],
57 : ["wheeloffortune",ustring("Колесо удачи")],
58 : ["cleave",ustring("Колун")],
59 : ["manastealer",ustring("Крадущий ману")],
60 : ["stealammunition",ustring("Кража боеприпасов")],
61 : ["flyer",ustring("Летающее существо")],
62 : ["agility",ustring("Ловкость")],
63 : ["magicmine",ustring("Магическая ловушка")],
64 : ["magicattack",ustring("Магический выстрел")],
65 : ["magmashield",ustring("Магма щит")],
66 : ["magnetism",ustring("Магнетизм")],
67 : ["maneuver",ustring("Маневрирование")],
68 : ["goblinthrower",ustring("Метание гоблинов")],
69 : ["mechanical",ustring("Механизм")],
70 : ["cursingattack",ustring("Наложение проклятия")],
71 : ["dash",ustring("Натиск")],
72 : ["immunity",ustring("Невосприимчивость магии")],
73 : ["stormbolt",ustring("Нежданная буря")],
74 : ["undead",ustring("Нежить")],
75 : ["fireproof50",ustring("Непробиваемость огнем 50%")],
76 : ["nopenalty",ustring("Нет штрафов в ближнем бою")],
77 : ["holdground",ustring("Ни шагу назад")],
78 : ["shootbash",ustring("Оглушающий выстрел")],
79 : ["shieldbash",ustring("Оглушающий удар")],
80 : ["fire_breath",ustring("Огненное дыхание")],
81 : ["fireshield",ustring("Огненный щит")],
82 : ["entroots",ustring("Оплетающие корни")],
83 : ["siegewalls",ustring("Осада стен")],
84 : ["weakeningstrike",ustring("Ослабляющий удар")],
85 : ["blinding_attack",ustring("Ослепление")],
86 : ["wardingarrows",ustring("Останавливающий выстрел")],
87 : ["lifedrain",ustring("Осушение")],
88 : ["manadrain",ustring("Осушение маны")],
89 : ["powerstrike",ustring("Отбрасывающий удар")],
90 : ["rangedretaliation",ustring("Ответный выстрел")],
91 : ["siphonmana",ustring("Откачивание маны")],
92 : ["festeringaura",ustring("Отравляющая аура")],
93 : ["poisonattack",ustring("Отравляющий удар")],
94 : ["torpor",ustring("Оцепенение")],
95 : ["purge",ustring("Очищение")],
96 : ["spider",ustring("Паутина")],
97 : ["manafeed",ustring("Передача маны")],
98 : ["crossfire",ustring("Перекрестная атака")],
99 : ["carrier",ustring("Переносчик")],
100 : ["pyromancer",ustring("Пиромант")],
101 : ["swallowgoblin",ustring("Пожирание гоблинов")],
102 : ["darkattack",ustring("Покров тьмы")],
103 : ["wheelingattack",ustring("Попутная атака")],
104 : ["repair",ustring("Починка")],
105 : ["treachery",ustring("Предательство")],
106 : ["dampenmagic",ustring("Приглушение магии")],
107 : ["summonpitlords",ustring("Призыв пещерных владык")],
108 : ["stormcaller",ustring("Призывающий бурю")],
109 : ["orderofchief",ustring("Приказ вожака")],
110 : ["commandingpresence",ustring("Присутствие командира")],
111 : ["leap",ustring("Прыжок")],
112 : ["vorpalsword",ustring("Разящий меч")],
113 : ["regeneration",ustring("Регенерация")],
114 : ["jousting",ustring("Рыцарский разбег")],
115 : ["fierceretaliation",ustring("Свирепое возмездие")],
116 : ["evileye",ustring("Сглаз")],
117 : ["symbiosis",ustring("Симбиоз")],
118 : ["deathwail",ustring("Скорбный вопль")],
119 : ["randomcasterd",ustring("Случайное заклинание тьмы")],
120 : ["random_blessing",ustring("Случайное заклинание тьмы и света")],
121 : ["deathstare",ustring("Смертальный взгляд")],
122 : ["deathattack",ustring("Смертельная атака")],
123 : ["harmtouch",ustring("Смертельная хватка")],
124 : ["deathstrike",ustring("Смертельный удар")],
125 : ["deathcloud",ustring("Смертоносное облако")],
126 : ["seduction",ustring("Соблазнение")],
127 : ["crushblow",ustring("Сокрушающий удар")],
128 : ["magicproof25",ustring("Сопротивление магии 25%")],
129 : ["magicproof40",ustring("Сопротивление магии 40%")],
130 : ["magicproof50",ustring("Сопротивление магии 50%")],
131 : ["magicproof75",ustring("Сопротивление магии 75%")],
132 : ["shieldwall",ustring("Стена из щитов")],
133 : ["shooter",ustring("Стрелок")],
134 : ["norangepenalty",ustring("Стрельба без штрафов")],
135 : ["scattershot",ustring("Стрельба навесом")],
136 : ["swiftattack",ustring("Стремительная атака")],
137 : ["teleport",ustring("Телепортация")],
138 : ["teleportother",ustring("Телепортация других")],
139 : ["preciseshot",ustring("Точный выстрел")],
140 : ["triplestrike",ustring("Тройной удар")],
141 : ["cowardice",ustring("Трусость")],
142 : ["championcharge",ustring("Турнирный удар")],
143 : ["spray",ustring("Убийственные брызги")],
144 : ["bladeofslaughter",ustring("Убойный клинок")],
145 : ["stormstrike",ustring("Удар бури")],
146 : ["strikeandreturn",ustring("Удар и возврат")],
147 : ["pawstrike",ustring("Удар лапой")],
148 : ["lighting_attack",ustring("Удар молнией")],
149 : ["battledive",ustring("Удар с небес")],
150 : ["ridercharge",ustring("Удар с разбега")],
151 : ["sorrowstrike",ustring("Удар скорби")],
152 : ["threehead",ustring("Удар тремя головами")],
153 : ["whipstrike",ustring("Удар хлыстом")],
154 : ["six_heads",ustring("Удар шестью головами")],
155 : ["ferociouswound",ustring("Ужасная рана")],
156 : ["takeroots",ustring("Укоренение")],
157 : ["lizardbite",ustring("Укус ящера")],
158 : ["manadestroyer",ustring("Уничтожитель маны")],
159 : ["forcearrow",ustring("Усиленная стрела")],
160 : ["setsnares",ustring("Установка капканов")],
161 : ["bravery",ustring("Храбрость")],
162 : ["chainshot",ustring("Цепной выстрел")],
163 : ["rangepenalty",ustring("Штраф за стрельбу")],
164 : ["assault",ustring("Штурм")],
165 : ["elemental",ustring("Элементаль")],
166 : ["energychannel",ustring("Энергетический канал")],
167 : ["enraged",ustring("Ярость")],
168 : ["berserkerrage",ustring("Ярость берсерка")],
169 : ["prismaticbreath",ustring("Призменное дыхание")],
170 : ["undeadkiller",ustring("Уничтожитель нежити")],
171 : ["childofthelight",ustring("Дитя Света")],
172 : ["rageoftheforest",ustring("Ярость леса")],
173 : ["channeling",ustring("Канал")],
174 : ["harpoonstrike",ustring("Удар гарпуном")],
175 : ["organicarmor",ustring("Живая броня")],
176 : ["perseverance",ustring("Упорство")],
177 : ["magicproof80",ustring("Сопротивление магии 80%")],
178 : ["invisibility",ustring("Невидимость")],
179 : ["acidblood",ustring("Кислотная кровь")],
180 : ["incinerate",ustring("Сжигание")],
181 : ["conferluck",ustring("Дарующий удачу")],
182 : ["Rezerv-6",ustring("Rezerv-6")],
183 : ["Rezerv-7",ustring("Rezerv-7")]
};
//****************************************************
/** Библиотека юникода
*
* Реализует функции работы с юникодом.
* @file lib_unicode.js
* @version 1.1.0
* @author DrunkenStranger
* @link http://userscripts.org/users/362572
* @license GPL
*/
function uchar(s) {
switch (s[0]) {
case "А": return "\u0410";
case "Б": return "\u0411";
case "В": return "\u0412";
case "Г": return "\u0413";
case "Д": return "\u0414";
case "Е": return "\u0415";
case "Ж": return "\u0416";
case "З": return "\u0417";
case "И": return "\u0418";
case "Й": return "\u0419";
case "К": return "\u041a";
case "Л": return "\u041b";
case "М": return "\u041c";
case "Н": return "\u041d";
case "О": return "\u041e";
case "П": return "\u041f";
case "Р": return "\u0420";
case "С": return "\u0421";
case "Т": return "\u0422";
case "У": return "\u0423";
case "Ф": return "\u0424";
case "Х": return "\u0425";
case "Ц": return "\u0426";
case "Ч": return "\u0427";
case "Ш": return "\u0428";
case "Щ": return "\u0429";
case "Ъ": return "\u042a";
case "Ы": return "\u042b";
case "Ь": return "\u042c";
case "Э": return "\u042d";
case "Ю": return "\u042e";
case "Я": return "\u042f";
case "а": return "\u0430";
case "б": return "\u0431";
case "в": return "\u0432";
case "г": return "\u0433";
case "д": return "\u0434";
case "е": return "\u0435";
case "ж": return "\u0436";
case "з": return "\u0437";
case "и": return "\u0438";
case "й": return "\u0439";
case "к": return "\u043a";
case "л": return "\u043b";
case "м": return "\u043c";
case "н": return "\u043d";
case "о": return "\u043e";
case "п": return "\u043f";
case "р": return "\u0440";
case "с": return "\u0441";
case "т": return "\u0442";
case "у": return "\u0443";
case "ф": return "\u0444";
case "х": return "\u0445";
case "ц": return "\u0446";
case "ч": return "\u0447";
case "ш": return "\u0448";
case "щ": return "\u0449";
case "ъ": return "\u044a";
case "ы": return "\u044b";
case "ь": return "\u044c";
case "э": return "\u044d";
case "ю": return "\u044e";
case "я": return "\u044f";
case "Ё": return "\u0401";
case "ё": return "\u0451";
default: return s[0];
}
}
function ustring(s) {
s = String(s);
var result = "";
for (var i = 0; i < s.length; i++) result += uchar(s[i]);
return result;
}
//****************************************************
function $uchar(s) {
switch (s[0]) {
case "\u0410": return "А";
case "\u0411": return "Б";
case "\u0412": return "В";
case "\u0413": return "Г";
case "\u0414": return "Д";
case "\u0415": return "Е";
case "\u0416": return "Ж";
case "\u0417": return "З";
case "\u0418": return "И";
case "\u0419": return "Й";
case "\u041a": return "К";
case "\u041b": return "Л";
case "\u041c": return "М";
case "\u041d": return "Н";
case "\u041e": return "О";
case "\u041f": return "П";
case "\u0420": return "Р";
case "\u0421": return "С";
case "\u0422": return "Т";
case "\u0423": return "У";
case "\u0424": return "Ф";
case "\u0425": return "Х";
case "\u0426": return "Ц";
case "\u0427": return "Ч";
case "\u0428": return "Ш";
case "\u0429": return "Щ";
case "\u042a": return "Ъ";
case "\u042b": return "Ы";
case "\u042c": return "Ь";
case "\u042d": return "Э";
case "\u042e": return "Ю";
case "\u042f": return "Я";
case "\u0430": return "а";
case "\u0431": return "б";
case "\u0432": return "в";
case "\u0433": return "г";
case "\u0434": return "д";
case "\u0435": return "е";
case "\u0436": return "ж";
case "\u0437": return "з";
case "\u0438": return "и";
case "\u0439": return "й";
case "\u043a": return "к";
case "\u043b": return "л";
case "\u043c": return "м";
case "\u043d": return "н";
case "\u043e": return "о";
case "\u043f": return "п";
case "\u0440": return "р";
case "\u0441": return "с";
case "\u0442": return "т";
case "\u0443": return "у";
case "\u0444": return "ф";
case "\u0445": return "х";
case "\u0446": return "ц";
case "\u0447": return "ч";
case "\u0448": return "ш";
case "\u0449": return "щ";
case "\u044a": return "ъ";
case "\u044b": return "ы";
case "\u044c": return "ь";
case "\u044d": return "э";
case "\u044e": return "ю";
case "\u044f": return "я";
case "\u0401": return "Ё";
case "\u0451": return "ё";
default: return s[0];
}
}
function $ustring(s) {
s = String(s);
var result = "";
for (var i = 0; i < s.length; i++) result += $uchar(s[i]);
return result;
}
//************ Начало фрагментов кода от (C) Demin с моими вставками и комментариями **********************************
function show_settings() {
if (url_cur.indexOf('mercenary_guild') == -1) return;
var x1 = document.querySelector("td > img[src*='gn_face.png']");
if (x1 == null) return;
var d = document.createElement('div');
d.setAttribute('style', 'position: absolute; margin: 3px 0px 0px 155px; text-align: center;'); //Положение кнопки, для вызова настроек
d.innerHTML = '<style> .hwm_gn * {font-size: 12px; color: #FFFF00;} .cell_gn {white-space: nowrap; height: 18px; background: #4190FF; font-weight: bold;} </style>' +
'<table class="hwm_gn" width=76px> <tr height=20>' + // Размер кнопки и фон, для вызова настроек
'<td class="cell_gn" style="cursor:pointer" id="set_gn"><font style="font-size:11px;">'+str_settings+'</font></td>' +
'</tr> </table>';
x1 = x1.parentNode.parentNode.parentNode;
x1.insertBefore(d,x1.firstChild); //Вставка куска
addEvent( $("set_gn"), "click", settings_gn ); //Привязка к куску на клик вызов функции
var ems = document.querySelectorAll("li > a[href*='auction.php']"); //Когда научусь кнопку на второй план ставить,
ems[0].innerHTML = ustring('       Рынок'); //тогда убрать эти 2 строки
//************
function settings_gn_close()
{
var bg = $('bgOverlay');
var bgc = $('bgCenter');
bg.parentNode.removeChild(bg);
bgc.parentNode.removeChild(bgc);
}
function settings_gn()
{
var bg = $('bgOverlay');
var bgc = $('bgCenter');
var bg_height = ScrollHeight();
if ( !bg )
{
bg = document.createElement('div');
document.body.appendChild( bg );
bgc = document.createElement('div');
document.body.appendChild( bgc );
}
bg.id = 'bgOverlay';
bg.style.position = 'absolute';
bg.style.left = '0px';
bg.style.width = '100%';
bg.style.background = "#000000";
bg.style.opacity = "0.5";
bg.style.zIndex = "7";
bgc.id = 'bgCenter';
bgc.style.position = 'absolute';
bgc.style.left = ( ( ClientWidth() - 580 ) / 2 ) + 'px';
bgc.style.width = '580px';
bgc.style.background = "#F6F3EA";
bgc.style.zIndex = "8";
addEvent(bg, "click", settings_gn_close);
//форма и внешний вид окно настроек
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>'+
//заголовок окна настроек
'<tr><td colspan=3><b>'+str_start+'<font style="color:#0070FF;">'+version+'</font></b><hr/></td></tr>' +
//Опыт в протоколе боев
'<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>'+
//коэфициент перекача
'<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>' +
'<tr><td colspan=3>'+str_koef_1+' <input id="set_koef" value="'+ Number(koef).toFixed(4) +
'" size="4" maxlength="6"> <input type="submit" id="set_koef_ok" value="OK"><br><hr/></td></tr>'+
//Предупреждение
'<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>'+
//заголовки столбцов
'<tr><td>'+str_skip00+'<br></td><td width="30%" align="center">'+str_skip01+'</td><td width="30%" align="center">'+str_skip02+'</td></tr>'+
//армии
'<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>  '+
'<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>'+
//набеги
'<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>  '+
'<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>'+
//монстры
'<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>  </font>'+
'<input id="set_level_monstr" value="'+level_monstr+'" size="1" maxlength="2"><input type="submit" id="set_level_monstr_ok" value="OK"></td>'+
'<td width="30%" align="center" title="'+str_title_3+'"><font style="color:#0070FF;"><b id=lim_exp_monstr>'+limit_exp_monstr+'</b>  </font>'+
'<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>'+
//заговорщики
'<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>  '+
'<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>'+
//захватчики
'<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>  '+
'<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>'+
//отряды
'<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>  '+
'<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>'+
//разбойники(охрана каравана)
'<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>  '+
'<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>'+
//ссылка на сайт скрипта
'<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>'; //концовка
//назначение вызова функция при событиях кнопок и чекбоксов
addEvent($("bt_close_tr"), "click", settings_gn_close); //крестик в углу
addEvent($("set_skip_army"), "click", change_skip_army); //чек-бокс
addEvent($("set_skip_raids"), "click", change_skip_raids); //чек-бокс
addEvent($("set_skip_monstr"), "click", change_skip_monstr); //чек-бокс
addEvent($("set_skip_conspir"), "click", change_skip_conspir); //чек-бокс
addEvent($("set_skip_invader"), "click", change_skip_invader); //чек-бокс
addEvent($("set_skip_otryad"), "click", change_skip_otryad); //чек-бокс
addEvent($("set_skip_convoy"), "click", change_skip_convoy); //чек-бокс
addEvent($("set_show_exp"), "click", change_show_exp); //чек-бокс
addEvent($("set_koef_ok"), "click", change_koef); //поле ввода
addEvent($("set_level_army_ok"), "click", change_level_army); //поле ввода
addEvent($("set_level_raids_ok"), "click", change_level_raids); //поле ввода
addEvent($("set_level_monstr_ok"), "click", change_level_monstr); //поле ввода
addEvent($("set_level_conspir_ok"), "click", change_level_conspir); //поле ввода
addEvent($("set_level_invader_ok"), "click", change_level_invader); //поле ввода
addEvent($("set_level_otryad_ok"), "click", change_level_otryad); //поле ввода
addEvent($("set_level_convoy_ok"), "click", change_level_convoy); //поле ввода
addEvent($("set_limit_exp_monstr_ok"), "click", change_limit_exp_monstr);//поле ввода
bg.style.top = '0px';
bg.style.height = bg_height + 'px';
bgc.style.top = ( window.pageYOffset + 155 ) + 'px';
bg.style.display = '';
bgc.style.display = '';
}
//********* обработчики полей ввода *******
function change_koef()
{
if ( Number( $("set_koef").value ) >= 1 ) koef = $("set_koef").value; else koef = Number(1.0);
document.getElementById('k_p').innerHTML = Number(koef).toFixed(4);
GM_setValue("hwm_koef_dop_exp", koef);
}
function change_level_army()
{
if ( Number( $("set_level_army").value ) >= 0 ) level_army = Number($("set_level_army").value).toFixed(0); else level_army = 0;
document.getElementById('lvl_army').innerHTML = Number(level_army).toFixed(0);
GM_setValue("hwm_level_army", level_army);
}
function change_level_raids()
{
if ( Number( $("set_level_raids").value ) >= 0 ) level_raids = Number($("set_level_raids").value).toFixed(0); else level_raids = 0;
document.getElementById('lvl_raids').innerHTML = Number(level_raids).toFixed(0);
GM_setValue("hwm_level_raids", level_raids);
}
function change_level_monstr()
{
if ( Number( $("set_level_monstr").value ) >= 0 ) level_monstr = Number($("set_level_monstr").value).toFixed(0); else level_monstr = 0;
document.getElementById('lvl_monstr').innerHTML = Number(level_monstr).toFixed(0);
GM_setValue("hwm_level_monstr", level_monstr);
}
function change_level_conspir()
{
if ( Number( $("set_level_conspir").value ) >= 0 ) level_conspir = Number($("set_level_conspir").value).toFixed(0); else level_conspir = 0;
document.getElementById('lvl_conspir').innerHTML = Number(level_conspir).toFixed(0);
GM_setValue("hwm_level_conspir", level_conspir);
}
function change_level_invader()
{
if ( Number( $("set_level_invader").value ) >= 0 ) level_invader = Number($("set_level_invader").value).toFixed(0); else level_invader = 0;
document.getElementById('lvl_invader').innerHTML = Number(level_invader).toFixed(0);
GM_setValue("hwm_level_invader", level_invader);
}
function change_level_otryad()
{
if ( Number( $("set_level_otryad").value ) >= 0 ) level_otryad = Number($("set_level_otryad").value).toFixed(0); else level_otryad = 0;
document.getElementById('lvl_otryad').innerHTML = Number(level_otryad).toFixed(0);
GM_setValue("hwm_level_otryad", level_otryad);
}
function change_level_convoy()
{
if ( Number( $("set_level_convoy").value ) >= 0 ) level_convoy = Number($("set_level_convoy").value).toFixed(0); else level_convoy = 0;
document.getElementById('lvl_convoy').innerHTML = Number(level_convoy).toFixed(0);
GM_setValue("hwm_level_convoy", level_convoy);
}
function change_limit_exp_monstr()
{
if ( Number( $("set_limit_exp_monstr").value ) >= 0 ) limit_exp_monstr = Number($("set_limit_exp_monstr").value).toFixed(0); else limit_exp_monstr = 0;
document.getElementById('lim_exp_monstr').innerHTML = Number(limit_exp_monstr).toFixed(0);
GM_setValue("hwm_limit_exp_monstr", limit_exp_monstr);
}
//*********** обработчики чек-боксов *****
function change_show_exp() {GM_setValue("hwm_show_exp_on_warlog", show_exp_on_warlog = !show_exp_on_warlog);}
function change_skip_army() {GM_setValue("hwm_skip_army", skip_army = !skip_army);}
function change_skip_raids() {GM_setValue("hwm_skip_raids", skip_raids = !skip_raids);}
function change_skip_monstr() {GM_setValue("hwm_skip_monstr", skip_monstr = !skip_monstr);}
function change_skip_conspir() {GM_setValue("hwm_skip_conspir", skip_conspir = !skip_conspir);}
function change_skip_invader() {GM_setValue("hwm_skip_invader", skip_invader = !skip_invader);}
function change_skip_otryad() {GM_setValue("hwm_skip_otryad", skip_otryad = !skip_otryad);}
function change_skip_convoy() {GM_setValue("hwm_skip_convoy", skip_convoy = !skip_convoy);}
//********** непонятно что, взято 1:1 у Demin ******
function $(id) { return document.querySelector("#"+id); }
function addEvent(elem, evType, fn) {
if (elem.addEventListener) elem.addEventListener(evType, fn, false);
else if (elem.attachEvent) elem.attachEvent("on" + evType, fn);
else elem["on" + evType] = fn;
}
//function ClientHeight() {return document.compatMode=='CSS1Compat' && document.documentElement?document.documentElement.clientHeight:document.body.clientHeight;} //Не использую
function ClientWidth() {return document.compatMode=='CSS1Compat' && document.documentElement?document.documentElement.clientWidth:document.body.clientWidth;}
function ScrollHeight() {return Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);}
}
//************ Конец фрагментов кода от (C) Demin **********************************
//*************** Извлечение умений ********************************
function get_skills(str_sk) {
var hex2bin = {
0: "0000",
1: "0001",
2: "0010",
3: "0011",
4: "0100",
5: "0101",
6: "0110",
7: "0111",
8: "1000",
9: "1001",
A: "1010",
B: "1011",
C: "1100",
D: "1101",
E: "1110",
F: "1111"
};
var sk_arr = new Array(2);
var str_full_skills = str_skills;
var i, pos = 0, n = 0;
var bit_str_sk = "";
for (i=0; i<str_sk.length;i++) bit_str_sk +=hex2bin[str_sk[i]];
while (bit_str_sk.indexOf("1",pos) != -1) {
pos = bit_str_sk.indexOf("1",pos);
sk_arr = monstr_skills[pos];
if (n>0) str_full_skills +=', ';
str_full_skills += '<a href="' + str_url_hlp + sk_arr[0] + '"><font size="1">'+sk_arr[1]+'</font></a>';
pos++;
n++;
}
return str_full_skills;
}
//*************** Расчет опыта будет только здесь ********************************
function get_exp(go_exp, go_hp, level) {
var expiriens = new Array(2);
var n375, monstr_0_exp, mostr_0_hp, Kexp;
mostr_0_hp = (go_hp<50) ? ((go_hp % 10) + 50) * 36 : go_hp * 36; //кол-во HP монстра 0-уровня
Kexp = Math.round(mostr_0_hp / go_hp / 5 + 1); //Множитель опыта монстра 0-уровня
monstr_0_exp = go_exp * Kexp; //кол-во Exp монстра 0-уровня
n375 = Math.floor((level*2+1)/5); //кол-во уровней где добавляют 0.375*HP, а не 0.5*HP
expiriens[0] = Math.round(monstr_0_exp / 10 * koef * new_exp_koef * (+level + 2)); //кол-во опыта непонятной зависимости
if (go_hp<=6) expiriens[1] = Math.round(monstr_0_exp / 10 * koef * new_exp_koef * (+level + 2 - n375*2/Kexp));//кол-во опыта если HP<=6
else expiriens[1] = Math.round(monstr_0_exp / 10 * koef * new_exp_koef * (+level + 2 - n375/4 )); //кол-во опыта HP>=50
return expiriens;
// для HP==45 : Каждый 2 и 5 (из 5) уровень ExpM += ExpGO, остальные ExpM += 4/5 * ExpGO;
// для HP>=50 : Каждый 2 и 5 (из 5) уровень ExpM += 3/4*ExpGO, остальные ExpM += ExpGO; ?
}
//****************************************************
function show_param_monstr(n_zad,level,name_monstr) {
var elem, elem0, param_0_monster, str_man, str_skills;
var pos, base_ini, ini_monstr, base_mana, mana_monstr, hp_monstr; //числовые переменные
var expir = new Array(2);
var add_str ='';
var ins_br = document.createElement('br');
if (n_zad == 0) {
var ins_data = document.createElement('td');
var ins_end = '<BR><BR id=end_first_monstr>';
ins_data.setAttribute('width','240');
ins_data.setAttribute('style','vertical-align: top');
} else {
var ins_data = document.createElement('div');
var ins_end = '';
}
for (var k = 0; k < all_tables.length; k++) {
if (all_tables[k].className == "wbwhite") {
elem0 = all_tables[k].childNodes[0].childNodes[0];
// ******************** Начали ********************
// ******************** проверка наличия данных по монстру ********************
if (monstr_rus_data[$ustring(name_monstr)] == null) { //Если такого монстра в базе нет - сообщить юзеру
ins_data.innerHTML = '<font style="font-size:11px;">'+name_monstr+key_monstr+'{'+level+'}</font>'+
'<br><font style="color:#FF2020;"><b>'+str_no_found+'</b></font>';
elem0.appendChild(ins_data);
break;
}
param_0_monster = monstr_rus_data[$ustring(name_monstr)]; //считывает параметры монстра 0 уровня
// ******************** Извлечение умений ********************
str_skills = get_skills(param_0_monster[0]);
// ******************** Расчет опыта ********************
if (param_0_monster[1] == '1') { //Если данные на монстра не заполнены - сообщить юзеру
add_str = str_pusto;
} else {
expir = get_exp (param_0_monster[1],param_0_monster[6],level);
if ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (level == 0))
add_str += expir[1]; //Альтернативная понятная прогрессия опыта
else add_str += Math.round(expir[1]*0.95)+'...'+expir[0]; //Линейная непонятная прогрессия опыта
}
// ******************** расчет HP ********************
hp_monstr = param_0_monster[6];
if (hp_monstr<50) hp_monstr = (hp_monstr % 10) + 50;
hp_monstr *= 36 * (level / 2 + 1);
// ******************** расчет инициативы ********************
base_ini = Math.round(param_0_monster[8]*5/6); //Базовая ини для масштабирования (монстры>0ур)
if (level > 1) ini_monstr = base_ini*3/2; //Для монстров{2+} ини на 50% больше базовой
else if (level) ini_monstr = base_ini + Math.round(base_ini*2/5)*level; //Для монстров{1} ини на 40% больше базовой
else ini_monstr = param_0_monster[8]; //Для монстров{0} ини на 25% больше базовой
// ******************** расчет маны/кастов ********************
if (param_0_monster[9] < 0) { //Для джинов будет писать кол-во кастов
mana_monstr = (param_0_monster[9] == -1) ? 4+Math.floor(level*3/5) : 3; //Для визирей 3, для остальных по формуле
str_man = str_mana2;
} else { //Для колдунов будет писать кол-во маны
base_mana = Math.round(param_0_monster[9]*5/6); //Базовая мана для масштабирования
mana_monstr = Math.round(base_mana*(+level+6)/5); //Расчет маны для текущего уровня монстра
str_man = str_mana1;
}
// ********** Вставляем данные на страницу ***********************
ins_data.innerHTML = '<tr><font style="font-size:11px;"><center><b>'+name_monstr+key_monstr+'</b>{'+level+'}</center></font>'+
'<font style="font-size:12px;" face="Courier new">'+
' <font style="color:#0070FF;">'+str_exp+'</font> <font style="color:#FF2020;"><b>' +add_str+'</b></font>'+
'<br><font style="color:#0070FF;">'+str_atk+'</font> <font style="color:#FF2020;">' +(param_0_monster[2]+level*7)+'</font>'+
'<br><font style="color:#0070FF;">'+str_def+'</font> <font style="color:#FF2020;">' +(param_0_monster[3]+level*7)+'</font>'+
'<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>'+
'<br><font style="color:#0070FF;">'+str_hp +'</font> <font style="color:#FF2020;"><b>' +hp_monstr+'</b></font>'+
'<br><font style="color:#0070FF;">'+str_spd+'</font> <font style="color:#FF2020;">' +(param_0_monster[7]+Math.ceil(level/4))+'</font>'+
'<br><font style="color:#0070FF;">'+str_ini+'</font> <font style="color:#FF2020;">' +ini_monstr+'</font>'+
'<br><font style="color:#0070FF;">'+str_vys+'</font> <font style="color:#FF2020;">' +param_0_monster[10]+'</font>'+
'<br><font style="color:#0070FF;">'+str_man+'</font> <font style="color:#FF2020;">' +mana_monstr+'</font>'+
'<br><font style="color:#0070FF;">'+str_skills+'</font>'+
'</font>'+ins_end+
'</tr>';
// ********** Если монстров в место справа от задания ***********************'
if (n_zad == 0) {
// elem0.appendChild(ins_data); //Первого монстра ставим сверху
elem0.appendChild(ins_data); //Первого монстра ставим сверху
need_move_up = true;
} else {
if (document.getElementById('end_first_monstr') == null) {
var shift_down = document.createElement('td');
shift_down.setAttribute('width','240');
shift_down.innerHTML = '<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR id=end_first_monstr>';
elem0.appendChild(shift_down); //Если первое задание не монстр, то вставляем на его место пустые строки
need_move_up = true;
}
elem0 = document.getElementById('end_first_monstr').parentNode;
elem0.appendChild(ins_data); //Второго монстра ставим снизу
}
// *********** Двигаем разделитель ниже, чтобы описание монстров не налазило на чужое задание
var ems = document.querySelector("hr[width*='90']"); //сдвинем разделитель вниз немного
ems.parentNode.insertBefore(ins_br,ems);
}
}
}
// ********** Сползшую кнопку отказа двигаем наверх ***********************
function cancel_up() {
var ems = document.querySelector("a[href*='action=skip']");
var elem = ems.parentNode.parentNode.parentNode.parentNode.children[0].children[0];
var elem0 = ems.parentNode.parentNode.removeChild(ems.parentNode);
elem.appendChild(elem0);
elem.parentNode.parentNode.children[1].removeChild(elem.parentNode.parentNode.children[1].children[0]);
}
//****************************************************
function warlog() {
var ems, elem, elem0, name_monstr, str_info, param_0_monster;
var expir = new Array(2);
var pos, level, i;
var ins_data;
elem0 = document.getElementsByTagName('body');
elem0 = elem0[0].children[1].children[1].children[0].children[0].children[0];
if (elem0.children[3].tagName == 'TABLE') { //Работает скрипт hwm_WarLog_2_Table
elem0 = elem0.children[3].children[0];
for (i =2; i < elem0.children.length; i++) {
elem = elem0.children[i].children[1].children[1];
str_info = elem.childNodes[0].data;
if (str_info == null) continue;
pos = str_info.lastIndexOf(key_monstr); //Проверка на монстра
if (pos == -1) continue;
level = str_info.substring(str_info.indexOf("{")+1,str_info.indexOf("}")); //Получили уровень монстра
name_monstr = str_info.substring(0,pos); //Получили имя монстра
if (monstr_rus_data[$ustring(name_monstr)] == null) continue; //Если такого монстра нет, то пропускаем
param_0_monster = monstr_rus_data[$ustring(name_monstr)]; //считывает параметры монстра 0 уровня
expir = get_exp (param_0_monster[1],param_0_monster[6],level);
ins_data = document.createElement('b'); //создаем и заполняем элемент для вставки.
if ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (level == 0)) { //Линейная непонятная прогрессия опыта
ins_data.innerHTML = ' Exp: <font style="color:#FF2020;">' + expir[1];
} else { //Альтернативная понятная прогрессия опыта
ins_data.innerHTML = ' Exp: <font style="color:#FF2020;">' + Math.round(expir[1]*0.95)+'...'+expir[0];
}
elem.parentNode.appendChild(ins_data); //вставляем элемент.
}
} else { //Не стоит или не работает скрипт hwm_WarLog_2_Table
ems = elem0.querySelectorAll("td > i");
if (ems.length == 0) return;
for (i =0; i < ems.length; i++) {
str_info = ems[i].childNodes[0].data;
if (str_info == null) continue;
pos = str_info.lastIndexOf(key_monstr); //Проверка на монстра
if (pos == -1) continue;
level = str_info.substring(str_info.indexOf("{")+1,str_info.indexOf("}")); //Получили уровень монстра
name_monstr = str_info.substring(0,pos); //Получили имя монстра
if (monstr_rus_data[$ustring(name_monstr)] == null) continue; //Если такого монстра нет, то пропускаем
param_0_monster = monstr_rus_data[$ustring(name_monstr)]; //считывает параметры монстра 0 уровня
expir = get_exp (param_0_monster[1],param_0_monster[6],level);
ins_data = document.createElement('b'); //создаем и заполняем элемент для вставки.
if ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (level == 0)) { //Линейная непонятная прогрессия опыта
ins_data.innerHTML = ' Exp: <font style="color:#2020FF;">' + expir[1];
} else { //Альтернативная понятная прогрессия опыта
ins_data.innerHTML = ' Exp: <font style="color:#2020FF;">' + Math.round(expir[1]*0.95)+'...'+expir[0];
}
ems[i].appendChild(ins_data); //вставляем элемент.
}
}
}
//****************************************************
function rutina_1(t_gn,N,el_s,elem,ch,level,skip) {
var s = document.createElement('div');
t_gn[0] = N;
t_gn[1] = el_s.substring(el_s.indexOf("{")+1,el_s.indexOf("}"));
if (t_gn[1] >= +level && skip) {elem.childNodes[ch].innerHTML ='<font style="color:#FF0000">'+el_s+'</font>'};
if (N == 7) {
s.innerHTML = '<B><font style="color:#FF0000">'+str_warning3+'</font></B><br><br>'; //если сопровождение каравана, то предупредим об аммуниции
elem.insertBefore(s,elem.childNodes[ch-1]);
}
return t_gn;
}
//****************************************************
function get_type_gn() {
var pos, el, name, elem0; //0-Нет, 1-армии, 2-набеги, 3-монстры, 4-заговорщики, 5-захватчики, 6-отряд, 7-разбойники.
var type_gn = new Array([0,0,'',0],[0,0,'',0]);
var cur = 0;
for (var k = 0; k < all_tables.length; k++) {
if (all_tables[k].className == "wbwhite") {
elem0 = all_tables[k].childNodes[0].childNodes[0].childNodes[1];
for (var i =0; i < elem0.childNodes.length; i++) {
if (elem0.childNodes[i].tagName != "B") {
el = elem0.childNodes[i].data;
if (el == null) continue;
} else el = elem0.childNodes[i].childNodes[0].data; //поиск текстовых полей
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;}
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;}
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;}
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;}
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;}
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;}
pos = el.indexOf(key_monstr);
if (pos == -1) continue; //Если задания ГН не найдены в этом тексте
type_gn[cur][0] = 3;
type_gn[cur][1] = el.substring(el.indexOf("{")+1,el.indexOf("}")); //Получили уровень монстра
name = el.substring(0,pos);
type_gn[cur][2] = name.substring(name.lastIndexOf("'")+1,pos); //Получили имя монстра
if (type_gn[cur++][1]>=+level_monstr && skip_monstr) {elem0.childNodes[i].innerHTML ='<font style="color:#FF0000">'+el+'</font>';}
}
}
}
// alert(type_gn);
return type_gn;
}
//****************************************************
function skip() {
var ems, el;
ems = document.querySelectorAll("a[href*='action=skip']");
if (ems.length != 0)
setTimeout(function() { window.location.href = ems[0].href; }, 2000);
//alert('nponyck');
else document.title = str_need_skp;
return;
}
//****************************************************
function get_time_wait() {
var elem, elem0, pos;
for (var k = 0; k < all_tables.length; k++) {
if (all_tables[k].className != "wbwhite") continue;
elem0 = all_tables[k].childNodes[0].childNodes[0].childNodes[1].childNodes[12];
if (elem0 == null) continue;
elem = elem0.childNodes[0].childNodes[0].childNodes[0].childNodes[0].data;
if (elem == null) continue;
pos = elem.lastIndexOf(str_time);
if (pos == -1) continue;
var time_min = elem.substring(pos+14,elem.indexOf(str_min));
var time_ms = ++time_min * 60000; //переводим из минут в мс
return time_ms;
}
for (var k = 0; k < all_tables.length; k++) {
if (all_tables[k].className != "wbwhite") continue;
elem0 = all_tables[k].childNodes[0].childNodes[0].childNodes[1].childNodes[6].childNodes[0].childNodes[0].childNodes[0];
if (elem0 == null) continue;
elem = elem0.childNodes[0].data;
if (elem == null) continue;
pos = elem.lastIndexOf(str_time);
if (pos == -1) continue;
var time_min = elem.substring(pos+14,elem.indexOf(str_min));
var time_ms = ++time_min * 60000; //переводим из минут в мс
return time_ms;
}
return 0;
}
//****************************************************
function update_title(time) {
var sec = Math.floor(time / 1000);
var dm = Math.floor( sec / 60 );
var ds = sec % 60;
document.title = str_tab_b+dm+str_min+' '+ds+str_sec+str_tab_e;
if ( time > 1000 ) setTimeout(function() { update_title(time-1000); }, 970);
else location.reload(true);
}
//************* Begin ***************************************
if ((url_cur.indexOf('pl_warlog') != -1) && (show_exp_on_warlog != 0)) warlog();
if (url_cur.indexOf('mercenary_guild') == -1) return;
var need_skip = 1; //доступность кнопки пропустить задание
var zadanie_gn = new Array(2);
zadanie_gn[0] = new Array(4);
zadanie_gn[1] = new Array(4);
zadanie_gn = get_type_gn(); //0-Нет, 1-армии, 2-набеги, 3-монстры, 4-заговорщики, 5-захватчики, 6-отряд, 7-разбойники.
//alert(zadanie_gn);
for (var cur = 0; cur < 2; cur++) {
if ((zadanie_gn[cur][0] == 0) && (cur ==1)) break;
if ((zadanie_gn[cur][0] == 1) && skip_army && (+zadanie_gn[cur][1] >= +level_army)) zadanie_gn[cur][3] = 1;
if ((zadanie_gn[cur][0] == 2) && skip_raids && (+zadanie_gn[cur][1] >= +level_raids)) zadanie_gn[cur][3] = 1;
if ((zadanie_gn[cur][0] == 4) && skip_conspir && (+zadanie_gn[cur][1] >= +level_conspir)) zadanie_gn[cur][3] = 1;
if ((zadanie_gn[cur][0] == 5) && skip_invader && (+zadanie_gn[cur][1] >= +level_invader)) zadanie_gn[cur][3] = 1;
if ((zadanie_gn[cur][0] == 6) && skip_otryad && (+zadanie_gn[cur][1] >= +level_otryad)) zadanie_gn[cur][3] = 1;
if ((zadanie_gn[cur][0] == 7) && skip_convoy && (+zadanie_gn[cur][1] >= +level_convoy)) zadanie_gn[cur][3] = 1;
if (zadanie_gn[cur][0] == 3) {
var expir = new Array(2);
var param_0_monster = monstr_rus_data[$ustring(zadanie_gn[cur][2])];
var exp_t;
if (monstr_rus_data[$ustring(zadanie_gn[cur][2])] != null)
{
expir = get_exp (param_0_monster[1],param_0_monster[6],zadanie_gn[cur][1]);
exp_t = ((param_0_monster[6] >= 50) || (param_0_monster[6] <= 6) || (zadanie_gn[cur][1] == 0)) ? expir[1] : expir[0];
if (skip_monstr && ( (+zadanie_gn[cur][1] >= +level_monstr) || ((+exp_t > +limit_exp_monstr) && (limit_exp_monstr != 0)))) zadanie_gn[cur][3] = 1;
else show_param_monstr(cur,zadanie_gn[cur][1],zadanie_gn[cur][2]);
} else show_param_monstr(cur,zadanie_gn[cur][1],zadanie_gn[cur][2]);
}
}
if ((need_move_up) && (zadanie_gn[1][0] != 0)) cancel_up();
//alert('need_skip='+need_skip+' zadanie_gn[0][3]='+zadanie_gn[0][3]+' zadanie_gn[1][3]='+zadanie_gn[1][3]);
if (zadanie_gn[1][0] == 0) {need_skip *= zadanie_gn[0][3];} //Если 1 задание (ГН<7)
else {need_skip *= zadanie_gn[0][3]*zadanie_gn[1][3];} //Если 2 задания (ГН>6)
if (need_skip) skip();
if (zadanie_gn[0][0] == 0) {
var gn_time_wait = get_time_wait();
if (gn_time_wait != 0) {
update_title(gn_time_wait);
} else document.title = str_no_gn;
} else {
if ((need_skip == 0) && ((skip_army || skip_raids || skip_monstr || skip_invader || skip_conspir || skip_otryad || skip_convoy) != 0)) document.title = str_zad_ok;
}
show_settings();
})();