By Black Cat
—
Last update
Jan 16, 2008
—
Installed
5,682 times.
// ==UserScript==
// @name OGame : planets/moons separation
// @namespace http://userscripts.org/users/36331
// @description OGame : New planets organisation in fleet menu (separate planets/moons in 2 columns)
// @date 2008-01-05
// @creator Black Cat
// @include http://uni*.ogame.*/game/index.php?page=flotten2*
// @exclude
// ==/UserScript==
(function(){
function row(coords, planetLink, moonLink) {
this.coords = coords;
this.planetLink = planetLink;
this.moonLink = moonLink;
}
function findCoords(tab, coords) {
var value = -1;
var i = 0;
while (value == -1 && i < tab.length) {
if (tab[i].coords == coords)
value = i;
i++;
}
return value;
}
var rows = new Array();
for (var i = 0; i < 9; i++) {
rows[i] = new row('', null, null);
}
var currentRow = 0;
var targets = new Array();
var targetsRows = new Array();
var links = document.getElementById("content").getElementsByTagName("a");
var i=0;
var loop=true;
while (loop && i < links.length) {
if (links[i].parentNode.getElementsByTagName("input").length == 0) {
if (links[i].getAttribute("href").indexOf('setTarget') != -1) {
targets.push(links[i]);
var row = links[i].parentNode.parentNode;
if (row.getElementsByTagName("a")[0] == links[i])
targetsRows.push(row);
}
} else {
loop = false;
}
i++;
}
var title = targetsRows[0].previousSibling;
var expression = /setTarget\((\d*),(\d*),(\d*),(\d*)\)/;
for (var i = 0; i < targets.length; i++) {
var thisTarget = targets[i];
expression.exec(thisTarget.getAttribute("href"));
var coords = RegExp.$1 + ":" + RegExp.$2 + ":" + RegExp.$3;
var planeteType = parseInt(RegExp.$4);
var place = findCoords(rows, coords);
if (place == -1) {
place = currentRow;
currentRow++;
}
rows[place].coords = coords;
if (planeteType == 1)
rows[place].planetLink = thisTarget;
else
rows[place].moonLink = thisTarget;
}
var lastInsert = title;
for (var i = 0; i < rows.length; i++) {
if (rows[i].coords != '') {
var row = document.createElement("tr");
row.setAttribute("height", "20");
var planet = document.createElement("th");
var moon = document.createElement("th");
if (rows[i].planetLink != null)
planet.appendChild(rows[i].planetLink);
if (rows[i].moonLink != null)
moon.appendChild(rows[i].moonLink);
row.appendChild(planet);
row.appendChild(moon);
lastInsert.parentNode.insertBefore(row, lastInsert.nextSibling);
lastInsert = row;
}
}
for (var i = 0; i < targetsRows.length; i++) {
var thisRow = targetsRows[i];
thisRow.parentNode.removeChild(thisRow);
}
})();