battleHelper

Помощь

目前为 2022-11-10 提交的版本。查看 最新版本

// ==UserScript==
// @name           battleHelper
// @author         omne
// @namespace      omne
// @description    Помощь
// @version        0.1
// @include        /^https{0,1}:\/\/((www|qrator|)\.(heroeswm|lordswm)\.(ru|com)|178\.248\.235\.15)\/(war|warlog).php/
// @grant          GM_xmlhttpRequest
// @license        GNU GPLv3
// ==/UserScript==

(function() {
    var warid = location.search.match(/warid=([0-9]+)/)[1];
    var key = "";
    if (location.search.match(/show_for_all=([0-9a-zA-Z]+)/)) {
        key = location.search.match(/show_for_all=([0-9a-zA-Z]+)/)[1];
    };
    var att = 0;
    var unit = ["", "", "", "", "", "", "", ""];
    getAtb(0);
    document.getElementById("confirm_ins").addEventListener("click", function () {setTimeout (getAtb(1), 2000);}, false);
    function getAtb(r) {
        GM_xmlhttpRequest({
            method: "GET",
            url: "/battle.php?lastturn=-3&warid=" + warid + "&show_for_all=" + key,
            onload: function(res) {
                let info = "<style>.cont{position:relative;display:inline-block}.count {position: absolute;right: 0;bottom: 0;color: #f5c140;text-shadow: 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 3px #000;font-size: 1rem;font-weight: bold;}</style>";
                info += "<b>Стартовый бонус АТБ</b><BR>";
                if (res.responseText == "t=950turns=") {
                    if (r == 1) {
                        info += "Ошибка загрузки, начните бой и обновите страницу!";
                    } else {
                        return false;
                    }
                }
                let data = res.responseText.substring(res.responseText.indexOf(";/") + 2).split(";");
                for (let i = 0; i < data.length - 1; i++) {
                    if (data[i].indexOf("|rock|") != -1) {
                        continue;
                    }
                    let unitNum = Number(data[i].substring(1, 3));
                    let armyNum = Number(data[i].substring(5 + 0*6, 5 + 1*6)) - 1;
                    let count = Number(data[i].substring(5 + 12*6, 5 + 13*6));
                    let startAtb = 100 - Number(data[i].substring(5 + 9*6, 5 + 10*6));
                    let img;
                    if (data[i].indexOf("|hero|") == -1) {
                        img = data[i].substring(5 + 24*6, data[i].indexOf("|"));
                    } else {
                        img = data[i].split("|")[8].substring(1);
                    }
                    img = img.substring(0, img.length - 3);
                    unit[armyNum] += "<div class = 'cont'><img width = '40px' src='/i/portraits/" + img + "anip40.png'><div class = 'count'>" + startAtb + "</div></div>";
                }
                for (let i = 0; i < unit.length; i++) {
                    if (unit[i] != "") {
                        info += "Команда №" + (i + 1) + "<BR>" + unit[i] + "<BR>";
                    }
                }
                let elem = [];
                elem[0] = document.querySelector("#chat_format");
                elem[1] = document.querySelector("#chat_format_classic");
                elem[0].innerHTML = info + elem[0].innerHTML;
                elem[1].innerHTML = info + elem[1].innerHTML;
            }
        });
    }
})();