|
|
|
|
@@ -119,15 +119,27 @@ function countUpMs() {
|
|
|
|
|
+ Math.floor(arrivalDate.getMilliseconds() / 100);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function handleDomContentLoaded() {
|
|
|
|
|
/* Remove iframe banner */
|
|
|
|
|
document.getElementById("banner_skyscraper").remove();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function main() {
|
|
|
|
|
/* Exit immediately if extension has already been loaded */
|
|
|
|
|
let kaplus = document.getElementById("kaplus-marker");
|
|
|
|
|
if (kaplus) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Exit immediately if not on game page */
|
|
|
|
|
let layCastleTopElements = document.getElementsByClassName("lay_castle_top");
|
|
|
|
|
if (layCastleTopElements.length === 0) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
window.addEventListener("DOMContentLoaded", handleDomContentLoaded);
|
|
|
|
|
|
|
|
|
|
/* Remove iframe banner */
|
|
|
|
|
document.getElementById("banner_skyscraper").remove();
|
|
|
|
|
/* Add extension marker */
|
|
|
|
|
document.body.appendChild(createCustomElement("div", {"id": "kaplus-marker"}, null, {"display": "none"}));
|
|
|
|
|
|
|
|
|
|
/* Improve navbar icons */
|
|
|
|
|
let shortcutElements = layCastleTopElements[0].getElementsByClassName("shortcut_element");
|
|
|
|
|
@@ -298,7 +310,6 @@ function main() {
|
|
|
|
|
let firstInput = form.getElementsByTagName("input")[0];
|
|
|
|
|
form.insertBefore(table, firstInput);
|
|
|
|
|
form.addEventListener("submit", function (event) {
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
let formData = new FormData(this);
|
|
|
|
|
let attackCount = parseInt(formData.get("occurrences").toString());
|
|
|
|
|
formData.delete("occurrences");
|
|
|
|
|
@@ -317,8 +328,9 @@ function main() {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Fix select bug in market */
|
|
|
|
|
/* Market sending page */
|
|
|
|
|
if (section === "build_market" && (module === "send" || module === null)) {
|
|
|
|
|
/* Fix select bug in target village select */
|
|
|
|
|
let select = document.getElementsByName("village_name")[0];
|
|
|
|
|
select.removeAttribute("onchange");
|
|
|
|
|
select.addEventListener("change", function () {
|
|
|
|
|
@@ -333,6 +345,51 @@ function main() {
|
|
|
|
|
sendY.value = xy[1];
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
/* Add form to send resources by thousands */
|
|
|
|
|
let sendForm = document.getElementsByTagName("form")[0]
|
|
|
|
|
sendForm.addEventListener("submit", function () {
|
|
|
|
|
let inputs = this.getElementsByTagName("input");
|
|
|
|
|
for (let i = 0; i < inputs.length; i ++) {
|
|
|
|
|
if (inputs[i].getAttribute("name").endsWith("_k")) {
|
|
|
|
|
inputs[i].setAttribute("name", "");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
let sendFormTables = sendForm.getElementsByTagName("table");
|
|
|
|
|
let newTable = sendFormTables[0].cloneNode(true);
|
|
|
|
|
newTable.getElementsByTagName("th")[0].textContent = "Ressources par milliers";
|
|
|
|
|
let resCells = newTable.getElementsByTagName("td");
|
|
|
|
|
for (let i = 0; i < resCells.length; i ++) {
|
|
|
|
|
let resInput = resCells[i].getElementsByTagName("input")[0];
|
|
|
|
|
let resName = resInput.getAttribute("name");
|
|
|
|
|
let resNameK = resInput.getAttribute("name") + "_k";
|
|
|
|
|
resInput.setAttribute("name", resNameK);
|
|
|
|
|
resInput.addEventListener("change", function () {
|
|
|
|
|
document.getElementsByName(resName)[0].value = 1000 * parseInt(this.value);
|
|
|
|
|
});
|
|
|
|
|
let spanInput = resCells[i].getElementsByTagName("span")[0];
|
|
|
|
|
let resMax = spanInput.textContent.replace(/\(/, "").replace("\)", "").replace(/\./, "");
|
|
|
|
|
let rMax = Math.floor(parseInt(resMax) / 1000);
|
|
|
|
|
spanInput.setAttribute(
|
|
|
|
|
"onclick",
|
|
|
|
|
"insertNum('kingsage', '" + resNameK + "', '" + rMax.toString() + "'); " +
|
|
|
|
|
"insertNum('kingsage', '" + resName + "', '" + (1000 * rMax).toString() + "');"
|
|
|
|
|
)
|
|
|
|
|
spanInput.textContent = "(" + rMax.toString() + "K)";
|
|
|
|
|
}
|
|
|
|
|
sendForm.insertBefore(newTable, sendFormTables[0]);
|
|
|
|
|
sendForm.insertBefore(createCustomElement("br"), sendFormTables[1]);
|
|
|
|
|
|
|
|
|
|
/* Set inputs type=number */
|
|
|
|
|
let sendInputs = sendForm.getElementsByTagName("input");
|
|
|
|
|
for (let i = 0; i < sendInputs.length; i ++) {
|
|
|
|
|
if (sendInputs[i].name.startsWith("send_")) {
|
|
|
|
|
sendInputs[i].setAttribute("type", "number");
|
|
|
|
|
sendInputs[i].value = "";
|
|
|
|
|
sendInputs[i].style.width = "65px";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Improve attacks display */
|
|
|
|
|
|