BW karma_counter
// ==UserScript== | |
// @name BW | |
// @version 1 | |
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js | |
// @include http://brokenworlds.online* | |
// ==/UserScript== | |
window.addEventListener('load', function() { | |
$(function(){ | |
bw_init(); | |
$('#game-iframe').load(function() { | |
bw_init(); | |
}); | |
}); | |
}, false); | |
function bw_init() { | |
bw_karma_counter(); | |
bw_midas_label_wrap(); | |
bw_binding(); | |
} | |
function bw_binding() { | |
var $actions = $('img[alt="Выпить бодрость"]').closest('table').find('img'); | |
function bw_binding_part(e) { | |
console.log(e.which); | |
switch (e.which) { | |
case 81: | |
$actions[0].click(); | |
console.log('bodrost'); | |
bodrost(); | |
break; | |
case 87: | |
$actions[1].click(); | |
console.log('meat20'); | |
meat20(); | |
break; | |
case 69: | |
$actions[2].click(); | |
console.log('meatrusted2'); | |
meatrusted2(); | |
break; | |
case 82: | |
$actions[3].click(); | |
console.log('use_trups'); | |
parent.use_trups(); | |
break; | |
} | |
} | |
$(window).on('keyup', function(e) { | |
bw_binding_part(e); | |
}); | |
var contents = $('#game-iframe').contents(); | |
$(contents).on('keyup', function(e) { | |
bw_binding_part(e); | |
}); | |
var $stamina = parseInt($('#energy_num').text()); | |
if ($stamina == 1) { | |
console.log($stamina == 1, $stamina); | |
$actions[0].click(); | |
console.log('bodrost'); | |
bodrost(); | |
} | |
} | |
/** | |
* Функция определения суммарного количества кармы в мире | |
*/ | |
function bw_karma_counter() { | |
var total_karma = 0; | |
var negative_karma = {'Аванк': 2,'Адская-кошка': 1,'Албастый': 1,'Аллигатор': 1,'Анка': 31,'Арсури': 2,'Арысь-поле': 1,'Ассида': 3,'Ахерон': 58,'Ахор': 3,'Бабай': 2,'Баггейн': 1,'Бандит-из-Первого-Круга': 11,'Бандит-из-Третьего-Круга': 13,'Бандит-из-Шестого-Круга': 14,'Баньши': 3,'Бергест': 5,'Берендей': 3,'Бес': 666,'Беспалый': 5,'Болотный-тролль': 1,'Большой-скорпион': 4,'Борсук-оборотень': 3,'Броллахан': 2,'Бьякко': 13,'Вампир': 4,'Виверн': 7,'Вий': 1,'Волк': 1,'Волк-вожак': 1,'Ворон-вожак': 1,'Гадюка': 1,'Гарпия': 2,'Гекантохейр': 114,'Главарь-из-Синего-Ущелья': 19,'Гоблин-лучник': 3,'Гоблин-мастер': 4,'Гоблин-чемпион': 6,'Горный-баран': 1,'Гуль': 2,'Двойник': 2,'Дикобраз': 1,'Дух-воздуха': 1,'Дух-огня': 1,'Злобоглаз': 3,'Инкуб': 2,'Иопод': 3,'Йейл': 2,'Йети': 4,'Каппа': 1,'Келпи': 4,'Кера': 3,'Кинокефал': 2,'Кобольт': 2,'Красный-дракон': 57,'Криосфинкс': 5,'Кровавый-тролль': 11,'Кровосос': 1,'Лавовый-гигант': 1,'Лимнада': 2,'Малый-скорпион': 1,'Малый-тролль': 1,'Мамут': 1,'Мангус': 3,'Мангуст': 1,'Мантикора': 3,'Маргулья': 3,'Мастер-кобольт': 3,'Медуза': 2,'Мефодинар': 8,'Мимик': 1,'Низший-элемент-воздуха': 1,'Огненый-бес': 21,'Орк': 4,'Орк-мастер': 5,'Орк-чемпион': 5,'Орк-шаман': 6,'Песчаный-червь': 2,'Пещерный-кобольт': 1,'Пещерный-лев': 1,'Пещерный-тролль': 2,'Пещерный-урод': 2,'Ревун': 6,'Рогатый-демон': 3,'Рудр': 1,'Рух': 1,'Саламандра': 1,'Скиапод': 6,'Скорпион': 1,'Степной-таурен': 3,'Стервятник': 1,'Топотун': 3,'Тунситунь': 2,'Усурийский-тигр': 3,'Фахан': 3,'Фестер': 2,'Черепаха-Мабельрода': 113,'Черная-крыса': 1,'Черный-дракон': 17,'Шабар': 3,'Эскалид': 12,'Эфирный-призрак': 23,'Якшини':3}; | |
var positive_karma = {'Абаас': 2,'Агуане': 2,'Амфисбена': 1,'Ангел-Хранитель': 1,'Антилопа': 1,'Аргос': 3,'Архиоптерикс': 3,'Аспид': 2,'Бабочка-эльф': 1,'Бакемонэ-Кицунэ': 1,'Бандит-из-Второго-Круга': 7,'Бандит-из-Пятого-Круга': 6,'Бандит-из-Четвертого-Круга': 12,'Бегемот': 2,'Беляк': 2,'Берегиня': 2,'Бигфут': 7,'Бобёр': 1,'Болотная-гадюка': 1,'Болотный-червь': 3,'Большая-бабочка-эльф': 7,'Боуги': 2,'Букентавр': 3,'Бхут': 2,'Вампал': 2,'Варан': 1,'Вепрь': 1,'Вилы': 2,'Винбандака': 14,'Ворон': 1,'Выдра': 1,'Гамадриада': 2,'Гамаюн': 1,'Гаргулья': 3,'Гарм': 5,'Геральдический-тигр': 4,'Гигантский-краб': 1,'Гоблин': 3,'Гоблин-берсеркер': 23,'Горгона': 2,'Горный-лев': 1,'Гриф': 1,'Грифон': 5,'Джинн': 1,'Драконид': 2,'Ежик': 1,'Ехидна': 3,'Жаба': 1,'Жыж': 1,'Заяц': 1,'Илипод': 15,'Ипоталас': 3,'Ифрит': 1,'Ихтиокентавр': 5,'Кабан': 1,'Кабир': 3,'Кажан': 2,'Карлик-Менехун': 1,'Квиттер': 1,'Киферонида': 4,'Кондор': 1,'Крот': 1,'Крупный-мамут': 6,'Куко': 3,'Ламашту': 2,'Леший': 1,'Лиса': 2,'Лось': 1,'Малый-кобольт': 1,'Малый-мастодонт': 1,'Мастодонт': 2,'Мемозина': 1,'Мышь': 1,'Одрадек': 1,'Орк-арбалетчик': 2,'Пазузу': 2,'Пата-Кабуся': 1,'Песчаный-волк': 1,'Пирауст': 2,'Питон': 1,'Пич': 1,'Сенмурв': 1,'Страшила': 1,'Струс': 3,'Суккуб': 7,'Татцельвурм': 4,'Тенко': 7,'Тритон': 1,'Феникс': 2,'Хабада': 13,'Хамелеон': 1,'Юварка': 2,'Якул': 1,'Ястреб': 2}; | |
var creatures_text = $('#game-iframe').contents().find('.mobs_group').text(); | |
var creatures = creatures_text.split(','); | |
var creatures_count = 0; | |
$.each(creatures, function(k, val) { | |
var current_karma = 0; | |
var mob = val.split(/\s-\s/); | |
var mob_name = $.trim(mob[0]).replace(/\s+/, '-'); | |
var mob_count = parseInt($.trim(mob[1])); | |
creatures_count += mob_count; | |
if (negative_karma.hasOwnProperty( mob_name )) { | |
current_karma = (0 - (mob_count * negative_karma[mob_name])); | |
// console.log(mob_name, mob_count, negative_karma[mob_name], current_karma, 'negative'); | |
} | |
else if (positive_karma.hasOwnProperty( mob_name )) { | |
current_karma = mob_count * positive_karma[mob_name]; | |
// console.log(mob_name, mob_count, positive_karma[mob_name], current_karma, 'positive'); | |
} | |
if (mob_name == 'Гоблин') { | |
creatures_text = creatures_text.replace(/(Гоблин)/, '<b style="color: red">$1</b>'); | |
} | |
if (mob_name == 'Двойник') { | |
creatures_text = creatures_text.replace(/(Двойник)/, '<b style="color: red">$1</b>'); | |
} | |
if (mob_name == 'Абаас') { | |
creatures_text = creatures_text.replace(/(Абаас)/, '<b style="color: red">$1</b>'); | |
} | |
total_karma += current_karma; | |
// console.log(total_karma, 'karma step'); | |
}); | |
var total_karma_txt; | |
if (total_karma > 0) { | |
total_karma_txt = '<span style="color: blue">' + total_karma + '</span>'; | |
} else { | |
total_karma_txt = '<span style="color: red">' + total_karma + '</span>'; | |
} | |
$('#game-iframe').contents().find('.mobs_group').html(creatures_text + '<br><br>' + '<b>Суммарная карма мира: ' + total_karma_txt + '('+creatures_count+')</b>') | |
return total_karma; | |
} | |
/** | |
* Функция оборачивает чекбокс и его значение в label, что-бы можно было жать на текст | |
*/ | |
function bw_midas_label_wrap() { | |
var contents = $('#game-iframe').contents().find('td input[type=checkbox]').closest('td'); | |
$.each(contents, function(k, val) { | |
var txt = $(val).html().replace(/(Небольшая магическая сумка|Серебряный нож|Медный нож)/, '<b style="color: red">$1</b>'); | |
$(val).html('<label style="cursor: pointer">' + txt + '</label>'); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment