Last active
July 29, 2018 19:01
-
-
Save dmitriynet/2c4ff8d066cad72d88ece1fa9205aac2 to your computer and use it in GitHub Desktop.
BW karma_counter
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==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