Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 255ca528a5 |
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 1.8.1 (2025-11-17)
|
||||||
|
|
||||||
|
- remplacement de 'attaques' par 'occurrences'
|
||||||
|
- correction du calcul d'arrivée des unités
|
||||||
|
- ajout des dizièmes de seconde pour envoyer des unités
|
||||||
|
|
||||||
## 1.7.4 (2025-11-16)
|
## 1.7.4 (2025-11-16)
|
||||||
|
|
||||||
- correction bug de calcul des secondes en utilisant search regex
|
- correction bug de calcul des secondes en utilisant search regex
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "KAplus",
|
"name": "KAplus",
|
||||||
"version": "1.7.4",
|
"version": "1.8.1",
|
||||||
|
|
||||||
"developer": {
|
"developer": {
|
||||||
"name": "Samuel Campos",
|
"name": "Samuel Campos",
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
"firefox"
|
"firefox"
|
||||||
],
|
],
|
||||||
"release_notes": {
|
"release_notes": {
|
||||||
"fr": "- correction bug de calcul des secondes en utilisant search regex",
|
"fr": "- remplacement de 'attaques' par 'occurrences'\n- correction du calcul d'arrivée des unités\n- ajout des dizièmes de seconde pour envoyer des unités",
|
||||||
"en-US": "- fix bug on seconds by using search regex"
|
"en-US": "- replace 'attaques' with 'occurrences'\n- fix unit arrival date computing\n- add tenths of seconds to send units"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,8 @@
|
|||||||
|
let tomorrow = new Date(new Date().getTime() + 24*60*60*1000);
|
||||||
|
tomorrow.setHours(0, 0, 0, 0);
|
||||||
|
let afterTomorrow = new Date(tomorrow.getTime() + 24*60*60*1000);
|
||||||
|
let movingDuration = 0;
|
||||||
|
|
||||||
function num(s) {
|
function num(s) {
|
||||||
return parseInt(s.replace(".", ""));
|
return parseInt(s.replace(".", ""));
|
||||||
}
|
}
|
||||||
@@ -79,6 +84,25 @@ function shortcutElementReplace(elt, img, text) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function countUpMs() {
|
||||||
|
let arrivalDate = new Date(new Date().getTime() + movingDuration * 1000);
|
||||||
|
let prefix = "";
|
||||||
|
if (arrivalDate >= afterTomorrow) {
|
||||||
|
prefix = "le " + arrivalDate.getDate() + "." + arrivalDate.getMonth() + " ";
|
||||||
|
} else if (arrivalDate > tomorrow) {
|
||||||
|
prefix = "demain ";
|
||||||
|
}
|
||||||
|
document.getElementById("countup-time-ms").textContent = prefix
|
||||||
|
+ "à "
|
||||||
|
+ arrivalDate.getHours().toString().padStart(2, "0")
|
||||||
|
+ ":"
|
||||||
|
+ arrivalDate.getMinutes().toString().padStart(2, "0")
|
||||||
|
+ ":"
|
||||||
|
+ arrivalDate.getSeconds().toString().padStart(2, "0")
|
||||||
|
+ ":"
|
||||||
|
+ Math.floor(arrivalDate.getMilliseconds() / 100);
|
||||||
|
}
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
/* Exit immediately if not on game page */
|
/* Exit immediately if not on game page */
|
||||||
let layCastleTopElements = document.getElementsByClassName("lay_castle_top");
|
let layCastleTopElements = document.getElementsByClassName("lay_castle_top");
|
||||||
@@ -155,34 +179,48 @@ function main() {
|
|||||||
villagePointsRow.after(unitPointsRow);
|
villagePointsRow.after(unitPointsRow);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Allow multiple attacks */
|
/* Units sending page */
|
||||||
if (section === "build_barracks" && module === "command" && sub === "send") {
|
if (section === "build_barracks" && module === "command" && sub === "send") {
|
||||||
|
/* Improve countup time cell */
|
||||||
|
let oldCell = document.getElementById("countup-time");
|
||||||
|
let hms = oldCell.parentElement.previousElementSibling.getElementsByTagName("td")[1].textContent.split(":");
|
||||||
|
movingDuration = parseInt(hms[0]) * 3600 + parseInt(hms[1]) * 60 + parseInt(hms[2]) ;
|
||||||
|
let newRow = document.createElement("tr");
|
||||||
|
let newLeftCell = document.createElement("td");
|
||||||
|
newLeftCell.textContent = "Arrivée:";
|
||||||
|
newRow.appendChild(newLeftCell);
|
||||||
|
let newRightCell = document.createElement("td");
|
||||||
|
newRightCell.setAttribute("id", "countup-time-ms");
|
||||||
|
newRow.appendChild(newRightCell);
|
||||||
|
oldCell.parentElement.parentElement.insertBefore(newRow, oldCell.parentElement);
|
||||||
|
oldCell.parentElement.style.display = "none";
|
||||||
|
setInterval(countUpMs, 100);
|
||||||
|
|
||||||
|
/* Allow multiple occurrences of send */
|
||||||
let table = document.createElement("table");
|
let table = document.createElement("table");
|
||||||
table.classList.add("borderlist");
|
table.classList.add("borderlist");
|
||||||
let tbody = document.createElement("tbody");
|
let tbody = document.createElement("tbody");
|
||||||
let tr = document.createElement("tr");
|
let tr = document.createElement("tr");
|
||||||
let th = document.createElement("th");
|
let th = document.createElement("th");
|
||||||
th.textContent = "Nombre d'attaques:";
|
th.textContent = "Nombre d'occurrences:";
|
||||||
tr.appendChild(th)
|
tr.appendChild(th)
|
||||||
let td = document.createElement("td");
|
let td = document.createElement("td");
|
||||||
let input = document.createElement("input");
|
let input = document.createElement("input");
|
||||||
input.setAttribute("type", "number");
|
input.setAttribute("type", "number");
|
||||||
input.setAttribute("name", "attack_count");
|
input.setAttribute("name", "occurrences");
|
||||||
input.setAttribute("value", "1");
|
input.setAttribute("value", "1");
|
||||||
td.appendChild(input);
|
td.appendChild(input);
|
||||||
tr.appendChild(td);
|
tr.appendChild(td);
|
||||||
tbody.appendChild(tr);
|
tbody.appendChild(tr);
|
||||||
table.appendChild(tbody);
|
table.appendChild(tbody);
|
||||||
|
|
||||||
let form = document.getElementsByTagName("form")[0];
|
let form = document.getElementsByTagName("form")[0];
|
||||||
let firstInput = form.getElementsByTagName("input")[0];
|
let firstInput = form.getElementsByTagName("input")[0];
|
||||||
form.insertBefore(table, firstInput);
|
form.insertBefore(table, firstInput);
|
||||||
form.addEventListener("submit", function (event) {
|
form.addEventListener("submit", function (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
let formData = new FormData(this);
|
let formData = new FormData(this);
|
||||||
let attackCount = parseInt(formData.get("attack_count").toString());
|
let attackCount = parseInt(formData.get("occurrences").toString());
|
||||||
formData.delete("attack_count");
|
formData.delete("occurrences");
|
||||||
|
|
||||||
let sent = 0;
|
let sent = 0;
|
||||||
for (let i = 0; i < attackCount; i++) {
|
for (let i = 0; i < attackCount; i++) {
|
||||||
let xhr = new XMLHttpRequest();
|
let xhr = new XMLHttpRequest();
|
||||||
|
|||||||
Reference in New Issue
Block a user