Feature multi-attack in same second
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 1.5.1 (2025-11-13)
|
||||||
|
|
||||||
|
- fonctionnalité de multi-attaques dans la même seconde
|
||||||
|
|
||||||
## 1.4.14 (2025-11-13)
|
## 1.4.14 (2025-11-13)
|
||||||
|
|
||||||
- correction affichage menu avec rapports
|
- correction affichage menu avec rapports
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "KAplus",
|
"name": "KAplus",
|
||||||
"version": "1.4.14",
|
"version": "1.5.1",
|
||||||
|
|
||||||
"author": "Samuel Campos - netoik.io",
|
"author": "Samuel Campos - netoik.io",
|
||||||
"description": "Extension développée pour améliorer l'expérience de jeu KingsAge (fonctionne avec ou sans premium)",
|
"description": "Extension développée pour améliorer l'expérience de jeu KingsAge (fonctionne avec ou sans premium)",
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
"firefox"
|
"firefox"
|
||||||
],
|
],
|
||||||
"release_notes": {
|
"release_notes": {
|
||||||
"fr": "- correction affichage menu avec rapports",
|
"fr": "- fonctionnalité de multi-attaques dans la même seconde",
|
||||||
"en-US": "- fix display navbar with reports"
|
"en-US": "- feature multi-attack in same second"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -34,35 +34,35 @@ function createRow(key, value) {
|
|||||||
function shortcutElementReplace(elt, img, text) {
|
function shortcutElementReplace(elt, img, text) {
|
||||||
// If more than one hyperlink element found,
|
// If more than one hyperlink element found,
|
||||||
// then keep the last one but with href of the first one.
|
// then keep the last one but with href of the first one.
|
||||||
let aElements = elt.getElementsByTagName("a");
|
let aElements = elt.getElementsByTagName("a");
|
||||||
let imgElements = elt.getElementsByTagName("img");
|
let imgElements = elt.getElementsByTagName("img");
|
||||||
if (aElements.length > 1 || imgElements.length > 0) {
|
if (aElements.length > 1 || imgElements.length > 0) {
|
||||||
aElements[aElements.length - 1].classList.add("has_notif");
|
aElements[aElements.length - 1].classList.add("has_notif");
|
||||||
aElements[aElements.length - 1].setAttribute("href", aElements[0].getAttribute("href"));
|
aElements[aElements.length - 1].setAttribute("href", aElements[0].getAttribute("href"));
|
||||||
for (let i = imgElements.length - 1; i >= 0; i --) {
|
for (let i = imgElements.length - 1; i >= 0; i--) {
|
||||||
imgElements[i].remove();
|
imgElements[i].remove();
|
||||||
}
|
}
|
||||||
for (let i = aElements.length - 2; i >= 0; i --) {
|
for (let i = aElements.length - 2; i >= 0; i--) {
|
||||||
aElements[i].remove();
|
aElements[i].remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let spanImageElement = document.createElement("span");
|
|
||||||
spanImageElement.classList.add("shortcut_element_image");
|
|
||||||
|
|
||||||
let imgElement = document.createElement("img");
|
let spanImageElement = document.createElement("span");
|
||||||
imgElement.setAttribute("src", chrome.runtime.getURL("images/"+img+".svg"));
|
spanImageElement.classList.add("shortcut_element_image");
|
||||||
spanImageElement.appendChild(imgElement);
|
|
||||||
|
|
||||||
aElements[0].textContent = "";
|
let imgElement = document.createElement("img");
|
||||||
aElements[0].appendChild(spanImageElement);
|
imgElement.setAttribute("src", chrome.runtime.getURL("images/" + img + ".svg"));
|
||||||
|
spanImageElement.appendChild(imgElement);
|
||||||
|
|
||||||
if (text) {
|
aElements[0].textContent = "";
|
||||||
let spanDescElement = document.createElement("span");
|
aElements[0].appendChild(spanImageElement);
|
||||||
spanDescElement.classList.add("shortcut_element_desc");
|
|
||||||
spanDescElement.textContent = text;
|
if (text) {
|
||||||
aElements[0].appendChild(spanDescElement);
|
let spanDescElement = document.createElement("span");
|
||||||
}
|
spanDescElement.classList.add("shortcut_element_desc");
|
||||||
|
spanDescElement.textContent = text;
|
||||||
|
aElements[0].appendChild(spanDescElement);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Improve main menu display */
|
/* Improve main menu display */
|
||||||
@@ -129,4 +129,45 @@ if (document.body.id === "overview") {
|
|||||||
villagePointsRow.after(unitPointsRow);
|
villagePointsRow.after(unitPointsRow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allow multiple attacks */
|
||||||
|
if (document.body.id === "build_barracks_command") {
|
||||||
|
let table = document.createElement("table");
|
||||||
|
table.classList.add("borderlist");
|
||||||
|
let tbody = document.createElement("tbody");
|
||||||
|
let tr = document.createElement("tr");
|
||||||
|
let th = document.createElement("th");
|
||||||
|
th.textContent = "Nombre d'attaques:";
|
||||||
|
tr.appendChild(th)
|
||||||
|
let td = document.createElement("td");
|
||||||
|
let input = document.createElement("input");
|
||||||
|
input.setAttribute("type", "number");
|
||||||
|
input.setAttribute("name", "attack_count");
|
||||||
|
input.setAttribute("value", "1");
|
||||||
|
td.appendChild(input);
|
||||||
|
tr.appendChild(td);
|
||||||
|
tbody.appendChild(tr);
|
||||||
|
table.appendChild(tbody);
|
||||||
|
|
||||||
|
let form = document.getElementsByTagName("form")[0];
|
||||||
|
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("attack_count").toString());
|
||||||
|
formData.delete("attack_count");
|
||||||
|
|
||||||
|
let sent = 0;
|
||||||
|
for (let i = 0; i < attackCount; i ++) {
|
||||||
|
let xhr = new XMLHttpRequest();
|
||||||
|
xhr.onload = function() {
|
||||||
|
sent ++;
|
||||||
|
if (sent === attackCount) {
|
||||||
|
window.location.replace(xhr.responseURL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xhr.open(this.method, this.action, true);
|
||||||
|
xhr.send(formData);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user