|
|
|
@@ -3,43 +3,45 @@ function num(s) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function str(n) {
|
|
|
|
function str(n) {
|
|
|
|
if (n == 0) {
|
|
|
|
if (n === 0) {
|
|
|
|
return "0";
|
|
|
|
return "0";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
s = "";
|
|
|
|
let s = "";
|
|
|
|
while (n > 0) {
|
|
|
|
while (n > 0) {
|
|
|
|
if (s != "") {
|
|
|
|
if (s !== "") {
|
|
|
|
s = "." + s;
|
|
|
|
s = "." + s;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
r = n % 1000;
|
|
|
|
let r = n % 1000;
|
|
|
|
s = r.toString().padStart(3, "0") + s;
|
|
|
|
s = r.toString().padStart(3, "0") + s;
|
|
|
|
n = ~~(n/1000);
|
|
|
|
n = ~~(n/1000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return s.replace(/^0+/, "");
|
|
|
|
return s.replace(/^0+/, "");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function createRow(key, value) {
|
|
|
|
function createRow(key, value) {
|
|
|
|
keyCell = document.createElement("td");
|
|
|
|
let keyCell = document.createElement("td");
|
|
|
|
keyCell.textContent = key;
|
|
|
|
keyCell.textContent = key;
|
|
|
|
valueCell = document.createElement("td");
|
|
|
|
|
|
|
|
valueCell.textContent = value;
|
|
|
|
let valueCell = document.createElement("td");
|
|
|
|
row = document.createElement("tr");
|
|
|
|
valueCell.textContent = value;
|
|
|
|
row.appendChild(keyCell);
|
|
|
|
|
|
|
|
row.appendChild(valueCell);
|
|
|
|
let row = document.createElement("tr");
|
|
|
|
return row;
|
|
|
|
row.appendChild(keyCell);
|
|
|
|
|
|
|
|
row.appendChild(valueCell);
|
|
|
|
|
|
|
|
return row;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function shortcutElementReplace(elt, img, text) {
|
|
|
|
function shortcutElementReplace(elt, img, text) {
|
|
|
|
imgElements = elt.getElementsByTagName("img");
|
|
|
|
let imgElements = elt.getElementsByTagName("img");
|
|
|
|
for (i=0; i<imgElements.length; i++) {
|
|
|
|
for (let i=0; i<imgElements.length; i++) {
|
|
|
|
if (i == 0) {
|
|
|
|
if (i === 0) {
|
|
|
|
elt.getElementsByTagName("a")[0].classList.add("has_notif");
|
|
|
|
elt.getElementsByTagName("a")[0].classList.add("has_notif");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
imgElements[i].remove();
|
|
|
|
imgElements[i].remove();
|
|
|
|
i --;
|
|
|
|
i --;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
aElements = elt.getElementsByTagName("a");
|
|
|
|
let aElements = elt.getElementsByTagName("a");
|
|
|
|
for (i=0; i<aElements.length; i++) {
|
|
|
|
for (i=0; i<aElements.length; i++) {
|
|
|
|
if (i > 0) {
|
|
|
|
if (i > 0) {
|
|
|
|
aElements[i].remove();
|
|
|
|
aElements[i].remove();
|
|
|
|
@@ -47,10 +49,10 @@ function shortcutElementReplace(elt, img, text) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
spanImageElement = document.createElement("span");
|
|
|
|
let spanImageElement = document.createElement("span");
|
|
|
|
spanImageElement.classList.add("shortcut_element_image");
|
|
|
|
spanImageElement.classList.add("shortcut_element_image");
|
|
|
|
|
|
|
|
|
|
|
|
imgElement = document.createElement("img");
|
|
|
|
let imgElement = document.createElement("img");
|
|
|
|
imgElement.setAttribute("src", chrome.runtime.getURL("images/"+img+".svg"));
|
|
|
|
imgElement.setAttribute("src", chrome.runtime.getURL("images/"+img+".svg"));
|
|
|
|
spanImageElement.appendChild(imgElement);
|
|
|
|
spanImageElement.appendChild(imgElement);
|
|
|
|
|
|
|
|
|
|
|
|
@@ -58,7 +60,7 @@ function shortcutElementReplace(elt, img, text) {
|
|
|
|
aElements[0].appendChild(spanImageElement);
|
|
|
|
aElements[0].appendChild(spanImageElement);
|
|
|
|
|
|
|
|
|
|
|
|
if (text) {
|
|
|
|
if (text) {
|
|
|
|
spanDescElement = document.createElement("span");
|
|
|
|
let spanDescElement = document.createElement("span");
|
|
|
|
spanDescElement.classList.add("shortcut_element_desc");
|
|
|
|
spanDescElement.classList.add("shortcut_element_desc");
|
|
|
|
spanDescElement.textContent = text;
|
|
|
|
spanDescElement.textContent = text;
|
|
|
|
aElements[0].appendChild(spanDescElement);
|
|
|
|
aElements[0].appendChild(spanDescElement);
|
|
|
|
@@ -66,11 +68,11 @@ function shortcutElementReplace(elt, img, text) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Improve main menu display */
|
|
|
|
/* Improve main menu display */
|
|
|
|
layCastleTopElements = document.getElementsByClassName("lay_castle_top");
|
|
|
|
let layCastleTopElements = document.getElementsByClassName("lay_castle_top");
|
|
|
|
if (layCastleTopElements.length == 1) {
|
|
|
|
if (layCastleTopElements.length === 1) {
|
|
|
|
document.getElementById("banner_skyscraper").remove();
|
|
|
|
document.getElementById("banner_skyscraper").remove();
|
|
|
|
|
|
|
|
|
|
|
|
shortcutElements = layCastleTopElements[0].getElementsByClassName("shortcut_element");
|
|
|
|
let shortcutElements = layCastleTopElements[0].getElementsByClassName("shortcut_element");
|
|
|
|
shortcutElementReplace(shortcutElements[0], "ranking", shortcutElements[0].textContent.replace(/[^0-9]/g, ""));
|
|
|
|
shortcutElementReplace(shortcutElements[0], "ranking", shortcutElements[0].textContent.replace(/[^0-9]/g, ""));
|
|
|
|
shortcutElementReplace(shortcutElements[1], "ally", "");
|
|
|
|
shortcutElementReplace(shortcutElements[1], "ally", "");
|
|
|
|
shortcutElementReplace(shortcutElements[2], "profile", "");
|
|
|
|
shortcutElementReplace(shortcutElements[2], "profile", "");
|
|
|
|
@@ -79,51 +81,51 @@ if (layCastleTopElements.length == 1) {
|
|
|
|
shortcutElementReplace(shortcutElements[5], "tools", "");
|
|
|
|
shortcutElementReplace(shortcutElements[5], "tools", "");
|
|
|
|
shortcutElementReplace(shortcutElements[6], "favorites", "");
|
|
|
|
shortcutElementReplace(shortcutElements[6], "favorites", "");
|
|
|
|
|
|
|
|
|
|
|
|
shortcutContainers = layCastleTopElements[0].getElementsByClassName("shortcut_container");
|
|
|
|
let shortcutContainers = layCastleTopElements[0].getElementsByClassName("shortcut_container");
|
|
|
|
shortcutContainers[0].classList.add("shortcut_container_left");
|
|
|
|
shortcutContainers[0].classList.add("shortcut_container_left");
|
|
|
|
shortcutContainers[2].classList.add("shortcut_container_right");
|
|
|
|
shortcutContainers[2].classList.add("shortcut_container_right");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Display unit-points on user profile */
|
|
|
|
/* Display unit-points on user profile */
|
|
|
|
if (document.body.id === "info_player") {
|
|
|
|
if (document.body.id === "info_player") {
|
|
|
|
mainContentPane = document.getElementsByClassName("contentpane")[1];
|
|
|
|
let mainContentPane = document.getElementsByClassName("contentpane")[1];
|
|
|
|
borderLists = mainContentPane.getElementsByClassName("borderlist");
|
|
|
|
let borderLists = mainContentPane.getElementsByClassName("borderlist");
|
|
|
|
|
|
|
|
|
|
|
|
playerPropertiesTable = borderLists[0];
|
|
|
|
let playerPropertiesTable = borderLists[0];
|
|
|
|
playerPropertiesRows = playerPropertiesTable.getElementsByTagName("tr");
|
|
|
|
let playerPropertiesRows = playerPropertiesTable.getElementsByTagName("tr");
|
|
|
|
totalPoints = num(playerPropertiesRows[2].getElementsByTagName("td")[1].textContent);
|
|
|
|
let totalPoints = num(playerPropertiesRows[2].getElementsByTagName("td")[1].textContent);
|
|
|
|
villagesCount = num(playerPropertiesRows[4].getElementsByTagName("td")[1].textContent);
|
|
|
|
let villagesCount = num(playerPropertiesRows[4].getElementsByTagName("td")[1].textContent);
|
|
|
|
|
|
|
|
|
|
|
|
villagesTable = borderLists[1];
|
|
|
|
let villagesTable = borderLists[1];
|
|
|
|
villagesRows = villagesTable.getElementsByTagName("tr");
|
|
|
|
let villagesRows = villagesTable.getElementsByTagName("tr");
|
|
|
|
villagesPoints = 0;
|
|
|
|
let villagesPoints = 0;
|
|
|
|
for (i=1; i<villagesRows.length; i+=1) {
|
|
|
|
for (let i=1; i<villagesRows.length; i+=1) {
|
|
|
|
villagesPoints += num(villagesRows[i].getElementsByTagName("td")[2].textContent);
|
|
|
|
villagesPoints += num(villagesRows[i].getElementsByTagName("td")[2].textContent);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
villagesBonus = 2250 * Math.max(0, villagesCount - 1);
|
|
|
|
let villagesBonus = 2250 * Math.max(0, villagesCount - 1);
|
|
|
|
|
|
|
|
|
|
|
|
armyPoints = totalPoints - villagesPoints - villagesBonus;
|
|
|
|
let armyPoints = totalPoints - villagesPoints - villagesBonus;
|
|
|
|
|
|
|
|
let armyPercent = "-";
|
|
|
|
if (villagesCount > 0) {
|
|
|
|
if (villagesCount > 0) {
|
|
|
|
armyPercent = (Math.round(armyPoints / villagesCount) / 100).toString() + " %";
|
|
|
|
armyPercent = (Math.round(armyPoints / villagesCount) / 100).toString() + " %";
|
|
|
|
} else {
|
|
|
|
|
|
|
|
armyPercent = "-";
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
playerPropertiesTable.appendChild(createRow("Points troupes:", str(armyPoints)));
|
|
|
|
playerPropertiesTable.appendChild(createRow("Points troupes:", str(armyPoints)));
|
|
|
|
playerPropertiesTable.appendChild(createRow("% points troupes:", armyPercent));
|
|
|
|
playerPropertiesTable.appendChild(createRow("% points troupes:", armyPercent));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* Display unit-points on village overview */
|
|
|
|
/* Display unit-points on village overview */
|
|
|
|
if (document.body.id === "overview") {
|
|
|
|
if (document.body.id === "overview") {
|
|
|
|
settlements = document.getElementById("settlement").textContent.split("|");
|
|
|
|
let settlements = document.getElementById("settlement").textContent.split("|");
|
|
|
|
noborderRows = document.getElementsByClassName("noborder");
|
|
|
|
let noBorderRows = document.getElementsByClassName("noborder");
|
|
|
|
for (i=0; i<noborderRows.length; i++) {
|
|
|
|
let villagePointsRow = noBorderRows[0];
|
|
|
|
if (noborderRows[i].textContent.startsWith("Points:")) {
|
|
|
|
for (let i=0; i<noBorderRows.length; i++) {
|
|
|
|
villagePointsRow = noborderRows[i];
|
|
|
|
if (noBorderRows[i].textContent.startsWith("Points:")) {
|
|
|
|
|
|
|
|
villagePointsRow = noBorderRows[i];
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
unitPointsRow = villagePointsRow.cloneNode(true);
|
|
|
|
let unitPointsRow = villagePointsRow.cloneNode(true);
|
|
|
|
villagePointsRow.getElementsByTagName("td")[1].textContent = "Points village: " + settlements[3];
|
|
|
|
villagePointsRow.getElementsByTagName("td")[1].textContent = "Points village: " + settlements[3];
|
|
|
|
unitPointsRow.getElementsByTagName("td")[1].textContent = "Points troupes: " + settlements[4];
|
|
|
|
unitPointsRow.getElementsByTagName("td")[1].textContent = "Points troupes: " + settlements[4];
|
|
|
|
villagePointsRow.after(unitPointsRow);
|
|
|
|
villagePointsRow.after(unitPointsRow);
|
|
|
|
|