Skip to content

Instantly share code, notes, and snippets.

@dmitriynet
Last active July 29, 2018 19:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmitriynet/2c4ff8d066cad72d88ece1fa9205aac2 to your computer and use it in GitHub Desktop.
Save dmitriynet/2c4ff8d066cad72d88ece1fa9205aac2 to your computer and use it in GitHub Desktop.
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