Экран отправления флота
Небольшая улучшалка экрана отправления флота.
Сортировка по времени полёта и показывает количество первых двух сильнейших кораблей во флоте на планете.
Вставляем в greasemonkey или tampermonkey:
// ==UserScript==
// @name ConsulWar attack menu
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://consulwar.ru/game/cosmos
// @grant none
// ==/UserScript==
var showed = false;
function Tick()
{
var am = document.getElementsByClassName("attack-menu");
if(am.length == 0){
showed = false;
return true;
}
if(showed) {
return true;
}
showed = true;
var els = am[0].getElementsByClassName("planet fleet-user");
var planets = Game.Planets.Collection.find({armyUsername: Meteor.user().username}).fetch();
var sort_lst = [];
for(var i_els=0; i_els<els.length; i_els++){
var el = els[i_els];
sort_lst.push(el);
var el_time = el.getElementsByClassName("location")[0];
if(el_time.innerHTML.includes("ч")) {
el_time.innerHTML = el_time.innerHTML.trim().substr(0, 7);
}
var el_id = el.getAttribute("data-id");
var ai = "";
for(var i_planets=0; i_planets<planets.length; i_planets++){
if(planets[i_planets]._id == el_id){
var t = Game.Cosmos.getPlanetInfo(planets[i_planets]).units;
if (t) {
var cc = 2;
for(var ii = t.length - 1; ii >= 0; ii--){
var ta = t[ii];
if (ta.count > 0) {
if(ai != ""){
ai += " "
}
ai += "" + ta.unit.title.charAt(0) + ":" + ta.count;
cc--;
if(cc == 0) break;
}
}
}
}
}
if(ai){
var nel=document.createElement("div");
nel.innerHTML = ai;
el.appendChild(nel);
}
}
sort_lst.sort(function (x, y) {
var xt = x.getElementsByClassName("location")[0].innerHTML;
var yt = y.getElementsByClassName("location")[0].innerHTML;
var xh = xt.includes("ч");
var yh = yt.includes("ч");
if (xh && !yh) return 1;
if (!xh && yh) return -1;
if (xt>yt) return 1;
if (xt<yt) return -1;
return 0;
});
for(var i=sort_lst.length-1; i>=0; i--){
el = sort_lst[i];
el.parentNode.insertBefore(el, el.parentNode.firstChild);
}
}
setInterval(Tick, 1000);