AttackRange Helper

Shows your attack range for the new Grepolis Casual World's

Versión del día 24/12/2018. Echa un vistazo a la versión más reciente.

Tendrás que instalar una extensión para tu navegador como Tampermonkey, Greasemonkey o Violentmonkey si quieres utilizar este script.

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Violentmonkey para instalar este script.

Necesitarás instalar una extensión como Tampermonkey o Userscripts para instalar este script.

Necesitará instalar una extensión como Tampermonkey para instalar este script.

Necesitarás instalar una extensión para administrar scripts de usuario si quieres instalar este script.

(Ya tengo un administrador de scripts de usuario, déjame instalarlo)

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión como Stylus para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

Necesitará instalar una extensión del gestor de estilos de usuario para instalar este estilo.

(Ya tengo un administrador de estilos de usuario, déjame instalarlo)

// ==UserScript==
// @name         AttackRange Helper
// @namespace    http://tampermonkey.net/
// @version      0.3.1
// @description  Shows your attack range for the new Grepolis Casual World's
// @author       Marvins13
// @include      http://de99.grepolis.com/game/*
// @include      https://de99.grepolis.com/game/*
// @grant        GM_addStyle
// ==/UserScript==

var pPoints = Game.player_points;
var rankingButton;
var infoButton;
load_menu_button();
load_info_button();
/*
$.get("/data/players.txt", function(Playerdata)
                   {
    var playerList = Playerdata;
    //var a = playerList.indexOf("1046261");
    var sub = playerList.split(/\r\n|\n/);
    console.log(sub);

    var player = sub.find(function(element) {
        return element.includes("9238672");
    });
    var playerArr = player.split(/,/);
    console.log(playerArr[3]);
});


$.get("/data/towns.txt", function(Towndata)
      {
    var townList = Towndata;
    //console.log(townList);
});*/


GM_addStyle ( `
    .dr_city_shield_blessing {
        background: url(https://i.ibb.co/W05MsxT/dr-city-shield-blessing-a1471e5.png) no-repeat 0 0 !important;
        width: 120px !important;
        height: 72px !important;
        pointer-events: none !important;
    }
` );

GM_addStyle ( `
    .hr_city_shield_blessing {
        background: url(https://i.ibb.co/X8cn1fK/r-city-shield-blessing-a1471e5.png) no-repeat 0 0 !important;
        width: 120px !important;
        height: 72px !important;
        pointer-events: none !important;
    }
` );

GM_addStyle ( `
    .b_city_shield_blessing {
        background: url(https://i.ibb.co/9crM5x6/b-city-shield-blessing-a1471e5.png) no-repeat 0 0 !important;
        width: 120px !important;
        height: 72px !important;
        pointer-events: none !important;
    }
` );

GM_addStyle ( `
    .g_city_shield_blessing {
        background: url(https://i.ibb.co/6YmdJVk/g-city-shield-blessing-a1471e5.png) no-repeat 0 0 !important;
        width: 120px !important;
        height: 72px !important;
        pointer-events: none !important;
    }
` );

function load_menu_button() {
   var rankingButtons = document.getElementsByClassName('ranking main_menu_item');
    if (rankingButtons.length === 0) {
        setTimeout(() => load_menu_button(), 500);
    } else {
        rankingButton = rankingButtons[0];
        rankingButton.addEventListener('click', () => {
            setInterval(() => att_range_ranking(), 1000);
        });
    }
}

function load_info_button(){
    infoButton = document.getElementById('info');
    if (infoButton == null) {
        setTimeout(() => load_info_button(), 100);
    } else {
        infoButton.addEventListener('click', () => {
            setInterval(() => att_range_info(), 1000);
        });
    }
}

function load_popup(){
    var popups = document.getElementsByClassName('popup_table_inside town_tooltip_table');
    if (popups.length === 0) {
        setTimeout(() => load_popup(), 500);
    } else {
        console.log('hi');
    }
}


function att_range_ranking() {
    var points = document.getElementsByClassName('r_points');
    var names = document.getElementsByClassName('r_name');

    //Coloring for the world ranking
    if (document.getElementById('ranking-index').className=="submenu_link active"){
        for(var point of points) {
            if (point.innerHTML > 0) {
                if (point.innerHTML < (pPoints * 0.83333333333) || point.innerHTML > (pPoints * 1.2)) {
                    point.style.color = 'red';
                } else {
                    point.style.color = 'green';
                }
            }
        }
    }

    //Coloring for the sea ranking
    if (document.getElementById('ranking-sea_player').className=="submenu_link active"){
        try{
            $.get("/data/players.txt", function(Playerdata)
                  {
                var playerList = Playerdata;
                var sub = playerList.split(/\r\n|\n/);
                for(var i = 0; i < names.length; i++){

                    var name = names[i];
                    var content = name.innerHTML;
                    var base64 = window.atob(content.substring(content.indexOf("href")+7, content.indexOf("class")-2));
                    var id = base64.substring(base64.indexOf("id\"")+4,base64.indexOf("}"));
                    var player = sub.find(function(element) {
                        return element.includes(id);
                    });
                    try{
                        var playerArr = player.split(/,/);
                        if (playerArr[3] < (pPoints * 0.83333333333) || playerArr[3] > (pPoints * 1.2)) {
                            points[i].style.color = 'red';
                        } else {
                            points[i].style.color = 'green';
                        }
                    }catch(err){}

                }
            });
        }catch(err){}
    }
}

function att_range_info(){
    try{

        if (document.getElementById('town_info-info').className=="submenu_link active"){
            var line = document.getElementsByClassName('list_item_left');
            var line_str = (document.getElementsByClassName('list_item_left')[0]).innerHTML;
            var a = line_str.indexOf("(");
            var b = line_str.indexOf(")");
            var player_points_line = line_str.substring(a+1,b-7);
            if (player_points_line < (pPoints * 0.83333333333) || player_points_line > (pPoints * 1.2)) {
                line[0].style.color = 'red';
            } else {
                line[0].style.color = 'green';
            }

        }
    }catch(err){}
}