fix the postbuild script

This commit is contained in:
Dawid Wysokiński 2021-10-17 13:02:02 +02:00
parent f09232345b
commit 3d0694b537
Signed by: Kichiyaki
GPG Key ID: EF14026D247EB867
34 changed files with 7440 additions and 6531 deletions

View File

@ -1,214 +1,301 @@
(function () {
const $3af05e958b2a20a26445518aba292c50$export$API_URI = 'https://api.tribalwarshelp.com/graphql';
var $3af05e958b2a20a26445518aba292c50$export$default = function () {
let {query, variables = {}} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return fetch($3af05e958b2a20a26445518aba292c50$export$API_URI, {
method: 'POST',
body: JSON.stringify({
query,
variables
}),
headers: {
'Content-Type': 'application/json'
}
}).then(res => {
return res.json();
}).then(_ref => {
let {data, errors} = _ref;
if (errors && Array.isArray(errors) && errors.length > 0) {
throw new Error(errors[0].message);
}
return new Promise(resolve => resolve(data));
});
};
const $3b197ddc404523dce25bd8470f854619$var$translations = {
pl_PL: {
actualCoords: 'Aktualne koordynaty',
searchBonusBarbarianVillages: 'Wyszukaj koczownicze',
village: 'Wioska',
distance: 'Dystans',
action: 'Akcja',
center: 'Wycentruj'
},
en_DK: {
actualCoords: 'Actual coords',
searchBonusBarbarianVillages: 'Search bonus barbarian villages',
village: 'Village',
distance: 'Distance',
action: 'Action',
center: 'Center'
},
de_DE: {
actualCoords: 'Aktuelle Koordinaten',
searchBonusBarbarianVillages: 'Suche Bonus-Barbarendörfer',
village: 'Dorf',
distance: 'Distanz',
action: 'Aktion',
center: 'Center'
}
};
var $3b197ddc404523dce25bd8470f854619$export$default = () => $3b197ddc404523dce25bd8470f854619$var$translations[window.game_data.locale] || $3b197ddc404523dce25bd8470f854619$var$translations.en_DK;
var $075335fbc46b1a64d60d11b353f74662$export$default = () => window.location.host.split('.')[0];
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildTribeURL = id => {
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_ally',
id
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildPlayerURL = id => {
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_player',
id
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageURL = id => {
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_village',
id
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageName = function buildVillageName() {
let n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
let y = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;
const continent = 'K' + String(y)[0] + String(x)[0];
return ("").concat(n, " (").concat(x, "|").concat(y, ") ").concat(continent);
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$calcAttackDuration = (distance, baseSpeed) => {
return Math.round(distance * baseSpeed);
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildImgURL = img => {
return image_base + img;
};
const $3d57ea338a09b23ca4b283dff4f79ebd$export$calcDistanceBetweenTwoPoints = (x1, y1, x2, y2) => {
const a = x1 - x2;
const b = y1 - y2;
return Math.sqrt(a * a + b * b);
};
function $61671ab24a4170eb0a1c7d9e6ffb22e6$var$ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys.push.apply(keys, symbols);
}
return keys;
}
function $61671ab24a4170eb0a1c7d9e6ffb22e6$var$_objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$ownKeys(Object(source), true).forEach(function (key) {
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
}
return target;
}
function $61671ab24a4170eb0a1c7d9e6ffb22e6$var$_defineProperty(obj, key, value) {
if ((key in obj)) {
Object.defineProperty(obj, key, {
function $6a49e4c969cec444$export$2e2bcd8739ae039(obj, key, value) {
if (key in obj) Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
});
else obj[key] = value;
return obj;
}
// ==UserScript==
// @name Bonus barbarian village finder
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/bonusBarbarianVillageFinder.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/bonusBarbarianVillageFinder.js
// @version 0.4.7
// @description Bonus barbarian village finder
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*
// @grant none
// ==/UserScript==
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$SERVER = $075335fbc46b1a64d60d11b353f74662$export$default();
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$QUERY = "\n query villages($server: String!, $filter: VillageFilter, $sort: [String!], $offset: Int) {\n villages(server: $server, filter: $filter, offset: $offset, sort: $sort) {\n total\n items {\n id\n name\n bonus\n x\n y\n }\n }\n }\n";
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$TABLE_ID = 'bonusBarbarianVillageFinderTable';
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$ACTUAL_COORDS_ID = 'actualCoords';
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations = $3b197ddc404523dce25bd8470f854619$export$default();
let $61671ab24a4170eb0a1c7d9e6ffb22e6$var$container = undefined;
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$buildReqOptions = (bonus, offset) => {
return {
query: $61671ab24a4170eb0a1c7d9e6ffb22e6$var$QUERY,
variables: {
server: $61671ab24a4170eb0a1c7d9e6ffb22e6$var$SERVER,
sort: ['id DESC'],
filter: {
bonus,
playerID: [0]
},
offset
}
}
function $f1e9793517c51c58$export$2e2bcd8739ae039(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {
};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === 'function') ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
ownKeys.forEach(function(key) {
$6a49e4c969cec444$export$2e2bcd8739ae039(target, key, source[key]);
});
}
return target;
}
function $b1520df0e3a4699c$export$2e2bcd8739ae039(source, excluded) {
if (source == null) return {
};
};
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$loadBonusVillages = async bonus => {
const {villages} = await $3af05e958b2a20a26445518aba292c50$export$default($61671ab24a4170eb0a1c7d9e6ffb22e6$var$buildReqOptions(bonus, 0));
for (let i = villages.length; i < villages.total; i += 1000) {
const data = await $3af05e958b2a20a26445518aba292c50$export$default($61671ab24a4170eb0a1c7d9e6ffb22e6$var$buildReqOptions(bonus, 0));
villages.items = [...villages.items, ...data.villages.items];
var target = {
};
var sourceKeys = Object.keys(source);
var key, i;
for(i = 0; i < sourceKeys.length; i++){
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function $f26b272b176e5476$export$2e2bcd8739ae039(source, excluded) {
if (source == null) return {
};
var target = $b1520df0e3a4699c$export$2e2bcd8739ae039(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for(i = 0; i < sourceSymbolKeys.length; i++){
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
const $902f167bfdc7b30b$export$fb18762d0c18fa09 = 'https://api.tribalwarshelp.com/graphql';
var $902f167bfdc7b30b$export$2e2bcd8739ae039 = ({ query: query , variables: variables = {
} } = {
})=>{
return fetch($902f167bfdc7b30b$export$fb18762d0c18fa09, {
method: 'POST',
body: JSON.stringify({
query: query,
variables: variables
}),
headers: {
'Content-Type': 'application/json'
}
}).then((res)=>{
return res.json();
}).then(({ data: data , errors: errors })=>{
if (errors && Array.isArray(errors) && errors.length > 0) throw new Error(errors[0].message);
return new Promise((resolve)=>resolve(data)
);
});
};
const $71f792443ec67043$var$translations = {
pl_PL: {
actualCoords: 'Aktualne koordynaty',
searchBonusBarbarianVillages: 'Wyszukaj koczownicze',
village: 'Wioska',
distance: 'Dystans',
action: 'Akcja',
center: 'Wycentruj'
},
en_DK: {
actualCoords: 'Actual coords',
searchBonusBarbarianVillages: 'Search bonus barbarian villages',
village: 'Village',
distance: 'Distance',
action: 'Action',
center: 'Center'
},
de_DE: {
actualCoords: 'Aktuelle Koordinaten',
searchBonusBarbarianVillages: 'Suche Bonus-Barbarendörfer',
village: 'Dorf',
distance: 'Distanz',
action: 'Aktion',
center: 'Center'
}
};
var $71f792443ec67043$export$2e2bcd8739ae039 = ()=>$71f792443ec67043$var$translations[window.game_data.locale] || $71f792443ec67043$var$translations.en_DK
;
var $9412d55e353d4b8b$export$2e2bcd8739ae039 = ()=>window.location.host.split('.')[0]
;
const $db1dd60e5389e0c9$export$7345792e21cfc457 = (id)=>{
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_ally',
id: id
});
};
const $db1dd60e5389e0c9$export$3df7b9b48f38839e = (id)=>{
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_player',
id: id
});
};
const $db1dd60e5389e0c9$export$e537a41a0fc85cc5 = (id)=>{
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_village',
id: id
});
};
const $db1dd60e5389e0c9$export$c6f77ec2633c38b1 = (n = '', x = 500, y = 500)=>{
const continent = 'K' + String(y)[0] + String(x)[0];
return `${n} (${x}|${y}) ${continent}`;
};
const $db1dd60e5389e0c9$export$893530ca1c0f63a2 = (distance, baseSpeed)=>{
return Math.round(distance * baseSpeed);
};
const $db1dd60e5389e0c9$export$8b4b6650247854da = (img)=>{
return image_base + img;
};
const $8f952366ce71d0fe$export$6e378131ceaf17af = (x1, y1, x2, y2)=>{
const a = x1 - x2;
const b = y1 - y2;
return Math.sqrt(a * a + b * b);
};
// ==UserScript==
// @name Bonus barbarian village finder
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/bonusBarbarianVillageFinder.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/bonusBarbarianVillageFinder.js
// @version 0.4.7
// @description Bonus barbarian village finder
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*
// @grant none
// ==/UserScript==
const $0e40ff93e5ed20a5$var$SERVER = $9412d55e353d4b8b$export$2e2bcd8739ae039();
const $0e40ff93e5ed20a5$var$QUERY = `
query villages($server: String!, $filter: VillageFilter, $sort: [String!], $offset: Int) {
villages(server: $server, filter: $filter, offset: $offset, sort: $sort) {
total
items {
id
name
bonus
x
y
}
}
}
`;
const $0e40ff93e5ed20a5$var$TABLE_ID = 'bonusBarbarianVillageFinderTable';
const $0e40ff93e5ed20a5$var$ACTUAL_COORDS_ID = 'actualCoords';
const $0e40ff93e5ed20a5$var$translations = $71f792443ec67043$export$2e2bcd8739ae039();
let $0e40ff93e5ed20a5$var$container = undefined;
const $0e40ff93e5ed20a5$var$buildReqOptions = (bonus, offset)=>{
return {
query: $0e40ff93e5ed20a5$var$QUERY,
variables: {
server: $0e40ff93e5ed20a5$var$SERVER,
sort: [
'id DESC'
],
filter: {
bonus: bonus,
playerID: [
0
]
},
offset: offset
}
};
};
const $0e40ff93e5ed20a5$var$loadBonusVillages = async (bonus)=>{
const { villages: villages } = await $902f167bfdc7b30b$export$2e2bcd8739ae039($0e40ff93e5ed20a5$var$buildReqOptions(bonus, 0));
for(let i = villages.length; i < villages.total; i += 1000){
const data = await $902f167bfdc7b30b$export$2e2bcd8739ae039($0e40ff93e5ed20a5$var$buildReqOptions(bonus, 0));
villages.items = [
...villages.items,
...data.villages.items
];
}
return villages;
};
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$searchBonusBarbarianVillages = async e => {
};
const $0e40ff93e5ed20a5$var$searchBonusBarbarianVillages = async (e)=>{
e.preventDefault();
const villages = await $61671ab24a4170eb0a1c7d9e6ffb22e6$var$loadBonusVillages(parseInt(e.target[0].value));
const villages = await $0e40ff93e5ed20a5$var$loadBonusVillages(parseInt(e.target[0].value));
const coords = TWMap.pos;
villages.items = villages.items.map(item => {
return $61671ab24a4170eb0a1c7d9e6ffb22e6$var$_objectSpread($61671ab24a4170eb0a1c7d9e6ffb22e6$var$_objectSpread({}, item), {}, {
distance: $3d57ea338a09b23ca4b283dff4f79ebd$export$calcDistanceBetweenTwoPoints(coords[0], coords[1], item.x, item.y)
});
}).sort((a, b) => a.distance - b.distance);
document.querySelector('#' + $61671ab24a4170eb0a1c7d9e6ffb22e6$var$TABLE_ID).innerHTML = $61671ab24a4170eb0a1c7d9e6ffb22e6$var$buildTableBodyHTML(villages.items);
};
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$getBonuses = () => {
villages.items = villages.items.map((item)=>{
return $f1e9793517c51c58$export$2e2bcd8739ae039({
}, item, {
distance: $8f952366ce71d0fe$export$6e378131ceaf17af(coords[0], coords[1], item.x, item.y)
});
}).sort((a, b)=>a.distance - b.distance
);
document.querySelector('#' + $0e40ff93e5ed20a5$var$TABLE_ID).innerHTML = $0e40ff93e5ed20a5$var$buildTableBodyHTML(villages.items);
};
const $0e40ff93e5ed20a5$var$getBonuses = ()=>{
let bonuses = [];
for (let i in TWMap.bonus_data) {
bonuses.push({
for(let i in TWMap.bonus_data)bonuses.push({
value: i,
text: TWMap.bonus_data[i].text
});
}
});
return bonuses;
};
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$buildTableBodyHTML = villages => {
return ("\n <tbody>\n <tr>\n <th>\n ").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations.village, "\n </th>\n <th>\n ").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations.distance, "\n </th>\n <th>\n ").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations.action, "\n </th>\n </tr>\n ").concat(Array.isArray(villages) ? villages.map(village => ("<tr>\n <td>\n <a href=\"").concat($6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageURL(village.id), "\">\n ").concat($6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageName(village.name, village.x, village.y), "\n </a>\n </td>\n <td>\n ").concat(village.distance.toFixed(1), "\n </td>\n <td>\n <a href=\"#\" onclick=\"return TWMap.focusUserSpecified(").concat(village.x, ", ").concat(village.y, ")\">").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations.center, "</a>\n </td>\n </tr>")).join('') : '', "\n </tbody>\n ");
};
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$updateActualCoords = () => {
document.querySelector('#' + $61671ab24a4170eb0a1c7d9e6ffb22e6$var$ACTUAL_COORDS_ID).innerHTML = ("").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations.actualCoords, ": <strong>").concat(TWMap.pos.join('|'), "</strong>");
};
const $61671ab24a4170eb0a1c7d9e6ffb22e6$var$renderUI = () => {
const html = ("\n <p id=\"").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$ACTUAL_COORDS_ID, "\"></p>\n <form>\n <select>\n ").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$getBonuses().map(bonus => ("<option value=\"").concat(bonus.value, "\">").concat(bonus.text, "</option>")).join(''), "\n </select>\n <button type=\"submit\">").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$translations.searchBonusBarbarianVillages, "</button>\n </form>\n <table class=\"vis\" style=\"width: 100%;\" id=\"").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$TABLE_ID, "\">\n ").concat($61671ab24a4170eb0a1c7d9e6ffb22e6$var$buildTableBodyHTML(), "\n </table>\n ");
if (!$61671ab24a4170eb0a1c7d9e6ffb22e6$var$container) {
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$container = document.createElement('div');
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$container.classList.add('containerBorder');
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$container.style.clear = 'both';
document.querySelector('#map_big').appendChild($61671ab24a4170eb0a1c7d9e6ffb22e6$var$container);
};
const $0e40ff93e5ed20a5$var$buildTableBodyHTML = (villages)=>{
return `
<tbody>
<tr>
<th>
${$0e40ff93e5ed20a5$var$translations.village}
</th>
<th>
${$0e40ff93e5ed20a5$var$translations.distance}
</th>
<th>
${$0e40ff93e5ed20a5$var$translations.action}
</th>
</tr>
${Array.isArray(villages) ? villages.map((village)=>`<tr>
<td>
<a href="${$db1dd60e5389e0c9$export$e537a41a0fc85cc5(village.id)}">
${$db1dd60e5389e0c9$export$c6f77ec2633c38b1(village.name, village.x, village.y)}
</a>
</td>
<td>
${village.distance.toFixed(1)}
</td>
<td>
<a href="#" onclick="return TWMap.focusUserSpecified(${village.x}, ${village.y})">${$0e40ff93e5ed20a5$var$translations.center}</a>
</td>
</tr>`
).join('') : ''}
</tbody>
`;
};
const $0e40ff93e5ed20a5$var$updateActualCoords = ()=>{
document.querySelector('#' + $0e40ff93e5ed20a5$var$ACTUAL_COORDS_ID).innerHTML = `${$0e40ff93e5ed20a5$var$translations.actualCoords}: <strong>${TWMap.pos.join('|')}</strong>`;
};
const $0e40ff93e5ed20a5$var$renderUI = ()=>{
const html = `
<p id="${$0e40ff93e5ed20a5$var$ACTUAL_COORDS_ID}"></p>
<form>
<select>
${$0e40ff93e5ed20a5$var$getBonuses().map((bonus)=>`<option value="${bonus.value}">${bonus.text}</option>`
).join('')}
</select>
<button type="submit">${$0e40ff93e5ed20a5$var$translations.searchBonusBarbarianVillages}</button>
</form>
<table class="vis" style="width: 100%;" id="${$0e40ff93e5ed20a5$var$TABLE_ID}">
${$0e40ff93e5ed20a5$var$buildTableBodyHTML()}
</table>
`;
if (!$0e40ff93e5ed20a5$var$container) {
$0e40ff93e5ed20a5$var$container = document.createElement('div');
$0e40ff93e5ed20a5$var$container.classList.add('containerBorder');
$0e40ff93e5ed20a5$var$container.style.clear = 'both';
document.querySelector('#map_big').appendChild($0e40ff93e5ed20a5$var$container);
}
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$container.innerHTML = html;
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$container.querySelector('form').addEventListener('submit', $61671ab24a4170eb0a1c7d9e6ffb22e6$var$searchBonusBarbarianVillages);
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$updateActualCoords();
setInterval($61671ab24a4170eb0a1c7d9e6ffb22e6$var$updateActualCoords, 1000);
};
(function () {
$61671ab24a4170eb0a1c7d9e6ffb22e6$var$renderUI();
})();
$0e40ff93e5ed20a5$var$container.innerHTML = html;
$0e40ff93e5ed20a5$var$container.querySelector('form').addEventListener('submit', $0e40ff93e5ed20a5$var$searchBonusBarbarianVillages);
$0e40ff93e5ed20a5$var$updateActualCoords();
setInterval($0e40ff93e5ed20a5$var$updateActualCoords, 1000);
};
(function() {
$0e40ff93e5ed20a5$var$renderUI();
})();
})();

View File

@ -1,64 +1,74 @@
(function () {
const $f9de81cfe3f8a296e0e5a7ba4108bc8c$var$translations = {
const $76945efd441c6f3e$var$translations = {
pl_PL: {
rename: 'Zmień',
name: 'Nazwa'
rename: 'Zmień',
name: 'Nazwa'
},
en_DK: {
rename: 'Rename',
name: 'Name'
rename: 'Rename',
name: 'Name'
},
de_DE: {
rename: 'Umbenennen',
name: 'Name'
rename: 'Umbenennen',
name: 'Name'
}
};
var $f9de81cfe3f8a296e0e5a7ba4108bc8c$export$default = () => $f9de81cfe3f8a296e0e5a7ba4108bc8c$var$translations[window.game_data.locale] || $f9de81cfe3f8a296e0e5a7ba4108bc8c$var$translations.en_DK;
var $393a22f746cd1f6e45eff96c71b28370$export$default = t => new Promise(resolve => setTimeout(resolve, t));
// ==UserScript==
// @name Command renamer
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/commandRenamer.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/commandRenamer.js
// @version 0.2.5
// @description Command renamer
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*mode=incomings*
// @grant none
// ==/UserScript==
const $a00f5166aafbcf4ccffe3cfb8f4b9923$var$translations = $f9de81cfe3f8a296e0e5a7ba4108bc8c$export$default();
const $a00f5166aafbcf4ccffe3cfb8f4b9923$var$handleSubmit = async e => {
};
var $76945efd441c6f3e$export$2e2bcd8739ae039 = ()=>$76945efd441c6f3e$var$translations[window.game_data.locale] || $76945efd441c6f3e$var$translations.en_DK
;
var $fc029eaf0e980c2d$export$2e2bcd8739ae039 = (t)=>new Promise((resolve)=>setTimeout(resolve, t)
)
;
// ==UserScript==
// @name Command renamer
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/commandRenamer.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/commandRenamer.js
// @version 0.2.5
// @description Command renamer
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*mode=incomings*
// @grant none
// ==/UserScript==
const $1e4faa846c4448db$var$translations = $76945efd441c6f3e$export$2e2bcd8739ae039();
const $1e4faa846c4448db$var$handleSubmit = async (e)=>{
e.preventDefault();
const name = e.target[0].value;
if (!name) return;
const checkboxes = document.querySelectorAll('#incomings_table input:checked');
e.target[1].disabled = true;
for (let i = 0; i < checkboxes.length; i++) {
const checkbox = checkboxes[i];
if (checkbox.id === 'select_all') continue;
const icon = checkbox.parentElement.querySelector('.rename-icon');
icon.click();
await $393a22f746cd1f6e45eff96c71b28370$export$default(20);
const quickeditForm = checkbox.parentElement.querySelector('.quickedit-edit');
quickeditForm.querySelector('input').value = name;
quickeditForm.querySelector('input[type="button"]').click();
await $393a22f746cd1f6e45eff96c71b28370$export$default(350);
for(let i = 0; i < checkboxes.length; i++){
const checkbox = checkboxes[i];
if (checkbox.id === 'select_all') continue;
const icon = checkbox.parentElement.querySelector('.rename-icon');
icon.click();
await $fc029eaf0e980c2d$export$2e2bcd8739ae039(20);
const quickeditForm = checkbox.parentElement.querySelector('.quickedit-edit');
quickeditForm.querySelector('input').value = name;
quickeditForm.querySelector('input[type="button"]').click();
await $fc029eaf0e980c2d$export$2e2bcd8739ae039(350);
}
e.target[1].disabled = false;
};
const $a00f5166aafbcf4ccffe3cfb8f4b9923$var$renderUI = () => {
const html = ("\n <input type=\"text\" placeholder=\"").concat($a00f5166aafbcf4ccffe3cfb8f4b9923$var$translations.name, "\" />\n <button type=\"submit\">").concat($a00f5166aafbcf4ccffe3cfb8f4b9923$var$translations.rename, "</button>\n ");
};
const $1e4faa846c4448db$var$renderUI = ()=>{
const html = `
<input type="text" placeholder="${$1e4faa846c4448db$var$translations.name}" />
<button type="submit">${$1e4faa846c4448db$var$translations.rename}</button>
`;
const form = document.createElement('form');
form.innerHTML = html;
form.addEventListener('submit', $a00f5166aafbcf4ccffe3cfb8f4b9923$var$handleSubmit);
form.addEventListener('submit', $1e4faa846c4448db$var$handleSubmit);
document.querySelector('#paged_view_content').insertBefore(form, document.querySelector('#incomings_form'));
};
(async function () {
};
(async function() {
try {
$a00f5166aafbcf4ccffe3cfb8f4b9923$var$renderUI();
$1e4faa846c4448db$var$renderUI();
} catch (error) {
console.log('command renamer', error);
console.log('command renamer', error);
}
})();
})();
})();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,171 +1,191 @@
(function () {
var $39c4220bac5e8e55ae13cc7489410b3e$export$default = url => parseInt(new URLSearchParams(url).get('id'));
class $eb13db7801b83919c60cd8b3e0a8a6d8$export$default {
constructor() {
let html = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
this.dom = new DOMParser().parseFromString(html, 'text/html');
this.trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr');
this.filters = filters;
}
var $c1259165cf39ac5b$export$2e2bcd8739ae039 = (url)=>parseInt(new URLSearchParams(url).get('id'))
;
class $417def0de2fa2238$export$2e2bcd8739ae039 {
isValidRow(row) {
if (!row) {
return false;
}
if (this.filters.playerID && row.playerID !== this.filters.playerID) {
return false;
}
if (this.filters.tribes && Array.isArray(this.filters.tribes) && !this.filters.tribes.some(tribe => tribe === row.tribe)) {
return false;
}
return true;
if (!row) return false;
if (this.filters.playerID && row.playerID !== this.filters.playerID) return false;
if (this.filters.tribes && Array.isArray(this.filters.tribes) && !this.filters.tribes.some((tribe)=>tribe === row.tribe
)) return false;
return true;
}
parseRow(row) {
if (!row || !row instanceof HTMLTableRowElement) {
return undefined;
}
let obj = {};
obj.rank = parseInt(row.children[0].innerText.trim());
obj.name = row.children[1].innerText.trim();
obj.playerID = $39c4220bac5e8e55ae13cc7489410b3e$export$default(row.children[1].querySelector('a').getAttribute('href'));
obj.tribe = row.children[2].innerText.trim();
obj.tribeID = 0;
if (obj.tribe) {
obj.tribeID = $39c4220bac5e8e55ae13cc7489410b3e$export$default(row.children[2].querySelector('a').getAttribute('href'));
}
obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, ''));
obj.date = row.children[4].innerText.trim();
return obj;
if (!row || !row instanceof HTMLTableRowElement) return undefined;
let obj = {
};
obj.rank = parseInt(row.children[0].innerText.trim());
obj.name = row.children[1].innerText.trim();
obj.playerID = $c1259165cf39ac5b$export$2e2bcd8739ae039(row.children[1].querySelector('a').getAttribute('href'));
obj.tribe = row.children[2].innerText.trim();
obj.tribeID = 0;
if (obj.tribe) obj.tribeID = $c1259165cf39ac5b$export$2e2bcd8739ae039(row.children[2].querySelector('a').getAttribute('href'));
obj.score = parseInt(row.children[3].innerText.trim().replace(/\./g, ''));
obj.date = row.children[4].innerText.trim();
return obj;
}
parse() {
const result = [];
for (let i = 1; i < this.trs.length; i++) {
const row = this.trs[i];
const parsed = this.parseRow(row);
if (this.isValidRow(parsed)) {
result.push(parsed);
const result = [];
for(let i = 1; i < this.trs.length; i++){
const row = this.trs[i];
const parsed = this.parseRow(row);
if (this.isValidRow(parsed)) result.push(parsed);
}
}
return result;
return result;
}
}
const $1ff13e3fe910eee13bb8940db87b1675$var$translations = {
constructor(html = '', filters = {
}){
this.dom = new DOMParser().parseFromString(html, 'text/html');
this.trs = this.dom.querySelectorAll('#in_a_day_ranking_table tbody tr');
this.filters = filters;
}
}
const $90cf6cc573d95758$var$translations = {
pl_PL: {
addTribe: 'Dodaj plemię',
generate: 'Wygeneruj',
delete: 'Usuń',
player: 'Gracz',
tribe: 'Plemię',
rank: 'Ranking',
score: 'Wynik',
date: 'Data',
loaded: 'Załadowano'
addTribe: 'Dodaj plemię',
generate: 'Wygeneruj',
delete: 'Usuń',
player: 'Gracz',
tribe: 'Plemię',
rank: 'Ranking',
score: 'Wynik',
date: 'Data',
loaded: 'Załadowano'
},
en_DK: {
addTribe: 'Add tribe',
generate: 'Generate',
delete: 'Delete',
player: 'Player',
tribe: 'Tribe',
rank: 'Rank',
score: 'Score',
date: 'Date',
loaded: 'Loaded'
addTribe: 'Add tribe',
generate: 'Generate',
delete: 'Delete',
player: 'Player',
tribe: 'Tribe',
rank: 'Rank',
score: 'Score',
date: 'Date',
loaded: 'Loaded'
},
de_DE: {
addTribe: 'Stamm hinzufügen',
generate: 'Generieren',
delete: 'Löschen',
player: 'Spieler',
tribe: 'Stamm',
rank: 'Rang',
score: 'Punkte',
date: 'Datum',
loaded: 'Geladen'
addTribe: 'Stamm hinzufügen',
generate: 'Generieren',
delete: 'Löschen',
player: 'Spieler',
tribe: 'Stamm',
rank: 'Rang',
score: 'Punkte',
date: 'Datum',
loaded: 'Geladen'
}
};
var $1ff13e3fe910eee13bb8940db87b1675$export$default = () => $1ff13e3fe910eee13bb8940db87b1675$var$translations[window.game_data.locale] || $1ff13e3fe910eee13bb8940db87b1675$var$translations.en_DK;
var $393a22f746cd1f6e45eff96c71b28370$export$default = t => new Promise(resolve => setTimeout(resolve, t));
// ==UserScript==
// @name 'In A Day' tribe ranking generator
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @version 0.2.4
// @description 'In A Day' tribe ranking generator
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=ranking*mode=in_a_day*
// @grant none
// @run-at document-end
// ==/UserScript==
const $cfc814bc73bf1f67f8083cc3d02e6787$var$TRIBE_CONTAINER_ID = 'iad_tribes';
const $cfc814bc73bf1f67f8083cc3d02e6787$var$LIMIT_INPUT_ID = 'iad_limit';
const $cfc814bc73bf1f67f8083cc3d02e6787$var$translations = $1ff13e3fe910eee13bb8940db87b1675$export$default();
const $cfc814bc73bf1f67f8083cc3d02e6787$var$addTribe = () => {
const container = document.querySelector('#' + $cfc814bc73bf1f67f8083cc3d02e6787$var$TRIBE_CONTAINER_ID);
};
var $90cf6cc573d95758$export$2e2bcd8739ae039 = ()=>$90cf6cc573d95758$var$translations[window.game_data.locale] || $90cf6cc573d95758$var$translations.en_DK
;
var $fc029eaf0e980c2d$export$2e2bcd8739ae039 = (t)=>new Promise((resolve)=>setTimeout(resolve, t)
)
;
// ==UserScript==
// @name 'In A Day' tribe ranking generator
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @version 0.2.4
// @description 'In A Day' tribe ranking generator
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=ranking*mode=in_a_day*
// @grant none
// @run-at document-end
// ==/UserScript==
const $17703ec1bda5292c$var$TRIBE_CONTAINER_ID = 'iad_tribes';
const $17703ec1bda5292c$var$LIMIT_INPUT_ID = 'iad_limit';
const $17703ec1bda5292c$var$translations = $90cf6cc573d95758$export$2e2bcd8739ae039();
const $17703ec1bda5292c$var$addTribe = ()=>{
const container = document.querySelector('#' + $17703ec1bda5292c$var$TRIBE_CONTAINER_ID);
const div = document.createElement('div');
div.innerHTML = ("\n <label>").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.tribe, ": </label>\n <input type=\"text\" required />\n <button type=\"button\">").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.delete, "</button>\n ");
div.querySelector('button').addEventListener('click', () => {
if (container.children.length > 1) {
div.remove();
}
div.innerHTML = `
<label>${$17703ec1bda5292c$var$translations.tribe}: </label>
<input type="text" required />
<button type="button">${$17703ec1bda5292c$var$translations.delete}</button>
`;
div.querySelector('button').addEventListener('click', ()=>{
if (container.children.length > 1) div.remove();
});
container.appendChild(div);
};
const $cfc814bc73bf1f67f8083cc3d02e6787$var$handleFormSubmit = async e => {
};
const $17703ec1bda5292c$var$handleFormSubmit = async (e)=>{
e.preventDefault();
const limit = parseInt(document.querySelector('#' + $cfc814bc73bf1f67f8083cc3d02e6787$var$LIMIT_INPUT_ID).value);
const limit = parseInt(document.querySelector('#' + $17703ec1bda5292c$var$LIMIT_INPUT_ID).value);
const tribes = [];
const type = new URLSearchParams(window.location.search).get('type') || 'kill_att';
document.querySelectorAll('#' + $cfc814bc73bf1f67f8083cc3d02e6787$var$TRIBE_CONTAINER_ID + ' input').forEach(el => {
if (el.value) tribes.push(el.value.trim());
document.querySelectorAll('#' + $17703ec1bda5292c$var$TRIBE_CONTAINER_ID + ' input').forEach((el)=>{
if (el.value) tribes.push(el.value.trim());
});
let players = [];
let page = 0;
while (players.length < limit) {
Dialog.show('iad_loading', ("").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.loaded, ": <strong>").concat(players.length, "/").concat(limit, "</strong>"));
try {
const response = await fetch(TribalWars.buildURL('', {
screen: 'ranking',
mode: 'in_a_day',
type,
offset: page * 25
}));
const html = await response.text();
const parser = new $eb13db7801b83919c60cd8b3e0a8a6d8$export$default(html, {
tribes
});
if (parser.trs.length !== 26) break;
players = [...players, ...parser.parse()];
page++;
await $393a22f746cd1f6e45eff96c71b28370$export$default(200);
} catch (error) {
break;
}
while(players.length < limit){
Dialog.show('iad_loading', `${$17703ec1bda5292c$var$translations.loaded}: <strong>${players.length}/${limit}</strong>`);
try {
const response = await fetch(TribalWars.buildURL('', {
screen: 'ranking',
mode: 'in_a_day',
type: type,
offset: page * 25
}));
const html = await response.text();
const parser = new $417def0de2fa2238$export$2e2bcd8739ae039(html, {
tribes: tribes
});
if (parser.trs.length !== 26) break;
players = [
...players,
...parser.parse()
];
page++;
await $fc029eaf0e980c2d$export$2e2bcd8739ae039(200);
} catch (error) {
break;
}
}
if (players.length > limit) {
players = players.slice(0, limit);
}
Dialog.show('iad_result', ("\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.player, "[||]").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.tribe, "[||]").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.rank, "[||]").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.score, "[||]").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.date, "[/**]\n").concat(players.map((player, index) => {
return ("[*]").concat(index + 1, ".[|][player]").concat(player.name, "[/player][|][ally]").concat(player.tribe, "[/ally][|]").concat(player.rank, "[|]").concat(player.score.toLocaleString(), "[|]").concat(player.date);
}).join('\n'), "\n[/table]</textarea>\n "));
};
const $cfc814bc73bf1f67f8083cc3d02e6787$var$renderUI = () => {
if (players.length > limit) players = players.slice(0, limit);
Dialog.show('iad_result', `
<textarea cols=30 rows=8 readonly>[table]
[**][||]${$17703ec1bda5292c$var$translations.player}[||]${$17703ec1bda5292c$var$translations.tribe}[||]${$17703ec1bda5292c$var$translations.rank}[||]${$17703ec1bda5292c$var$translations.score}[||]${$17703ec1bda5292c$var$translations.date}[/**]
${players.map((player, index)=>{
return `[*]${index + 1}.[|][player]${player.name}[/player][|][ally]${player.tribe}[/ally][|]${player.rank}[|]${player.score.toLocaleString()}[|]${player.date}`;
}).join('\n')}
[/table]</textarea>
`);
};
const $17703ec1bda5292c$var$renderUI = ()=>{
const addButtonID = 'iad_add';
const div = document.createElement('div');
const html = ("\n <form>\n <div id=\"").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$TRIBE_CONTAINER_ID, "\">\n </div>\n <div>\n <label>Limit: </label>\n <input id=\"").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$LIMIT_INPUT_ID, "\" type=\"number\" min=\"1\" value=\"10\" required />\n </div>\n <button type=\"submit\">").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.generate, "</button>\n <button id=\"").concat(addButtonID, "\" type=\"button\">").concat($cfc814bc73bf1f67f8083cc3d02e6787$var$translations.addTribe, "</button>\n </form>\n ");
const html = `
<form>
<div id="${$17703ec1bda5292c$var$TRIBE_CONTAINER_ID}">
</div>
<div>
<label>Limit: </label>
<input id="${$17703ec1bda5292c$var$LIMIT_INPUT_ID}" type="number" min="1" value="10" required />
</div>
<button type="submit">${$17703ec1bda5292c$var$translations.generate}</button>
<button id="${addButtonID}" type="button">${$17703ec1bda5292c$var$translations.addTribe}</button>
</form>
`;
div.innerHTML = html;
document.querySelector('#content_value > table > tbody > tr > td:nth-child(2)').prepend(div);
div.querySelector('form').addEventListener('submit', $cfc814bc73bf1f67f8083cc3d02e6787$var$handleFormSubmit);
div.querySelector('#' + addButtonID).addEventListener('click', $cfc814bc73bf1f67f8083cc3d02e6787$var$addTribe);
$cfc814bc73bf1f67f8083cc3d02e6787$var$addTribe();
};
(function () {
div.querySelector('form').addEventListener('submit', $17703ec1bda5292c$var$handleFormSubmit);
div.querySelector('#' + addButtonID).addEventListener('click', $17703ec1bda5292c$var$addTribe);
$17703ec1bda5292c$var$addTribe();
};
(function() {
try {
$cfc814bc73bf1f67f8083cc3d02e6787$var$renderUI();
$17703ec1bda5292c$var$renderUI();
} catch (error) {
console.log("'In A Day' Tribe Ranking Generator", error);
console.log(`'In A Day' Tribe Ranking Generator`, error);
}
})();
})();
})();

View File

@ -1,364 +1,437 @@
(function () {
const $3af05e958b2a20a26445518aba292c50$export$API_URI = 'https://api.tribalwarshelp.com/graphql';
var $3af05e958b2a20a26445518aba292c50$export$default = function () {
let {query, variables = {}} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return fetch($3af05e958b2a20a26445518aba292c50$export$API_URI, {
method: 'POST',
body: JSON.stringify({
query,
variables
}),
headers: {
'Content-Type': 'application/json'
}
}).then(res => {
return res.json();
}).then(_ref => {
let {data, errors} = _ref;
if (errors && Array.isArray(errors) && errors.length > 0) {
throw new Error(errors[0].message);
}
return new Promise(resolve => resolve(data));
});
};
const $6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR = '.popup_box';
const $6412e4d8722bc72f55b3c382206290ed$export$default = function showPopup() {
let {html, id, title} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
Dialog.show(id, ("<h3>").concat(title, "</h3>") + html);
const popup = document.querySelector($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR);
if (popup) {
popup.style.width = 'auto';
popup.style.maxWidth = '1000px';
}
};
var $075335fbc46b1a64d60d11b353f74662$export$default = () => window.location.host.split('.')[0];
const $87a1b3fb6327eb299adebba75fcb33c5$export$inTZ = function inTZ() {
let d = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();
let tz = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'UTC';
return new Date(new Date(d).toLocaleString('en-US', {
timeZone: tz
}));
};
const $87a1b3fb6327eb299adebba75fcb33c5$export$formatDate = (date, options) => {
return new Date(date).toLocaleDateString(undefined, options ? options : {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildTribeURL = id => {
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_ally',
id
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildPlayerURL = id => {
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_player',
id
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageURL = id => {
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_village',
id
});
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageName = function buildVillageName() {
let n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
let y = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 500;
const continent = 'K' + String(y)[0] + String(x)[0];
return ("").concat(n, " (").concat(x, "|").concat(y, ") ").concat(continent);
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$calcAttackDuration = (distance, baseSpeed) => {
return Math.round(distance * baseSpeed);
};
const $6a639e352c067a7850a9fa8cdc59ffca$export$buildImgURL = img => {
return image_base + img;
};
const $3d935538f644f492fe681e00121114a4$export$getItem = function getItem(key) {
let d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
const json = localStorage.getItem(key);
let obj = d;
if (json) {
obj = JSON.parse(json);
}
return obj;
};
const $3d935538f644f492fe681e00121114a4$export$setItem = (key, payload) => {
localStorage.setItem(key, JSON.stringify(payload));
};
const $d147509fefd1cb8b3b83e8f38f763543$export$BASE_URL = 'tribalwarshelp.com';
const $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToServerPage = function buildURLToServerPage() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
return ("https://").concat(version, ".").concat($d147509fefd1cb8b3b83e8f38f763543$export$BASE_URL, "/server/").concat(server);
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile = function buildURLToProfile() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
let entity = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
return ("").concat($d147509fefd1cb8b3b83e8f38f763543$export$buildURLToServerPage(version, server), "/").concat(entity, "/").concat(id);
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildPlayerURL = function buildPlayerURL() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile(version, server, id, 'player');
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildTribeURL = function buildTribeURL() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile(version, server, id, 'tribe');
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildVillageURL = function buildVillageURL() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile(version, server, id, 'village');
};
var $1f14636dcc53402ba1b7661b758ca0aa$export$default = function () {
let server = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
return server.substr(0, 2);
};
const $99c8891cf568d26204a670851b79ae0c$var$translations = {
pl_PL: {
showLatestEnnoblements: 'Pokaż najnowsze przejęcia',
village: 'Wioska',
newOwner: 'Nowy właściciel',
newOwnerTribe: 'Plemię nowego właściciela',
oldOwner: 'Poprzedni właściciel',
oldOwnerTribe: 'Plemię poprzedniego właściciela',
date: 'Data',
filters: 'Filtry',
apply: 'Zastosuj',
ennoblements: 'Przejęcia',
devNote: 'Informacja od autora - Właśnie uruchomiłem nową stronę ze statystykami, nie zapomnij jej sprawdzić :).'
},
en_DK: {
showLatestEnnoblements: 'Show the latest ennoblements',
village: 'Village',
newOwner: 'New owner',
newOwnerTribe: 'New owner tribe',
oldOwner: 'Old owner',
oldOwnerTribe: 'Old owner tribe',
filters: 'Filters',
date: 'Date',
apply: 'Apply',
ennoblements: 'Ennoblements',
devNote: "Information from the author - I've just launched a new stat tracking website, don't forget to check it out :)."
},
de_DE: {
showLatestEnnoblements: 'Zeige letzten Adelungen',
village: 'Dorf',
newOwner: 'Neuer Besitzer',
newOwnerTribe: 'Neuer Stamm',
oldOwner: 'Alter Besitzer',
oldOwnerTribe: 'Alter Stamm',
filters: 'Filter',
date: 'Datum',
apply: 'Anwenden',
ennoblements: 'Adelungen',
devNote: "Information vom Entwickler - Ich habe eine neue Statistik-Website gestartet, vergiss nicht diese zu testen :)."
}
};
var $99c8891cf568d26204a670851b79ae0c$export$default = () => $99c8891cf568d26204a670851b79ae0c$var$translations[window.game_data.locale] || $99c8891cf568d26204a670851b79ae0c$var$translations.en_DK;
function $4b608a4f8bc414684a9ca9d86149295e$var$ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys.push.apply(keys, symbols);
}
return keys;
}
function $4b608a4f8bc414684a9ca9d86149295e$var$_objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
$4b608a4f8bc414684a9ca9d86149295e$var$ownKeys(Object(source), true).forEach(function (key) {
$4b608a4f8bc414684a9ca9d86149295e$var$_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
$4b608a4f8bc414684a9ca9d86149295e$var$ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
}
return target;
}
function $4b608a4f8bc414684a9ca9d86149295e$var$_defineProperty(obj, key, value) {
if ((key in obj)) {
Object.defineProperty(obj, key, {
function $6a49e4c969cec444$export$2e2bcd8739ae039(obj, key, value) {
if (key in obj) Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
});
else obj[key] = value;
return obj;
}
// ==UserScript==
// @name The latest ennoblements
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/latestEnnoblements.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/latestEnnoblements.js
// @version 1.1.2
// @description Shows the latest ennoblements
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*
// @grant none
// @run-at document-end
// ==/UserScript==
const $4b608a4f8bc414684a9ca9d86149295e$var$SERVER = $075335fbc46b1a64d60d11b353f74662$export$default();
const $4b608a4f8bc414684a9ca9d86149295e$var$FILTER_FORM_ID = 'le_form';
const $4b608a4f8bc414684a9ca9d86149295e$var$TABLE_ID = 'le_table';
const $4b608a4f8bc414684a9ca9d86149295e$var$CACHE_LOCAL_STORAGE_KEY = 'kiszkowaty_show_latest_ennoblements_cache';
const $4b608a4f8bc414684a9ca9d86149295e$var$FILTERS_LOCAL_STORAGE_KEY = 'kiszkowaty_show_latest_ennoblements_filter';
const $4b608a4f8bc414684a9ca9d86149295e$var$ICON_URL = 'https://i.imgur.com/4WP4098.png';
const $4b608a4f8bc414684a9ca9d86149295e$var$query = "\n query ennoblements($server: String!, $sort: [String!], $limit: Int) {\n ennoblements(server: $server, sort: $sort, limit: $limit) {\n items {\n newOwner {\n id\n name\n tribe {\n id\n name\n tag\n }\n }\n oldOwner {\n id\n name\n tribe {\n id\n name\n tag\n }\n }\n ennobledAt\n village {\n id\n name\n x\n y\n }\n }\n }\n }\n ";
const $4b608a4f8bc414684a9ca9d86149295e$var$DEFAULT_FILTER = {
}
function $f1e9793517c51c58$export$2e2bcd8739ae039(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {
};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === 'function') ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
ownKeys.forEach(function(key) {
$6a49e4c969cec444$export$2e2bcd8739ae039(target, key, source[key]);
});
}
return target;
}
function $b1520df0e3a4699c$export$2e2bcd8739ae039(source, excluded) {
if (source == null) return {
};
var target = {
};
var sourceKeys = Object.keys(source);
var key, i;
for(i = 0; i < sourceKeys.length; i++){
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function $f26b272b176e5476$export$2e2bcd8739ae039(source, excluded) {
if (source == null) return {
};
var target = $b1520df0e3a4699c$export$2e2bcd8739ae039(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for(i = 0; i < sourceSymbolKeys.length; i++){
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
const $902f167bfdc7b30b$export$fb18762d0c18fa09 = 'https://api.tribalwarshelp.com/graphql';
var $902f167bfdc7b30b$export$2e2bcd8739ae039 = ({ query: query , variables: variables = {
} } = {
})=>{
return fetch($902f167bfdc7b30b$export$fb18762d0c18fa09, {
method: 'POST',
body: JSON.stringify({
query: query,
variables: variables
}),
headers: {
'Content-Type': 'application/json'
}
}).then((res)=>{
return res.json();
}).then(({ data: data , errors: errors })=>{
if (errors && Array.isArray(errors) && errors.length > 0) throw new Error(errors[0].message);
return new Promise((resolve)=>resolve(data)
);
});
};
const $20636c16dad2c11a$export$21d4bed11ae27f0b = '.popup_box';
const $20636c16dad2c11a$var$showPopup = ({ html: html , id: id , title: title } = {
})=>{
Dialog.show(id, `<h3>${title}</h3>` + html);
const popup = document.querySelector($20636c16dad2c11a$export$21d4bed11ae27f0b);
if (popup) {
popup.style.width = 'auto';
popup.style.maxWidth = '1000px';
}
};
var $20636c16dad2c11a$export$2e2bcd8739ae039 = $20636c16dad2c11a$var$showPopup;
var $9412d55e353d4b8b$export$2e2bcd8739ae039 = ()=>window.location.host.split('.')[0]
;
const $ca7593443ca49f96$export$17201263355d526a = (d = new Date(), tz = 'UTC')=>{
return new Date(new Date(d).toLocaleString('en-US', {
timeZone: tz
}));
};
const $ca7593443ca49f96$export$6a20e8f386d90a85 = (d = new Date())=>{
return $ca7593443ca49f96$export$17201263355d526a(d);
};
const $ca7593443ca49f96$export$3ae94a2503e890a1 = (date, options)=>{
return new Date(date).toLocaleDateString(undefined, options ? options : {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
});
};
const $db1dd60e5389e0c9$export$7345792e21cfc457 = (id)=>{
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_ally',
id: id
});
};
const $db1dd60e5389e0c9$export$3df7b9b48f38839e = (id)=>{
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_player',
id: id
});
};
const $db1dd60e5389e0c9$export$e537a41a0fc85cc5 = (id)=>{
return window.location.origin + TribalWars.buildURL('', {
screen: 'info_village',
id: id
});
};
const $db1dd60e5389e0c9$export$c6f77ec2633c38b1 = (n = '', x = 500, y = 500)=>{
const continent = 'K' + String(y)[0] + String(x)[0];
return `${n} (${x}|${y}) ${continent}`;
};
const $db1dd60e5389e0c9$export$893530ca1c0f63a2 = (distance, baseSpeed)=>{
return Math.round(distance * baseSpeed);
};
const $db1dd60e5389e0c9$export$8b4b6650247854da = (img)=>{
return image_base + img;
};
const $362bcac9fa8968ec$export$f92dfeb71e9bb569 = (key, d = {
})=>{
const json = localStorage.getItem(key);
let obj = d;
if (json) obj = JSON.parse(json);
return obj;
};
const $362bcac9fa8968ec$export$8a8216c44337cd5 = (key, payload)=>{
localStorage.setItem(key, JSON.stringify(payload));
};
const $f3b273bd698d94bc$export$ca6dda5263526f75 = 'tribalwarshelp.com';
const $f3b273bd698d94bc$export$5d5850cc00079a21 = (version = '', server = '')=>{
return `https://${version}.${$f3b273bd698d94bc$export$ca6dda5263526f75}/server/${server}`;
};
const $f3b273bd698d94bc$export$a4588dcb88e3f9db = (version = '', server = '', id = 0, entity = '')=>{
return `${$f3b273bd698d94bc$export$5d5850cc00079a21(version, server)}/${entity}/${id}`;
};
const $f3b273bd698d94bc$export$3df7b9b48f38839e = (version = '', server = '', id = 0)=>{
return $f3b273bd698d94bc$export$a4588dcb88e3f9db(version, server, id, 'player');
};
const $f3b273bd698d94bc$export$7345792e21cfc457 = (version = '', server = '', id = 0)=>{
return $f3b273bd698d94bc$export$a4588dcb88e3f9db(version, server, id, 'tribe');
};
const $f3b273bd698d94bc$export$e537a41a0fc85cc5 = (version = '', server = '', id = 0)=>{
return $f3b273bd698d94bc$export$a4588dcb88e3f9db(version, server, id, 'village');
};
var $5b3edb3901c8177a$export$2e2bcd8739ae039 = (server = '')=>server.substr(0, 2)
;
const $aa32efa5012345c3$var$translations = {
pl_PL: {
showLatestEnnoblements: 'Pokaż najnowsze przejęcia',
village: 'Wioska',
newOwner: 'Nowy właściciel',
newOwnerTribe: 'Plemię nowego właściciela',
oldOwner: 'Poprzedni właściciel',
oldOwnerTribe: 'Plemię poprzedniego właściciela',
date: 'Data',
filters: 'Filtry',
apply: 'Zastosuj',
ennoblements: 'Przejęcia',
devNote: 'Informacja od autora - Właśnie uruchomiłem nową stronę ze statystykami, nie zapomnij jej sprawdzić :).'
},
en_DK: {
showLatestEnnoblements: 'Show the latest ennoblements',
village: 'Village',
newOwner: 'New owner',
newOwnerTribe: 'New owner tribe',
oldOwner: 'Old owner',
oldOwnerTribe: 'Old owner tribe',
filters: 'Filters',
date: 'Date',
apply: 'Apply',
ennoblements: 'Ennoblements',
devNote: `Information from the author - I've just launched a new stat tracking website, don't forget to check it out :).`
},
de_DE: {
showLatestEnnoblements: 'Zeige letzten Adelungen',
village: 'Dorf',
newOwner: 'Neuer Besitzer',
newOwnerTribe: 'Neuer Stamm',
oldOwner: 'Alter Besitzer',
oldOwnerTribe: 'Alter Stamm',
filters: 'Filter',
date: 'Datum',
apply: 'Anwenden',
ennoblements: 'Adelungen',
devNote: `Information vom Entwickler - Ich habe eine neue Statistik-Website gestartet, vergiss nicht diese zu testen :).`
}
};
var $aa32efa5012345c3$export$2e2bcd8739ae039 = ()=>$aa32efa5012345c3$var$translations[window.game_data.locale] || $aa32efa5012345c3$var$translations.en_DK
;
// ==UserScript==
// @name The latest ennoblements
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/latestEnnoblements.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/latestEnnoblements.js
// @version 1.1.2
// @description Shows the latest ennoblements
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*
// @grant none
// @run-at document-end
// ==/UserScript==
const $bb01b23dae8f6ba6$var$SERVER = $9412d55e353d4b8b$export$2e2bcd8739ae039();
const $bb01b23dae8f6ba6$var$FILTER_FORM_ID = 'le_form';
const $bb01b23dae8f6ba6$var$TABLE_ID = 'le_table';
const $bb01b23dae8f6ba6$var$CACHE_LOCAL_STORAGE_KEY = 'kiszkowaty_show_latest_ennoblements_cache';
const $bb01b23dae8f6ba6$var$FILTERS_LOCAL_STORAGE_KEY = 'kiszkowaty_show_latest_ennoblements_filter';
const $bb01b23dae8f6ba6$var$ICON_URL = 'https://i.imgur.com/4WP4098.png';
const $bb01b23dae8f6ba6$var$query = `
query ennoblements($server: String!, $sort: [String!], $limit: Int) {
ennoblements(server: $server, sort: $sort, limit: $limit) {
items {
newOwner {
id
name
tribe {
id
name
tag
}
}
oldOwner {
id
name
tribe {
id
name
tag
}
}
ennobledAt
village {
id
name
x
y
}
}
}
}
`;
const $bb01b23dae8f6ba6$var$DEFAULT_FILTER = {
newOwner: '',
newOwnerTribe: '',
oldOwner: '',
oldOwnerTribe: ''
};
const $4b608a4f8bc414684a9ca9d86149295e$var$translations = $99c8891cf568d26204a670851b79ae0c$export$default();
const $4b608a4f8bc414684a9ca9d86149295e$var$loadLatestEnnoblementsFromCache = () => {
return $3d935538f644f492fe681e00121114a4$export$getItem($4b608a4f8bc414684a9ca9d86149295e$var$CACHE_LOCAL_STORAGE_KEY);
};
const $4b608a4f8bc414684a9ca9d86149295e$var$loadFilters = () => {
return $3d935538f644f492fe681e00121114a4$export$getItem($4b608a4f8bc414684a9ca9d86149295e$var$FILTERS_LOCAL_STORAGE_KEY);
};
const $4b608a4f8bc414684a9ca9d86149295e$var$cacheEnnoblements = function cacheEnnoblements() {
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
$3d935538f644f492fe681e00121114a4$export$setItem($4b608a4f8bc414684a9ca9d86149295e$var$CACHE_LOCAL_STORAGE_KEY, data);
};
const $4b608a4f8bc414684a9ca9d86149295e$var$cacheFilters = function cacheFilters() {
let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
$3d935538f644f492fe681e00121114a4$export$setItem($4b608a4f8bc414684a9ca9d86149295e$var$FILTERS_LOCAL_STORAGE_KEY, data);
};
const $4b608a4f8bc414684a9ca9d86149295e$var$loadLatestEnnoblements = () => {
return $3af05e958b2a20a26445518aba292c50$export$default({
query: $4b608a4f8bc414684a9ca9d86149295e$var$query,
variables: {
server: $4b608a4f8bc414684a9ca9d86149295e$var$SERVER,
limit: 50,
sort: ['ennobledAt DESC']
}
}).then(data => {
$4b608a4f8bc414684a9ca9d86149295e$var$cacheEnnoblements(data);
return new Promise(resolve => resolve(data));
};
const $bb01b23dae8f6ba6$var$translations = $aa32efa5012345c3$export$2e2bcd8739ae039();
const $bb01b23dae8f6ba6$var$loadLatestEnnoblementsFromCache = ()=>{
return $362bcac9fa8968ec$export$f92dfeb71e9bb569($bb01b23dae8f6ba6$var$CACHE_LOCAL_STORAGE_KEY);
};
const $bb01b23dae8f6ba6$var$loadFilters = ()=>{
return $362bcac9fa8968ec$export$f92dfeb71e9bb569($bb01b23dae8f6ba6$var$FILTERS_LOCAL_STORAGE_KEY);
};
const $bb01b23dae8f6ba6$var$cacheEnnoblements = (data = {
})=>{
$362bcac9fa8968ec$export$8a8216c44337cd5($bb01b23dae8f6ba6$var$CACHE_LOCAL_STORAGE_KEY, data);
};
const $bb01b23dae8f6ba6$var$cacheFilters = (data = {
})=>{
$362bcac9fa8968ec$export$8a8216c44337cd5($bb01b23dae8f6ba6$var$FILTERS_LOCAL_STORAGE_KEY, data);
};
const $bb01b23dae8f6ba6$var$loadLatestEnnoblements = ()=>{
return $902f167bfdc7b30b$export$2e2bcd8739ae039({
query: $bb01b23dae8f6ba6$var$query,
variables: {
server: $bb01b23dae8f6ba6$var$SERVER,
limit: 50,
sort: [
'ennobledAt DESC'
]
}
}).then((data)=>{
$bb01b23dae8f6ba6$var$cacheEnnoblements(data);
return new Promise((resolve)=>resolve(data)
);
});
};
const $4b608a4f8bc414684a9ca9d86149295e$var$isValidPlayer = (obj, searchValue) => {
};
const $bb01b23dae8f6ba6$var$isValidPlayer = (obj, searchValue)=>{
return obj && obj.name.toLowerCase().includes(searchValue.toLowerCase());
};
const $4b608a4f8bc414684a9ca9d86149295e$var$isValidPlayerTribe = (obj, searchValue) => {
};
const $bb01b23dae8f6ba6$var$isValidPlayerTribe = (obj, searchValue)=>{
return obj && obj.tribe && (obj.tribe.name.toLowerCase().includes(searchValue.toLowerCase()) || obj.tribe.tag.toLowerCase().includes(searchValue.toLowerCase()));
};
const $4b608a4f8bc414684a9ca9d86149295e$var$filterEnnoblements = function filterEnnoblements() {
let ennoblements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
let {newOwner, newOwnerTribe, oldOwner, oldOwnerTribe} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return ennoblements.filter(ennoblement => {
if (newOwner && !$4b608a4f8bc414684a9ca9d86149295e$var$isValidPlayer(ennoblement.newOwner, newOwner)) {
return false;
}
if (newOwnerTribe && !$4b608a4f8bc414684a9ca9d86149295e$var$isValidPlayerTribe(ennoblement.newOwner, newOwnerTribe)) {
return false;
}
if (oldOwner && !$4b608a4f8bc414684a9ca9d86149295e$var$isValidPlayer(ennoblement.oldOwner, oldOwner)) {
return false;
}
if (oldOwnerTribe && !$4b608a4f8bc414684a9ca9d86149295e$var$isValidPlayerTribe(ennoblement.oldOwner, oldOwnerTribe)) {
return false;
}
return true;
};
const $bb01b23dae8f6ba6$var$filterEnnoblements = (ennoblements = [], { newOwner: newOwner , newOwnerTribe: newOwnerTribe , oldOwner: oldOwner , oldOwnerTribe: oldOwnerTribe } = {
})=>{
return ennoblements.filter((ennoblement)=>{
if (newOwner && !$bb01b23dae8f6ba6$var$isValidPlayer(ennoblement.newOwner, newOwner)) return false;
if (newOwnerTribe && !$bb01b23dae8f6ba6$var$isValidPlayerTribe(ennoblement.newOwner, newOwnerTribe)) return false;
if (oldOwner && !$bb01b23dae8f6ba6$var$isValidPlayer(ennoblement.oldOwner, oldOwner)) return false;
if (oldOwnerTribe && !$bb01b23dae8f6ba6$var$isValidPlayerTribe(ennoblement.oldOwner, oldOwnerTribe)) return false;
return true;
});
};
const $4b608a4f8bc414684a9ca9d86149295e$var$applyFilters = (e, ennoblements) => {
};
const $bb01b23dae8f6ba6$var$applyFilters = (e, ennoblements)=>{
e.preventDefault();
const filters = $4b608a4f8bc414684a9ca9d86149295e$var$_objectSpread($4b608a4f8bc414684a9ca9d86149295e$var$_objectSpread({}, $4b608a4f8bc414684a9ca9d86149295e$var$DEFAULT_FILTER), {}, {
newOwner: e.target[0].value,
newOwnerTribe: e.target[1].value,
oldOwner: e.target[2].value,
oldOwnerTribe: e.target[3].value
const filters = $f1e9793517c51c58$export$2e2bcd8739ae039({
}, $bb01b23dae8f6ba6$var$DEFAULT_FILTER, {
newOwner: e.target[0].value,
newOwnerTribe: e.target[1].value,
oldOwner: e.target[2].value,
oldOwnerTribe: e.target[3].value
});
document.querySelector(("#").concat($4b608a4f8bc414684a9ca9d86149295e$var$TABLE_ID, " tbody")).innerHTML = $4b608a4f8bc414684a9ca9d86149295e$var$buildEnnoblementsRows($4b608a4f8bc414684a9ca9d86149295e$var$filterEnnoblements(ennoblements, filters)).join('');
$4b608a4f8bc414684a9ca9d86149295e$var$cacheFilters(filters);
};
const $4b608a4f8bc414684a9ca9d86149295e$var$addEventListeners = function addEventListeners() {
let ennoblements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
document.querySelector('#' + $4b608a4f8bc414684a9ca9d86149295e$var$FILTER_FORM_ID).addEventListener('submit', e => {
$4b608a4f8bc414684a9ca9d86149295e$var$applyFilters(e, ennoblements);
document.querySelector(`#${$bb01b23dae8f6ba6$var$TABLE_ID} tbody`).innerHTML = $bb01b23dae8f6ba6$var$buildEnnoblementsRows($bb01b23dae8f6ba6$var$filterEnnoblements(ennoblements, filters)).join('');
$bb01b23dae8f6ba6$var$cacheFilters(filters);
};
const $bb01b23dae8f6ba6$var$addEventListeners = (ennoblements = [])=>{
document.querySelector('#' + $bb01b23dae8f6ba6$var$FILTER_FORM_ID).addEventListener('submit', (e)=>{
$bb01b23dae8f6ba6$var$applyFilters(e, ennoblements);
});
};
const $4b608a4f8bc414684a9ca9d86149295e$var$getPlayerHTML = player => {
return player && player.name ? ("<a href=\"").concat($6a639e352c067a7850a9fa8cdc59ffca$export$buildPlayerURL(player.id), "\">").concat(player.name, "</a> (").concat(player.tribe && player.tribe.tag ? ("<a href=\"").concat($6a639e352c067a7850a9fa8cdc59ffca$export$buildTribeURL(player.tribe.id), "\">").concat(player.tribe.tag, "</a>") : '-', ")") : '-';
};
const $4b608a4f8bc414684a9ca9d86149295e$var$getVillageHTML = village => {
return ("<a href=\"").concat($6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageURL(village.id), "\">").concat($6a639e352c067a7850a9fa8cdc59ffca$export$buildVillageName(village.name, village.x, village.y), "</a>");
};
const $4b608a4f8bc414684a9ca9d86149295e$var$buildEnnoblementsRows = ennoblements => {
return ennoblements.map(ennoblement => {
return ("<tr>\n <td>").concat($4b608a4f8bc414684a9ca9d86149295e$var$getVillageHTML(ennoblement.village), "</td>\n <td>").concat($4b608a4f8bc414684a9ca9d86149295e$var$getPlayerHTML(ennoblement.newOwner), "</td>\n <td>").concat($4b608a4f8bc414684a9ca9d86149295e$var$getPlayerHTML(ennoblement.oldOwner), "</td>\n <td>").concat($87a1b3fb6327eb299adebba75fcb33c5$export$formatDate(ennoblement.ennobledAt), "</td>\n </tr>");
};
const $bb01b23dae8f6ba6$var$getPlayerHTML = (player)=>{
return player && player.name ? `<a href="${$db1dd60e5389e0c9$export$3df7b9b48f38839e(player.id)}">${player.name}</a> (${player.tribe && player.tribe.tag ? `<a href="${$db1dd60e5389e0c9$export$7345792e21cfc457(player.tribe.id)}">${player.tribe.tag}</a>` : '-'})` : '-';
};
const $bb01b23dae8f6ba6$var$getVillageHTML = (village)=>{
return `<a href="${$db1dd60e5389e0c9$export$e537a41a0fc85cc5(village.id)}">${$db1dd60e5389e0c9$export$c6f77ec2633c38b1(village.name, village.x, village.y)}</a>`;
};
const $bb01b23dae8f6ba6$var$buildEnnoblementsRows = (ennoblements)=>{
return ennoblements.map((ennoblement)=>{
return `<tr>
<td>${$bb01b23dae8f6ba6$var$getVillageHTML(ennoblement.village)}</td>
<td>${$bb01b23dae8f6ba6$var$getPlayerHTML(ennoblement.newOwner)}</td>
<td>${$bb01b23dae8f6ba6$var$getPlayerHTML(ennoblement.oldOwner)}</td>
<td>${$ca7593443ca49f96$export$3ae94a2503e890a1(ennoblement.ennobledAt)}</td>
</tr>`;
});
};
const $4b608a4f8bc414684a9ca9d86149295e$var$renderLatestEnnoblements = function renderLatestEnnoblements() {
let ennoblements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
let filters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
const prepared = $4b608a4f8bc414684a9ca9d86149295e$var$_objectSpread($4b608a4f8bc414684a9ca9d86149295e$var$_objectSpread({}, $4b608a4f8bc414684a9ca9d86149295e$var$DEFAULT_FILTER), filters);
const html = ("\n <form style=\"margin-bottom: 15px\" id=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$FILTER_FORM_ID, "\">\n <h1 style=\"margin-bottom: 0px; text-align: center;\"><a href=\"").concat($d147509fefd1cb8b3b83e8f38f763543$export$buildURLToServerPage($1f14636dcc53402ba1b7661b758ca0aa$export$default($4b608a4f8bc414684a9ca9d86149295e$var$SERVER), $4b608a4f8bc414684a9ca9d86149295e$var$SERVER), "\">TWHelp</a></h1>\n <h3 style=\"margin-bottom: 10px; margin-top: 0;\">").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.devNote, "</h3>\n <h3 style=\"margin-bottom: 5px\">").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.filters, "</h3>\n <input type=\"text\" placeholder=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.newOwner, "\" value=\"").concat(prepared.newOwner, "\" />\n <input type=\"text\" placeholder=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.newOwnerTribe, "\" value=\"").concat(prepared.newOwnerTribe, "\" />\n <input type=\"text\" placeholder=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.oldOwner, "\" value=\"").concat(prepared.oldOwner, "\" />\n <input type=\"text\" placeholder=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.oldOwnerTribe, "\" value=\"").concat(prepared.oldOwnerTribe, "\" />\n <div>\n <button type=\"submit\">").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.apply, "</button>\n </div>\n </form>\n <table class=\"vis\" id=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$TABLE_ID, "\" style=\"width: 100%\">\n <thead>\n <tr>\n <th>").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.village, "</th>\n <th>").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.newOwner, "</th>\n <th>").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.oldOwner, "</th>\n <th>").concat($4b608a4f8bc414684a9ca9d86149295e$var$translations.date, "</th>\n </tr>\n </thead>\n <tbody>\n ").concat($4b608a4f8bc414684a9ca9d86149295e$var$buildEnnoblementsRows($4b608a4f8bc414684a9ca9d86149295e$var$filterEnnoblements(ennoblements, prepared)).join(''), "\n </tbody>\n </table>\n ");
$6412e4d8722bc72f55b3c382206290ed$export$default({
title: $4b608a4f8bc414684a9ca9d86149295e$var$translations.ennoblements,
id: 'ennoblements',
html
};
const $bb01b23dae8f6ba6$var$renderLatestEnnoblements = (ennoblements = [], filters = {
})=>{
const prepared = $f1e9793517c51c58$export$2e2bcd8739ae039({
}, $bb01b23dae8f6ba6$var$DEFAULT_FILTER, filters);
const html = `
<form style="margin-bottom: 15px" id="${$bb01b23dae8f6ba6$var$FILTER_FORM_ID}">
<h1 style="margin-bottom: 0px; text-align: center;"><a href="${$f3b273bd698d94bc$export$5d5850cc00079a21($5b3edb3901c8177a$export$2e2bcd8739ae039($bb01b23dae8f6ba6$var$SERVER), $bb01b23dae8f6ba6$var$SERVER)}">TWHelp</a></h1>
<h3 style="margin-bottom: 10px; margin-top: 0;">${$bb01b23dae8f6ba6$var$translations.devNote}</h3>
<h3 style="margin-bottom: 5px">${$bb01b23dae8f6ba6$var$translations.filters}</h3>
<input type="text" placeholder="${$bb01b23dae8f6ba6$var$translations.newOwner}" value="${prepared.newOwner}" />
<input type="text" placeholder="${$bb01b23dae8f6ba6$var$translations.newOwnerTribe}" value="${prepared.newOwnerTribe}" />
<input type="text" placeholder="${$bb01b23dae8f6ba6$var$translations.oldOwner}" value="${prepared.oldOwner}" />
<input type="text" placeholder="${$bb01b23dae8f6ba6$var$translations.oldOwnerTribe}" value="${prepared.oldOwnerTribe}" />
<div>
<button type="submit">${$bb01b23dae8f6ba6$var$translations.apply}</button>
</div>
</form>
<table class="vis" id="${$bb01b23dae8f6ba6$var$TABLE_ID}" style="width: 100%">
<thead>
<tr>
<th>${$bb01b23dae8f6ba6$var$translations.village}</th>
<th>${$bb01b23dae8f6ba6$var$translations.newOwner}</th>
<th>${$bb01b23dae8f6ba6$var$translations.oldOwner}</th>
<th>${$bb01b23dae8f6ba6$var$translations.date}</th>
</tr>
</thead>
<tbody>
${$bb01b23dae8f6ba6$var$buildEnnoblementsRows($bb01b23dae8f6ba6$var$filterEnnoblements(ennoblements, prepared)).join('')}
</tbody>
</table>
`;
$20636c16dad2c11a$export$2e2bcd8739ae039({
title: $bb01b23dae8f6ba6$var$translations.ennoblements,
id: 'ennoblements',
html: html
});
$4b608a4f8bc414684a9ca9d86149295e$var$addEventListeners(ennoblements);
};
const $4b608a4f8bc414684a9ca9d86149295e$var$handleButtonClick = async () => {
$bb01b23dae8f6ba6$var$addEventListeners(ennoblements);
};
const $bb01b23dae8f6ba6$var$handleButtonClick = async ()=>{
try {
const cache = $4b608a4f8bc414684a9ca9d86149295e$var$loadLatestEnnoblementsFromCache();
const filters = $4b608a4f8bc414684a9ca9d86149295e$var$loadFilters();
if (cache.ennoblements && Array.isArray(cache.ennoblements.items) && cache.ennoblements.items.length > 0) {
$4b608a4f8bc414684a9ca9d86149295e$var$renderLatestEnnoblements(cache.ennoblements.items, filters);
}
const {ennoblements} = await $4b608a4f8bc414684a9ca9d86149295e$var$loadLatestEnnoblements();
$4b608a4f8bc414684a9ca9d86149295e$var$renderLatestEnnoblements(ennoblements.items, filters);
const cache = $bb01b23dae8f6ba6$var$loadLatestEnnoblementsFromCache();
const filters = $bb01b23dae8f6ba6$var$loadFilters();
if (cache.ennoblements && Array.isArray(cache.ennoblements.items) && cache.ennoblements.items.length > 0) $bb01b23dae8f6ba6$var$renderLatestEnnoblements(cache.ennoblements.items, filters);
const { ennoblements: ennoblements } = await $bb01b23dae8f6ba6$var$loadLatestEnnoblements();
$bb01b23dae8f6ba6$var$renderLatestEnnoblements(ennoblements.items, filters);
} catch (error) {
console.log('latestEnnoblements', error);
console.log('latestEnnoblements', error);
}
};
const $4b608a4f8bc414684a9ca9d86149295e$var$renderButton = () => {
};
const $bb01b23dae8f6ba6$var$renderButton = ()=>{
const container = document.createElement('div');
container.style.position = 'fixed';
container.style.top = '5px';
container.style.left = '4px';
container.style.zIndex = '50000';
const button = document.createElement('a');
button.innerHTML = ("<img src=\"").concat($4b608a4f8bc414684a9ca9d86149295e$var$ICON_URL, "\">");
button.title = $4b608a4f8bc414684a9ca9d86149295e$var$translations.showLatestEnnoblements;
button.innerHTML = `<img src="${$bb01b23dae8f6ba6$var$ICON_URL}">`;
button.title = $bb01b23dae8f6ba6$var$translations.showLatestEnnoblements;
button.style.cursor = 'pointer';
button.addEventListener('click', $4b608a4f8bc414684a9ca9d86149295e$var$handleButtonClick);
button.addEventListener('click', $bb01b23dae8f6ba6$var$handleButtonClick);
container.append(button);
document.body.appendChild(container);
};
(function () {
$4b608a4f8bc414684a9ca9d86149295e$var$renderButton();
})();
};
(function() {
$bb01b23dae8f6ba6$var$renderButton();
})();
})();

View File

@ -1,308 +1,318 @@
(function () {
const $c0d320b9a99b0a41aa9ca0954410051e$var$translations = {
pl_PL: {
startCoordsPicker: 'Uruchom zbieracza koordynat',
stopCoordsPicker: 'Zatrzymaj zbieracza koordynat',
exportedVillages: 'Wyeksportowane wioski',
cannotDeleteSelectedGroup: 'Nie można usunąć wybranej grupy!',
select: 'Wybierz',
delete: 'Usuń',
add: 'Dodaj',
save: 'Zapisz',
groupName: 'Nazwa grupy',
export: 'Eksport'
},
en_DK: {
startCoordsPicker: 'Start coords picker',
stopCoordsPicker: 'Stop coords picker',
exportedVillages: 'Exported villages',
cannotDeleteSelectedGroup: 'Cannot delete selected group!',
select: 'Select',
delete: 'Delete',
add: 'Add',
save: 'Save',
groupName: 'Group name',
export: 'Export'
},
de_DE: {
startCoordsPicker: 'Starte Koordinaten-Selektor',
stopCoordsPicker: 'Stoppe Koordinaten-Selektor',
exportedVillages: 'Exportierte Dörfer',
cannotDeleteSelectedGroup: 'Gruppe kann nicht gelöscht werden!',
select: 'Selektieren',
delete: 'Löschen',
add: 'Hinzufügen',
save: 'Speichern',
groupName: 'Gruppen-Name',
export: 'Exportieren'
}
};
var $c0d320b9a99b0a41aa9ca0954410051e$export$default = () => $c0d320b9a99b0a41aa9ca0954410051e$var$translations[window.game_data.locale] || $c0d320b9a99b0a41aa9ca0954410051e$var$translations.en_DK;
const $3d935538f644f492fe681e00121114a4$export$getItem = function getItem(key) {
let d = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
const json = localStorage.getItem(key);
let obj = d;
if (json) {
obj = JSON.parse(json);
}
return obj;
};
const $3d935538f644f492fe681e00121114a4$export$setItem = (key, payload) => {
localStorage.setItem(key, JSON.stringify(payload));
};
function $bfe8b11df18d9acc480580699499dd1a$var$ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys.push.apply(keys, symbols);
}
return keys;
}
function $bfe8b11df18d9acc480580699499dd1a$var$_objectSpread(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
$bfe8b11df18d9acc480580699499dd1a$var$ownKeys(Object(source), true).forEach(function (key) {
$bfe8b11df18d9acc480580699499dd1a$var$_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
$bfe8b11df18d9acc480580699499dd1a$var$ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
}
}
return target;
}
function $bfe8b11df18d9acc480580699499dd1a$var$_defineProperty(obj, key, value) {
if ((key in obj)) {
Object.defineProperty(obj, key, {
function $6a49e4c969cec444$export$2e2bcd8739ae039(obj, key, value) {
if (key in obj) Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
});
else obj[key] = value;
return obj;
}
// ==UserScript==
// @name Map coords picker
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/mapCoordsPicker.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/mapCoordsPicker.js
// @version 0.7.8
// @description Map coords picker
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*
// @grant none
// ==/UserScript==
const $bfe8b11df18d9acc480580699499dd1a$var$LOCAL_STORAGE_KEY = 'kichiyaki_map_coords_picker';
const $bfe8b11df18d9acc480580699499dd1a$var$container = document.querySelector('#content_value > h2');
let $bfe8b11df18d9acc480580699499dd1a$var$button;
let $bfe8b11df18d9acc480580699499dd1a$var$formsContainer;
let $bfe8b11df18d9acc480580699499dd1a$var$actionsContainer;
let $bfe8b11df18d9acc480580699499dd1a$var$config = $3d935538f644f492fe681e00121114a4$export$getItem($bfe8b11df18d9acc480580699499dd1a$var$LOCAL_STORAGE_KEY, {
}
function $f1e9793517c51c58$export$2e2bcd8739ae039(target) {
for(var i = 1; i < arguments.length; i++){
var source = arguments[i] != null ? arguments[i] : {
};
var ownKeys = Object.keys(source);
if (typeof Object.getOwnPropertySymbols === 'function') ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
}));
ownKeys.forEach(function(key) {
$6a49e4c969cec444$export$2e2bcd8739ae039(target, key, source[key]);
});
}
return target;
}
function $b1520df0e3a4699c$export$2e2bcd8739ae039(source, excluded) {
if (source == null) return {
};
var target = {
};
var sourceKeys = Object.keys(source);
var key, i;
for(i = 0; i < sourceKeys.length; i++){
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
function $f26b272b176e5476$export$2e2bcd8739ae039(source, excluded) {
if (source == null) return {
};
var target = $b1520df0e3a4699c$export$2e2bcd8739ae039(source, excluded);
var key, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for(i = 0; i < sourceSymbolKeys.length; i++){
key = sourceSymbolKeys[i];
if (excluded.indexOf(key) >= 0) continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
target[key] = source[key];
}
}
return target;
}
const $79a03938b25da972$var$translations = {
pl_PL: {
startCoordsPicker: 'Uruchom zbieracza koordynat',
stopCoordsPicker: 'Zatrzymaj zbieracza koordynat',
exportedVillages: 'Wyeksportowane wioski',
cannotDeleteSelectedGroup: 'Nie można usunąć wybranej grupy!',
select: 'Wybierz',
delete: 'Usuń',
add: 'Dodaj',
save: 'Zapisz',
groupName: 'Nazwa grupy',
export: 'Eksport'
},
en_DK: {
startCoordsPicker: 'Start coords picker',
stopCoordsPicker: 'Stop coords picker',
exportedVillages: 'Exported villages',
cannotDeleteSelectedGroup: 'Cannot delete selected group!',
select: 'Select',
delete: 'Delete',
add: 'Add',
save: 'Save',
groupName: 'Group name',
export: 'Export'
},
de_DE: {
startCoordsPicker: 'Starte Koordinaten-Selektor',
stopCoordsPicker: 'Stoppe Koordinaten-Selektor',
exportedVillages: 'Exportierte Dörfer',
cannotDeleteSelectedGroup: 'Gruppe kann nicht gelöscht werden!',
select: 'Selektieren',
delete: 'Löschen',
add: 'Hinzufügen',
save: 'Speichern',
groupName: 'Gruppen-Name',
export: 'Exportieren'
}
};
var $79a03938b25da972$export$2e2bcd8739ae039 = ()=>$79a03938b25da972$var$translations[window.game_data.locale] || $79a03938b25da972$var$translations.en_DK
;
const $362bcac9fa8968ec$export$f92dfeb71e9bb569 = (key, d = {
})=>{
const json = localStorage.getItem(key);
let obj = d;
if (json) obj = JSON.parse(json);
return obj;
};
const $362bcac9fa8968ec$export$8a8216c44337cd5 = (key, payload)=>{
localStorage.setItem(key, JSON.stringify(payload));
};
// ==UserScript==
// @name Map coords picker
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/mapCoordsPicker.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/mapCoordsPicker.js
// @version 0.7.8
// @description Map coords picker
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*
// @grant none
// ==/UserScript==
const $5889b22941d0d214$var$LOCAL_STORAGE_KEY = 'kichiyaki_map_coords_picker';
const $5889b22941d0d214$var$container = document.querySelector('#content_value > h2');
let $5889b22941d0d214$var$button;
let $5889b22941d0d214$var$formsContainer;
let $5889b22941d0d214$var$actionsContainer;
let $5889b22941d0d214$var$config = $362bcac9fa8968ec$export$f92dfeb71e9bb569($5889b22941d0d214$var$LOCAL_STORAGE_KEY, {
started: false,
groups: {
All: {
villages: [],
color: '#ffffff'
}
All: {
villages: [],
color: '#ffffff'
}
},
selectedGroup: 'All'
});
let $bfe8b11df18d9acc480580699499dd1a$var$intervalID;
const $bfe8b11df18d9acc480580699499dd1a$var$translations = $c0d320b9a99b0a41aa9ca0954410051e$export$default();
const $bfe8b11df18d9acc480580699499dd1a$var$saveConfig = () => {
$3d935538f644f492fe681e00121114a4$export$setItem($bfe8b11df18d9acc480580699499dd1a$var$LOCAL_STORAGE_KEY, $bfe8b11df18d9acc480580699499dd1a$var$config);
};
const $bfe8b11df18d9acc480580699499dd1a$var$getVillageIDByCoords = (x, y) => {
const xy = parseInt(("").concat(x).concat(y), 10);
});
let $5889b22941d0d214$var$intervalID;
const $5889b22941d0d214$var$translations = $79a03938b25da972$export$2e2bcd8739ae039();
const $5889b22941d0d214$var$saveConfig = ()=>{
$362bcac9fa8968ec$export$8a8216c44337cd5($5889b22941d0d214$var$LOCAL_STORAGE_KEY, $5889b22941d0d214$var$config);
};
const $5889b22941d0d214$var$getVillageIDByCoords = (x, y)=>{
const xy = parseInt(`${x}${y}`, 10);
const village = TWMap.villages[xy];
if (!village) {
return NaN;
}
if (!village) return NaN;
return village.id;
};
const $bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillage = function addBorderToVillage(x, y) {
let color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'transparent';
const village = document.querySelector('#map_village_' + $bfe8b11df18d9acc480580699499dd1a$var$getVillageIDByCoords(x, y));
};
const $5889b22941d0d214$var$addBorderToVillage = (x, y, color = 'transparent')=>{
const village = document.querySelector('#map_village_' + $5889b22941d0d214$var$getVillageIDByCoords(x, y));
if (village) {
village.style.boxSizing = 'border-box';
village.style.border = color !== 'transparent' ? ("5px solid ").concat(color) : 'none';
village.style.boxSizing = 'border-box';
village.style.border = color !== 'transparent' ? `5px solid ${color}` : 'none';
}
};
const $bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillagesInGroup = function addBorderToVillagesInGroup(name) {
let color = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[name].villages.forEach(village => {
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillage(village.x, village.y, color ? color : $bfe8b11df18d9acc480580699499dd1a$var$config.groups[name].color);
};
const $5889b22941d0d214$var$addBorderToVillagesInGroup = (name, color = '')=>{
$5889b22941d0d214$var$config.groups[name].villages.forEach((village)=>{
$5889b22941d0d214$var$addBorderToVillage(village.x, village.y, color ? color : $5889b22941d0d214$var$config.groups[name].color);
});
};
const $bfe8b11df18d9acc480580699499dd1a$var$addBorderToSelectedVillages = function addBorderToSelectedVillages() {
let color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
for (let name in $bfe8b11df18d9acc480580699499dd1a$var$config.groups) {
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillagesInGroup(name, color);
};
const $5889b22941d0d214$var$addBorderToSelectedVillages = (color = '')=>{
for(let name in $5889b22941d0d214$var$config.groups)$5889b22941d0d214$var$addBorderToVillagesInGroup(name, color);
};
const $5889b22941d0d214$var$deleteVillageFromOtherGroups = (key)=>{
for(let name in $5889b22941d0d214$var$config.groups){
if (name === $5889b22941d0d214$var$config.selectedGroup) return;
$5889b22941d0d214$var$config.groups[name].villages = $5889b22941d0d214$var$config.groups[name].villages.filter((village)=>village.key !== key
);
}
};
const $bfe8b11df18d9acc480580699499dd1a$var$deleteVillageFromOtherGroups = key => {
for (let name in $bfe8b11df18d9acc480580699499dd1a$var$config.groups) {
if (name === $bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup) return;
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[name].villages = $bfe8b11df18d9acc480580699499dd1a$var$config.groups[name].villages.filter(village => village.key !== key);
}
};
const $bfe8b11df18d9acc480580699499dd1a$var$handleMapClick = (x, y, e) => {
};
const $5889b22941d0d214$var$handleMapClick = (x, y, e)=>{
e.preventDefault();
if (isNaN($bfe8b11df18d9acc480580699499dd1a$var$getVillageIDByCoords(x, y))) {
return;
if (isNaN($5889b22941d0d214$var$getVillageIDByCoords(x, y))) return;
const key = `${x}|${y}`;
if ($5889b22941d0d214$var$config.groups[$5889b22941d0d214$var$config.selectedGroup].villages.some((village)=>village.key === key
)) {
$5889b22941d0d214$var$config.groups[$5889b22941d0d214$var$config.selectedGroup].villages = $5889b22941d0d214$var$config.groups[$5889b22941d0d214$var$config.selectedGroup].villages.filter((village)=>village.key !== key
);
$5889b22941d0d214$var$addBorderToVillage(x, y, 'transparent');
return;
}
const key = ("").concat(x, "|").concat(y);
if ($bfe8b11df18d9acc480580699499dd1a$var$config.groups[$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup].villages.some(village => village.key === key)) {
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup].villages = $bfe8b11df18d9acc480580699499dd1a$var$config.groups[$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup].villages.filter(village => village.key !== key);
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillage(x, y, 'transparent');
return;
}
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup].villages = [...$bfe8b11df18d9acc480580699499dd1a$var$config.groups[$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup].villages, {
x,
y,
key
}];
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillage(x, y, $bfe8b11df18d9acc480580699499dd1a$var$config.groups[$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup].color);
$bfe8b11df18d9acc480580699499dd1a$var$deleteVillageFromOtherGroups(key);
};
const $bfe8b11df18d9acc480580699499dd1a$var$renderForm = (container, group) => {
const selected = group && group.name !== $bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup;
const html = ("\n <input type=\"color\" value=\"").concat(group ? group.color : '', "\" required />\n <input type=\"text\" required placeholder=\"").concat($bfe8b11df18d9acc480580699499dd1a$var$translations.groupName, "\" value=\"").concat(group ? group.name : '', "\" />\n <button type=\"submit\">").concat(group ? $bfe8b11df18d9acc480580699499dd1a$var$translations.save : $bfe8b11df18d9acc480580699499dd1a$var$translations.add, "</button>\n ").concat(group ? ("<button type=\"button\">").concat($bfe8b11df18d9acc480580699499dd1a$var$translations.delete, "</button>") : '', "\n ").concat(selected ? ("<button class=\"selectButton\" type=\"button\">").concat($bfe8b11df18d9acc480580699499dd1a$var$translations.select, "</button>") : '', "\n ");
$5889b22941d0d214$var$config.groups[$5889b22941d0d214$var$config.selectedGroup].villages = [
...$5889b22941d0d214$var$config.groups[$5889b22941d0d214$var$config.selectedGroup].villages,
{
x: x,
y: y,
key: key
},
];
$5889b22941d0d214$var$addBorderToVillage(x, y, $5889b22941d0d214$var$config.groups[$5889b22941d0d214$var$config.selectedGroup].color);
$5889b22941d0d214$var$deleteVillageFromOtherGroups(key);
};
const $5889b22941d0d214$var$renderForm = (container, group)=>{
const selected = group && group.name !== $5889b22941d0d214$var$config.selectedGroup;
const html = `
<input type="color" value="${group ? group.color : ''}" required />
<input type="text" required placeholder="${$5889b22941d0d214$var$translations.groupName}" value="${group ? group.name : ''}" />
<button type="submit">${group ? $5889b22941d0d214$var$translations.save : $5889b22941d0d214$var$translations.add}</button>
${group ? `<button type="button">${$5889b22941d0d214$var$translations.delete}</button>` : ''}
${selected ? `<button class="selectButton" type="button">${$5889b22941d0d214$var$translations.select}</button>` : ''}
`;
const form = document.createElement('form');
form.innerHTML = html;
form.addEventListener('submit', e => {
e.preventDefault();
if (group) {
if (group.name === $bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup) $bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup = e.target[1].value;
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillagesInGroup(group.name, e.target[0].value);
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[e.target[1].value] = $bfe8b11df18d9acc480580699499dd1a$var$_objectSpread($bfe8b11df18d9acc480580699499dd1a$var$_objectSpread({}, $bfe8b11df18d9acc480580699499dd1a$var$config.groups[group.name]), {}, {
color: e.target[0].value
});
if (group.name !== e.target[1].value) delete $bfe8b11df18d9acc480580699499dd1a$var$config.groups[group.name];
} else {
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[e.target[1].value] = {
color: e.target[0].value,
villages: []
form.addEventListener('submit', (e)=>{
e.preventDefault();
if (group) {
if (group.name === $5889b22941d0d214$var$config.selectedGroup) $5889b22941d0d214$var$config.selectedGroup = e.target[1].value;
$5889b22941d0d214$var$addBorderToVillagesInGroup(group.name, e.target[0].value);
$5889b22941d0d214$var$config.groups[e.target[1].value] = $f1e9793517c51c58$export$2e2bcd8739ae039({
}, $5889b22941d0d214$var$config.groups[group.name], {
color: e.target[0].value
});
if (group.name !== e.target[1].value) delete $5889b22941d0d214$var$config.groups[group.name];
} else $5889b22941d0d214$var$config.groups[e.target[1].value] = {
color: e.target[0].value,
villages: []
};
}
$bfe8b11df18d9acc480580699499dd1a$var$renderGroups();
$5889b22941d0d214$var$renderGroups();
});
if (group) {
form.querySelector('button[type="button"]').addEventListener('click', () => {
if ($bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup === group.name) {
return UI.ErrorMessage($bfe8b11df18d9acc480580699499dd1a$var$translations.cannotDeleteSelectedGroup);
}
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToVillagesInGroup(group.name, 'transparent');
delete $bfe8b11df18d9acc480580699499dd1a$var$config.groups[group.name];
form.remove();
});
const selectButton = form.querySelector('.selectButton');
if (selectButton) {
selectButton.addEventListener('click', e => {
$bfe8b11df18d9acc480580699499dd1a$var$config.selectedGroup = group.name;
$bfe8b11df18d9acc480580699499dd1a$var$renderGroups();
form.querySelector('button[type="button"]').addEventListener('click', ()=>{
if ($5889b22941d0d214$var$config.selectedGroup === group.name) return UI.ErrorMessage($5889b22941d0d214$var$translations.cannotDeleteSelectedGroup);
$5889b22941d0d214$var$addBorderToVillagesInGroup(group.name, 'transparent');
delete $5889b22941d0d214$var$config.groups[group.name];
form.remove();
});
const selectButton = form.querySelector('.selectButton');
if (selectButton) selectButton.addEventListener('click', (e)=>{
$5889b22941d0d214$var$config.selectedGroup = group.name;
$5889b22941d0d214$var$renderGroups();
});
}
}
container.appendChild(form);
};
const $bfe8b11df18d9acc480580699499dd1a$var$renderGroups = () => {
$bfe8b11df18d9acc480580699499dd1a$var$formsContainer.innerHTML = '';
for (let name in $bfe8b11df18d9acc480580699499dd1a$var$config.groups) {
$bfe8b11df18d9acc480580699499dd1a$var$renderForm($bfe8b11df18d9acc480580699499dd1a$var$formsContainer, $bfe8b11df18d9acc480580699499dd1a$var$_objectSpread($bfe8b11df18d9acc480580699499dd1a$var$_objectSpread({}, $bfe8b11df18d9acc480580699499dd1a$var$config.groups[name]), {}, {
name
}));
}
$bfe8b11df18d9acc480580699499dd1a$var$renderForm($bfe8b11df18d9acc480580699499dd1a$var$formsContainer);
};
const $bfe8b11df18d9acc480580699499dd1a$var$handleExportVillages = () => {
};
const $5889b22941d0d214$var$renderGroups = ()=>{
$5889b22941d0d214$var$formsContainer.innerHTML = '';
for(let name in $5889b22941d0d214$var$config.groups)$5889b22941d0d214$var$renderForm($5889b22941d0d214$var$formsContainer, $f1e9793517c51c58$export$2e2bcd8739ae039({
}, $5889b22941d0d214$var$config.groups[name], {
name: name
}));
$5889b22941d0d214$var$renderForm($5889b22941d0d214$var$formsContainer);
};
const $5889b22941d0d214$var$handleExportVillages = ()=>{
const groups = [];
for (let name in $bfe8b11df18d9acc480580699499dd1a$var$config.groups) {
groups.push(("<div style=\"margin-bottom: 30px;\">\n <h3>").concat(name, "</h3>\n <textarea cols=30 rows=8 readonly>").concat($bfe8b11df18d9acc480580699499dd1a$var$config.groups[name].villages.map(village => village.key).join(' ').trim(), "</textarea>\n </div>"));
}
const html = ("\n ").concat(groups.join(''), "\n ");
Dialog.show($bfe8b11df18d9acc480580699499dd1a$var$translations.exportedVillages, html);
};
const $bfe8b11df18d9acc480580699499dd1a$var$renderActions = () => {
for(let name in $5889b22941d0d214$var$config.groups)groups.push(`<div style="margin-bottom: 30px;">
<h3>${name}</h3>
<textarea cols=30 rows=8 readonly>${$5889b22941d0d214$var$config.groups[name].villages.map((village)=>village.key
).join(' ').trim()}</textarea>
</div>`);
const html = `
${groups.join('')}
`;
Dialog.show($5889b22941d0d214$var$translations.exportedVillages, html);
};
const $5889b22941d0d214$var$renderActions = ()=>{
const exportVillages = document.createElement('button');
exportVillages.innerHTML = $bfe8b11df18d9acc480580699499dd1a$var$translations.export;
exportVillages.addEventListener('click', $bfe8b11df18d9acc480580699499dd1a$var$handleExportVillages);
$bfe8b11df18d9acc480580699499dd1a$var$actionsContainer.appendChild(exportVillages);
};
const $bfe8b11df18d9acc480580699499dd1a$var$handleSpawnSector = (data, sector) => {
exportVillages.innerHTML = $5889b22941d0d214$var$translations.export;
exportVillages.addEventListener('click', $5889b22941d0d214$var$handleExportVillages);
$5889b22941d0d214$var$actionsContainer.appendChild(exportVillages);
};
const $5889b22941d0d214$var$handleSpawnSector = (data, sector)=>{
TWMap.mapHandler.__spawnSector(data, sector);
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToSelectedVillages();
};
const $bfe8b11df18d9acc480580699499dd1a$var$handleStart = () => {
$5889b22941d0d214$var$addBorderToSelectedVillages();
};
const $5889b22941d0d214$var$handleStart = ()=>{
TWMap.map.handler.__onClick = TWMap.map.handler.onClick;
TWMap.map.handler.onClick = $bfe8b11df18d9acc480580699499dd1a$var$handleMapClick;
TWMap.map.handler.onClick = $5889b22941d0d214$var$handleMapClick;
TWMap.mapHandler.__spawnSector = TWMap.map.handler.spawnSector;
TWMap.mapHandler.spawnSector = $bfe8b11df18d9acc480580699499dd1a$var$handleSpawnSector;
$bfe8b11df18d9acc480580699499dd1a$var$button.innerHTML = $bfe8b11df18d9acc480580699499dd1a$var$translations.stopCoordsPicker;
$bfe8b11df18d9acc480580699499dd1a$var$renderActions();
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToSelectedVillages();
$bfe8b11df18d9acc480580699499dd1a$var$renderGroups();
$bfe8b11df18d9acc480580699499dd1a$var$intervalID = setInterval($bfe8b11df18d9acc480580699499dd1a$var$saveConfig, 500);
};
const $bfe8b11df18d9acc480580699499dd1a$var$handleStop = () => {
if (typeof TWMap.map.handler.__onClick === 'function') {
TWMap.map.handler.onClick = TWMap.map.handler.__onClick;
}
if (typeof TWMap.map.handler.__spawnSector === 'function') {
TWMap.mapHandler.spawnSector = TWMap.map.handler.__spawnSector;
}
$bfe8b11df18d9acc480580699499dd1a$var$button.innerHTML = $bfe8b11df18d9acc480580699499dd1a$var$translations.startCoordsPicker;
$bfe8b11df18d9acc480580699499dd1a$var$formsContainer.innerHTML = '';
$bfe8b11df18d9acc480580699499dd1a$var$actionsContainer.innerHTML = '';
$bfe8b11df18d9acc480580699499dd1a$var$addBorderToSelectedVillages('transparent');
if ($bfe8b11df18d9acc480580699499dd1a$var$intervalID) {
clearInterval($bfe8b11df18d9acc480580699499dd1a$var$intervalID);
}
for (let name in $bfe8b11df18d9acc480580699499dd1a$var$config.groups) {
$bfe8b11df18d9acc480580699499dd1a$var$config.groups[name].villages = [];
}
};
const $bfe8b11df18d9acc480580699499dd1a$var$handleButtonClick = () => {
if ($bfe8b11df18d9acc480580699499dd1a$var$config.started) {
$bfe8b11df18d9acc480580699499dd1a$var$handleStop();
} else {
$bfe8b11df18d9acc480580699499dd1a$var$handleStart();
}
$bfe8b11df18d9acc480580699499dd1a$var$config.started = !$bfe8b11df18d9acc480580699499dd1a$var$config.started;
$bfe8b11df18d9acc480580699499dd1a$var$saveConfig();
};
const $bfe8b11df18d9acc480580699499dd1a$var$renderUI = () => {
$bfe8b11df18d9acc480580699499dd1a$var$button = document.createElement('button');
$bfe8b11df18d9acc480580699499dd1a$var$button.style.marginLeft = '5px';
$bfe8b11df18d9acc480580699499dd1a$var$button.innerHTML = $bfe8b11df18d9acc480580699499dd1a$var$config.started ? $bfe8b11df18d9acc480580699499dd1a$var$translations.stopCoordsPicker : $bfe8b11df18d9acc480580699499dd1a$var$translations.startCoordsPicker;
$bfe8b11df18d9acc480580699499dd1a$var$button.addEventListener('click', $bfe8b11df18d9acc480580699499dd1a$var$handleButtonClick);
$bfe8b11df18d9acc480580699499dd1a$var$container.appendChild($bfe8b11df18d9acc480580699499dd1a$var$button);
$bfe8b11df18d9acc480580699499dd1a$var$formsContainer = document.createElement('div');
$bfe8b11df18d9acc480580699499dd1a$var$container.parentElement.insertBefore($bfe8b11df18d9acc480580699499dd1a$var$formsContainer, $bfe8b11df18d9acc480580699499dd1a$var$container.nextSibling);
$bfe8b11df18d9acc480580699499dd1a$var$actionsContainer = document.createElement('div');
$bfe8b11df18d9acc480580699499dd1a$var$container.parentElement.insertBefore($bfe8b11df18d9acc480580699499dd1a$var$actionsContainer, $bfe8b11df18d9acc480580699499dd1a$var$container.nextSibling);
if ($bfe8b11df18d9acc480580699499dd1a$var$config.started) {
$bfe8b11df18d9acc480580699499dd1a$var$handleStart();
}
};
(function () {
TWMap.mapHandler.spawnSector = $5889b22941d0d214$var$handleSpawnSector;
$5889b22941d0d214$var$button.innerHTML = $5889b22941d0d214$var$translations.stopCoordsPicker;
$5889b22941d0d214$var$renderActions();
$5889b22941d0d214$var$addBorderToSelectedVillages();
$5889b22941d0d214$var$renderGroups();
$5889b22941d0d214$var$intervalID = setInterval($5889b22941d0d214$var$saveConfig, 500);
};
const $5889b22941d0d214$var$handleStop = ()=>{
if (typeof TWMap.map.handler.__onClick === 'function') TWMap.map.handler.onClick = TWMap.map.handler.__onClick;
if (typeof TWMap.map.handler.__spawnSector === 'function') TWMap.mapHandler.spawnSector = TWMap.map.handler.__spawnSector;
$5889b22941d0d214$var$button.innerHTML = $5889b22941d0d214$var$translations.startCoordsPicker;
$5889b22941d0d214$var$formsContainer.innerHTML = '';
$5889b22941d0d214$var$actionsContainer.innerHTML = '';
$5889b22941d0d214$var$addBorderToSelectedVillages('transparent');
if ($5889b22941d0d214$var$intervalID) clearInterval($5889b22941d0d214$var$intervalID);
for(let name in $5889b22941d0d214$var$config.groups)$5889b22941d0d214$var$config.groups[name].villages = [];
};
const $5889b22941d0d214$var$handleButtonClick = ()=>{
if ($5889b22941d0d214$var$config.started) $5889b22941d0d214$var$handleStop();
else $5889b22941d0d214$var$handleStart();
$5889b22941d0d214$var$config.started = !$5889b22941d0d214$var$config.started;
$5889b22941d0d214$var$saveConfig();
};
const $5889b22941d0d214$var$renderUI = ()=>{
$5889b22941d0d214$var$button = document.createElement('button');
$5889b22941d0d214$var$button.style.marginLeft = '5px';
$5889b22941d0d214$var$button.innerHTML = $5889b22941d0d214$var$config.started ? $5889b22941d0d214$var$translations.stopCoordsPicker : $5889b22941d0d214$var$translations.startCoordsPicker;
$5889b22941d0d214$var$button.addEventListener('click', $5889b22941d0d214$var$handleButtonClick);
$5889b22941d0d214$var$container.appendChild($5889b22941d0d214$var$button);
$5889b22941d0d214$var$formsContainer = document.createElement('div');
$5889b22941d0d214$var$container.parentElement.insertBefore($5889b22941d0d214$var$formsContainer, $5889b22941d0d214$var$container.nextSibling);
$5889b22941d0d214$var$actionsContainer = document.createElement('div');
$5889b22941d0d214$var$container.parentElement.insertBefore($5889b22941d0d214$var$actionsContainer, $5889b22941d0d214$var$container.nextSibling);
if ($5889b22941d0d214$var$config.started) $5889b22941d0d214$var$handleStart();
};
(function() {
try {
$bfe8b11df18d9acc480580699499dd1a$var$renderUI();
$5889b22941d0d214$var$renderUI();
} catch (error) {
console.log('Map Coords Picker', error);
console.log('Map Coords Picker', error);
}
})();
})();
})();

View File

@ -1 +1 @@
!function(){const t="https://api.tribalwarshelp.com/graphql";var e=function(){let{query:e,variables:n={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return fetch(t,{method:"POST",body:JSON.stringify({query:e,variables:n}),headers:{"Content-Type":"application/json"}}).then((t=>t.json())).then((t=>{let{data:e,errors:n}=t;if(n&&Array.isArray(n)&&n.length>0)throw new Error(n[0].message);return new Promise((t=>t(e)))}))};const n={pl_PL:{actualCoords:"Aktualne koordynaty",searchBonusBarbarianVillages:"Wyszukaj koczownicze",village:"Wioska",distance:"Dystans",action:"Akcja",center:"Wycentruj"},en_DK:{actualCoords:"Actual coords",searchBonusBarbarianVillages:"Search bonus barbarian villages",village:"Village",distance:"Distance",action:"Action",center:"Center"},de_DE:{actualCoords:"Aktuelle Koordinaten",searchBonusBarbarianVillages:"Suche Bonus-Barbarendörfer",village:"Dorf",distance:"Distanz",action:"Aktion",center:"Center"}};const r=(t,e,n,r)=>{const a=t-n,o=e-r;return Math.sqrt(a*a+o*o)};function a(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function o(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?a(Object(n),!0).forEach((function(e){c(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}function c(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}const i=window.location.host.split(".")[0],s="bonusBarbarianVillageFinderTable",l="actualCoords",u=n[window.game_data.locale]||n.en_DK;let d;const b=(t,e)=>({query:"\n query villages($server: String!, $filter: VillageFilter, $sort: [String!], $offset: Int) {\n villages(server: $server, filter: $filter, offset: $offset, sort: $sort) {\n total\n items {\n id\n name\n bonus\n x\n y\n }\n }\n }\n",variables:{server:i,sort:["id DESC"],filter:{bonus:t,playerID:[0]},offset:e}}),p=async t=>{t.preventDefault();const n=await(async t=>{const{villages:n}=await e(b(t,0));for(let r=n.length;r<n.total;r+=1e3){const r=await e(b(t,0));n.items=[...n.items,...r.villages.items]}return n})(parseInt(t.target[0].value)),a=TWMap.pos;n.items=n.items.map((t=>o(o({},t),{},{distance:r(a[0],a[1],t.x,t.y)}))).sort(((t,e)=>t.distance-e.distance)),document.querySelector("#bonusBarbarianVillageFinderTable").innerHTML=f(n.items)},f=t=>"\n <tbody>\n <tr>\n <th>\n ".concat(u.village,"\n </th>\n <th>\n ").concat(u.distance,"\n </th>\n <th>\n ").concat(u.action,"\n </th>\n </tr>\n ").concat(Array.isArray(t)?t.map((t=>{return'<tr>\n <td>\n <a href="'.concat((e=t.id,window.location.origin+TribalWars.buildURL("",{screen:"info_village",id:e})),'">\n ').concat(function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:500;const r="K"+String(n)[0]+String(e)[0];return"".concat(t," (").concat(e,"|").concat(n,") ").concat(r)}(t.name,t.x,t.y),"\n </a>\n </td>\n <td>\n ").concat(t.distance.toFixed(1),'\n </td>\n <td>\n <a href="#" onclick="return TWMap.focusUserSpecified(').concat(t.x,", ").concat(t.y,')">').concat(u.center,"</a>\n </td>\n </tr>");var e})).join(""):"","\n </tbody>\n "),g=()=>{document.querySelector("#actualCoords").innerHTML="".concat(u.actualCoords,": <strong>").concat(TWMap.pos.join("|"),"</strong>")};(()=>{const t='\n <p id="'.concat(l,'"></p>\n <form>\n <select>\n ').concat((()=>{let t=[];for(let e in TWMap.bonus_data)t.push({value:e,text:TWMap.bonus_data[e].text});return t})().map((t=>'<option value="'.concat(t.value,'">').concat(t.text,"</option>"))).join(""),'\n </select>\n <button type="submit">').concat(u.searchBonusBarbarianVillages,'</button>\n </form>\n <table class="vis" style="width: 100%;" id="').concat(s,'">\n ').concat(f(),"\n </table>\n ");d||(d=document.createElement("div"),d.classList.add("containerBorder"),d.style.clear="both",document.querySelector("#map_big").appendChild(d)),d.innerHTML=t,d.querySelector("form").addEventListener("submit",p),g(),setInterval(g,1e3)})()}();
!function(){function e(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var n=({query:e,variables:n={}}={})=>fetch("https://api.tribalwarshelp.com/graphql",{method:"POST",body:JSON.stringify({query:e,variables:n}),headers:{"Content-Type":"application/json"}}).then((e=>e.json())).then((({data:e,errors:n})=>{if(n&&Array.isArray(n)&&n.length>0)throw new Error(n[0].message);return new Promise((n=>n(e)))}));const t={pl_PL:{actualCoords:"Aktualne koordynaty",searchBonusBarbarianVillages:"Wyszukaj koczownicze",village:"Wioska",distance:"Dystans",action:"Akcja",center:"Wycentruj"},en_DK:{actualCoords:"Actual coords",searchBonusBarbarianVillages:"Search bonus barbarian villages",village:"Village",distance:"Distance",action:"Action",center:"Center"},de_DE:{actualCoords:"Aktuelle Koordinaten",searchBonusBarbarianVillages:"Suche Bonus-Barbarendörfer",village:"Dorf",distance:"Distanz",action:"Aktion",center:"Center"}};const r=(e,n,t,r)=>{const a=e-t,o=n-r;return Math.sqrt(a*a+o*o)},a=window.location.host.split(".")[0],o="bonusBarbarianVillageFinderTable",i=t[window.game_data.locale]||t.en_DK;let s;const l=(e,n)=>({query:"\n query villages($server: String!, $filter: VillageFilter, $sort: [String!], $offset: Int) {\n villages(server: $server, filter: $filter, offset: $offset, sort: $sort) {\n total\n items {\n id\n name\n bonus\n x\n y\n }\n }\n }\n",variables:{server:a,sort:["id DESC"],filter:{bonus:e,playerID:[0]},offset:n}}),c=async t=>{t.preventDefault();const a=await(async e=>{const{villages:t}=await n(l(e,0));for(let r=t.length;r<t.total;r+=1e3){const r=await n(l(e,0));t.items=[...t.items,...r.villages.items]}return t})(parseInt(t.target[0].value)),i=TWMap.pos;a.items=a.items.map((n=>function(n){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),a.forEach((function(t){e(n,t,r[t])}))}return n}({},n,{distance:r(i[0],i[1],n.x,n.y)}))).sort(((e,n)=>e.distance-n.distance)),document.querySelector("#"+o).innerHTML=u(a.items)},u=e=>`\n <tbody>\n <tr>\n <th>\n ${i.village}\n </th>\n <th>\n ${i.distance}\n </th>\n <th>\n ${i.action}\n </th>\n </tr>\n ${Array.isArray(e)?e.map((e=>{return`<tr>\n <td>\n <a href="${n=e.id,window.location.origin+TribalWars.buildURL("",{screen:"info_village",id:n})}">\n ${((e="",n=500,t=500)=>`${e} (${n}|${t}) ${"K"+String(t)[0]+String(n)[0]}`)(e.name,e.x,e.y)}\n </a>\n </td>\n <td>\n ${e.distance.toFixed(1)}\n </td>\n <td>\n <a href="#" onclick="return TWMap.focusUserSpecified(${e.x}, ${e.y})">${i.center}</a>\n </td>\n </tr>`;var n})).join(""):""}\n </tbody>\n `,d=()=>{document.querySelector("#actualCoords").innerHTML=`${i.actualCoords}: <strong>${TWMap.pos.join("|")}</strong>`};(()=>{const e=`\n <p id="actualCoords"></p>\n <form>\n <select>\n ${(()=>{let e=[];for(let n in TWMap.bonus_data)e.push({value:n,text:TWMap.bonus_data[n].text});return e})().map((e=>`<option value="${e.value}">${e.text}</option>`)).join("")}\n </select>\n <button type="submit">${i.searchBonusBarbarianVillages}</button>\n </form>\n <table class="vis" style="width: 100%;" id="bonusBarbarianVillageFinderTable">\n ${u()}\n </table>\n `;s||(s=document.createElement("div"),s.classList.add("containerBorder"),s.style.clear="both",document.querySelector("#map_big").appendChild(s)),s.innerHTML=e,s.querySelector("form").addEventListener("submit",c),d(),setInterval(d,1e3)})()}();

View File

@ -1 +1 @@
!function(){const e={pl_PL:{rename:"Zmień",name:"Nazwa"},en_DK:{rename:"Rename",name:"Name"},de_DE:{rename:"Umbenennen",name:"Name"}};var t=e=>new Promise((t=>setTimeout(t,e)));const n=e[window.game_data.locale]||e.en_DK,a=async e=>{e.preventDefault();const n=e.target[0].value;if(!n)return;const a=document.querySelectorAll("#incomings_table input:checked");e.target[1].disabled=!0;for(let e=0;e<a.length;e++){const c=a[e];if("select_all"===c.id)continue;c.parentElement.querySelector(".rename-icon").click(),await t(20);const o=c.parentElement.querySelector(".quickedit-edit");o.querySelector("input").value=n,o.querySelector('input[type="button"]').click(),await t(350)}e.target[1].disabled=!1};!async function(){try{(()=>{const e='\n <input type="text" placeholder="'.concat(n.name,'" />\n <button type="submit">').concat(n.rename,"</button>\n "),t=document.createElement("form");t.innerHTML=e,t.addEventListener("submit",a),document.querySelector("#paged_view_content").insertBefore(t,document.querySelector("#incomings_form"))})()}catch(e){console.log("command renamer",e)}}()}();
!function(){const e={pl_PL:{rename:"Zmień",name:"Nazwa"},en_DK:{rename:"Rename",name:"Name"},de_DE:{rename:"Umbenennen",name:"Name"}};var t=e=>new Promise((t=>setTimeout(t,e)));const n=e[window.game_data.locale]||e.en_DK,a=async e=>{e.preventDefault();const n=e.target[0].value;if(!n)return;const a=document.querySelectorAll("#incomings_table input:checked");e.target[1].disabled=!0;for(let e=0;e<a.length;e++){const c=a[e];if("select_all"===c.id)continue;c.parentElement.querySelector(".rename-icon").click(),await t(20);const o=c.parentElement.querySelector(".quickedit-edit");o.querySelector("input").value=n,o.querySelector('input[type="button"]').click(),await t(350)}e.target[1].disabled=!1};!async function(){try{(()=>{const e=`\n <input type="text" placeholder="${n.name}" />\n <button type="submit">${n.rename}</button>\n `,t=document.createElement("form");t.innerHTML=e,t.addEventListener("submit",a),document.querySelector("#paged_view_content").insertBefore(t,document.querySelector("#incomings_form"))})()}catch(e){console.log("command renamer",e)}}()}();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
!function(){var e=e=>parseInt(new URLSearchParams(e).get("id"));class t{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.dom=(new DOMParser).parseFromString(e,"text/html"),this.trs=this.dom.querySelectorAll("#in_a_day_ranking_table tbody tr"),this.filters=t}isValidRow(e){return!!e&&((!this.filters.playerID||e.playerID===this.filters.playerID)&&!(this.filters.tribes&&Array.isArray(this.filters.tribes)&&!this.filters.tribes.some((t=>t===e.tribe))))}parseRow(t){if(!t||!t instanceof HTMLTableRowElement)return;let r={};return r.rank=parseInt(t.children[0].innerText.trim()),r.name=t.children[1].innerText.trim(),r.playerID=e(t.children[1].querySelector("a").getAttribute("href")),r.tribe=t.children[2].innerText.trim(),r.tribeID=0,r.tribe&&(r.tribeID=e(t.children[2].querySelector("a").getAttribute("href"))),r.score=parseInt(t.children[3].innerText.trim().replace(/\./g,"")),r.date=t.children[4].innerText.trim(),r}parse(){const e=[];for(let t=1;t<this.trs.length;t++){const r=this.trs[t],n=this.parseRow(r);this.isValidRow(n)&&e.push(n)}return e}}const r={pl_PL:{addTribe:"Dodaj plemię",generate:"Wygeneruj",delete:"Usuń",player:"Gracz",tribe:"Plemię",rank:"Ranking",score:"Wynik",date:"Data",loaded:"Załadowano"},en_DK:{addTribe:"Add tribe",generate:"Generate",delete:"Delete",player:"Player",tribe:"Tribe",rank:"Rank",score:"Score",date:"Date",loaded:"Loaded"},de_DE:{addTribe:"Stamm hinzufügen",generate:"Generieren",delete:"Löschen",player:"Spieler",tribe:"Stamm",rank:"Rang",score:"Punkte",date:"Datum",loaded:"Geladen"}};var n=e=>new Promise((t=>setTimeout(t,e)));const a="iad_tribes",i="iad_limit",o=r[window.game_data.locale]||r.en_DK,l=()=>{const e=document.querySelector("#iad_tribes"),t=document.createElement("div");t.innerHTML="\n <label>".concat(o.tribe,': </label>\n <input type="text" required />\n <button type="button">').concat(o.delete,"</button>\n "),t.querySelector("button").addEventListener("click",(()=>{e.children.length>1&&t.remove()})),e.appendChild(t)},c=async e=>{e.preventDefault();const r=parseInt(document.querySelector("#iad_limit").value),a=[],i=new URLSearchParams(window.location.search).get("type")||"kill_att";document.querySelectorAll("#iad_tribes input").forEach((e=>{e.value&&a.push(e.value.trim())}));let l=[],c=0;for(;l.length<r;){Dialog.show("iad_loading","".concat(o.loaded,": <strong>").concat(l.length,"/").concat(r,"</strong>"));try{const e=await fetch(TribalWars.buildURL("",{screen:"ranking",mode:"in_a_day",type:i,offset:25*c})),r=await e.text(),o=new t(r,{tribes:a});if(26!==o.trs.length)break;l=[...l,...o.parse()],c++,await n(200)}catch(e){break}}l.length>r&&(l=l.slice(0,r)),Dialog.show("iad_result","\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]".concat(o.player,"[||]").concat(o.tribe,"[||]").concat(o.rank,"[||]").concat(o.score,"[||]").concat(o.date,"[/**]\n").concat(l.map(((e,t)=>"[*]".concat(t+1,".[|][player]").concat(e.name,"[/player][|][ally]").concat(e.tribe,"[/ally][|]").concat(e.rank,"[|]").concat(e.score.toLocaleString(),"[|]").concat(e.date))).join("\n"),"\n[/table]</textarea>\n "))};!function(){try{(()=>{const e="iad_add",t=document.createElement("div"),r='\n <form>\n <div id="'.concat(a,'">\n </div>\n <div>\n <label>Limit: </label>\n <input id="').concat(i,'" type="number" min="1" value="10" required />\n </div>\n <button type="submit">').concat(o.generate,'</button>\n <button id="').concat(e,'" type="button">').concat(o.addTribe,"</button>\n </form>\n ");t.innerHTML=r,document.querySelector("#content_value > table > tbody > tr > td:nth-child(2)").prepend(t),t.querySelector("form").addEventListener("submit",c),t.querySelector("#iad_add").addEventListener("click",l),l()})()}catch(e){console.log("'In A Day' Tribe Ranking Generator",e)}}()}();
!function(){var e=e=>parseInt(new URLSearchParams(e).get("id"));class t{isValidRow(e){return!!e&&((!this.filters.playerID||e.playerID===this.filters.playerID)&&!(this.filters.tribes&&Array.isArray(this.filters.tribes)&&!this.filters.tribes.some((t=>t===e.tribe))))}parseRow(t){if(!t||!t instanceof HTMLTableRowElement)return;let r={};return r.rank=parseInt(t.children[0].innerText.trim()),r.name=t.children[1].innerText.trim(),r.playerID=e(t.children[1].querySelector("a").getAttribute("href")),r.tribe=t.children[2].innerText.trim(),r.tribeID=0,r.tribe&&(r.tribeID=e(t.children[2].querySelector("a").getAttribute("href"))),r.score=parseInt(t.children[3].innerText.trim().replace(/\./g,"")),r.date=t.children[4].innerText.trim(),r}parse(){const e=[];for(let t=1;t<this.trs.length;t++){const r=this.trs[t],n=this.parseRow(r);this.isValidRow(n)&&e.push(n)}return e}constructor(e="",t={}){this.dom=(new DOMParser).parseFromString(e,"text/html"),this.trs=this.dom.querySelectorAll("#in_a_day_ranking_table tbody tr"),this.filters=t}}const r={pl_PL:{addTribe:"Dodaj plemię",generate:"Wygeneruj",delete:"Usuń",player:"Gracz",tribe:"Plemię",rank:"Ranking",score:"Wynik",date:"Data",loaded:"Załadowano"},en_DK:{addTribe:"Add tribe",generate:"Generate",delete:"Delete",player:"Player",tribe:"Tribe",rank:"Rank",score:"Score",date:"Date",loaded:"Loaded"},de_DE:{addTribe:"Stamm hinzufügen",generate:"Generieren",delete:"Löschen",player:"Spieler",tribe:"Stamm",rank:"Rang",score:"Punkte",date:"Datum",loaded:"Geladen"}};var n=e=>new Promise((t=>setTimeout(t,e)));const a=r[window.game_data.locale]||r.en_DK,i=()=>{const e=document.querySelector("#iad_tribes"),t=document.createElement("div");t.innerHTML=`\n <label>${a.tribe}: </label>\n <input type="text" required />\n <button type="button">${a.delete}</button>\n `,t.querySelector("button").addEventListener("click",(()=>{e.children.length>1&&t.remove()})),e.appendChild(t)},l=async e=>{e.preventDefault();const r=parseInt(document.querySelector("#iad_limit").value),i=[],l=new URLSearchParams(window.location.search).get("type")||"kill_att";document.querySelectorAll("#iad_tribes input").forEach((e=>{e.value&&i.push(e.value.trim())}));let d=[],o=0;for(;d.length<r;){Dialog.show("iad_loading",`${a.loaded}: <strong>${d.length}/${r}</strong>`);try{const e=await fetch(TribalWars.buildURL("",{screen:"ranking",mode:"in_a_day",type:l,offset:25*o})),r=await e.text(),a=new t(r,{tribes:i});if(26!==a.trs.length)break;d=[...d,...a.parse()],o++,await n(200)}catch(e){break}}d.length>r&&(d=d.slice(0,r)),Dialog.show("iad_result",`\n <textarea cols=30 rows=8 readonly>[table]\n[**][||]${a.player}[||]${a.tribe}[||]${a.rank}[||]${a.score}[||]${a.date}[/**]\n${d.map(((e,t)=>`[*]${t+1}.[|][player]${e.name}[/player][|][ally]${e.tribe}[/ally][|]${e.rank}[|]${e.score.toLocaleString()}[|]${e.date}`)).join("\n")}\n[/table]</textarea>\n `)};!function(){try{(()=>{const e=document.createElement("div"),t=`\n <form>\n <div id="iad_tribes">\n </div>\n <div>\n <label>Limit: </label>\n <input id="iad_limit" type="number" min="1" value="10" required />\n </div>\n <button type="submit">${a.generate}</button>\n <button id="iad_add" type="button">${a.addTribe}</button>\n </form>\n `;e.innerHTML=t,document.querySelector("#content_value > table > tbody > tr > td:nth-child(2)").prepend(e),e.querySelector("form").addEventListener("submit",l),e.querySelector("#iad_add").addEventListener("click",i),i()})()}catch(e){console.log("'In A Day' Tribe Ranking Generator",e)}}()}();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,257 +1,320 @@
(function () {
const $3af05e958b2a20a26445518aba292c50$export$API_URI = 'https://api.tribalwarshelp.com/graphql';
var $3af05e958b2a20a26445518aba292c50$export$default = function () {
let {query, variables = {}} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return fetch($3af05e958b2a20a26445518aba292c50$export$API_URI, {
method: 'POST',
body: JSON.stringify({
query,
variables
}),
headers: {
'Content-Type': 'application/json'
}
}).then(res => {
return res.json();
}).then(_ref => {
let {data, errors} = _ref;
if (errors && Array.isArray(errors) && errors.length > 0) {
throw new Error(errors[0].message);
}
return new Promise(resolve => resolve(data));
const $902f167bfdc7b30b$export$fb18762d0c18fa09 = 'https://api.tribalwarshelp.com/graphql';
var $902f167bfdc7b30b$export$2e2bcd8739ae039 = ({ query: query , variables: variables = {
} } = {
})=>{
return fetch($902f167bfdc7b30b$export$fb18762d0c18fa09, {
method: 'POST',
body: JSON.stringify({
query: query,
variables: variables
}),
headers: {
'Content-Type': 'application/json'
}
}).then((res)=>{
return res.json();
}).then(({ data: data , errors: errors })=>{
if (errors && Array.isArray(errors) && errors.length > 0) throw new Error(errors[0].message);
return new Promise((resolve)=>resolve(data)
);
});
};
const $5adf165e6af4801598a359969d322bf5$var$translations = {
};
const $dd2f3b715639879a$var$translations = {
pl_PL: {
conquers: 'Przejęcia',
sideOne: 'Strona 1',
sideTwo: 'Strona 2',
difference: 'Różnica',
tribeTag: 'Skrót plemienia',
delete: 'Usuń',
notEnoughTribesSideOne: 'Musisz dodać jakiekolwiek plemię do strony 1.',
notEnoughTribesSideTwo: 'Musisz dodać jakiekolwiek plemię do strony 2.',
from: 'Od',
to: 'Do',
warStatsGenerator: 'Generator statystyk wojennych',
generateWarStats: 'Wygeneruj statystyki wojenne',
addTribe: 'Dodaj plemię',
devNote: 'Informacja od autora - Właśnie uruchomiłem nową stronę ze statystykami, nie zapomnij jej sprawdzić :).'
conquers: 'Przejęcia',
sideOne: 'Strona 1',
sideTwo: 'Strona 2',
difference: 'Różnica',
tribeTag: 'Skrót plemienia',
delete: 'Usuń',
notEnoughTribesSideOne: 'Musisz dodać jakiekolwiek plemię do strony 1.',
notEnoughTribesSideTwo: 'Musisz dodać jakiekolwiek plemię do strony 2.',
from: 'Od',
to: 'Do',
warStatsGenerator: 'Generator statystyk wojennych',
generateWarStats: 'Wygeneruj statystyki wojenne',
addTribe: 'Dodaj plemię',
devNote: 'Informacja od autora - Właśnie uruchomiłem nową stronę ze statystykami, nie zapomnij jej sprawdzić :).'
},
en_DK: {
conquers: 'Conquers',
sideOne: 'Side one',
sideTwo: 'Side two',
difference: 'Difference',
tribeTag: 'Tribe tag',
delete: 'Delete',
notEnoughTribesSideOne: 'Not enough tribes added to the side one.',
notEnoughTribesSideTwo: 'Not enough tribes added to the side two.',
from: 'From',
to: 'To',
warStatsGenerator: 'War stats generator',
generateWarStats: 'Generate war stats',
addTribe: 'Add tribe',
devNote: "Information from the author - I've just launched a new stat tracking website, don't forget to check it out :)."
conquers: 'Conquers',
sideOne: 'Side one',
sideTwo: 'Side two',
difference: 'Difference',
tribeTag: 'Tribe tag',
delete: 'Delete',
notEnoughTribesSideOne: 'Not enough tribes added to the side one.',
notEnoughTribesSideTwo: 'Not enough tribes added to the side two.',
from: 'From',
to: 'To',
warStatsGenerator: 'War stats generator',
generateWarStats: 'Generate war stats',
addTribe: 'Add tribe',
devNote: `Information from the author - I've just launched a new stat tracking website, don't forget to check it out :).`
},
de_DE: {
conquers: 'Eroberungen',
sideOne: 'Partei A',
sideTwo: 'Partei B',
difference: 'Differenz',
tribeTag: 'Stammeskürzel',
delete: 'Löschen',
notEnoughTribesSideOne: 'Nicht genügend Stämme hinzugefügt zu Partei A.',
notEnoughTribesSideTwo: 'Nicht genügend Stämme hinzugefügt zu Partei B.',
from: 'Von',
to: 'Zu',
warStatsGenerator: 'Kriegsstatistik Generator',
generateWarStats: 'Generiere Statistik',
addTribe: 'Stamm Hinzufügen',
devNote: "Information vom Entwickler - Ich habe eine neue Statistik-Website gestartet, vergiss nicht diese zu testen :)."
conquers: 'Eroberungen',
sideOne: 'Partei A',
sideTwo: 'Partei B',
difference: 'Differenz',
tribeTag: 'Stammeskürzel',
delete: 'Löschen',
notEnoughTribesSideOne: 'Nicht genügend Stämme hinzugefügt zu Partei A.',
notEnoughTribesSideTwo: 'Nicht genügend Stämme hinzugefügt zu Partei B.',
from: 'Von',
to: 'Zu',
warStatsGenerator: 'Kriegsstatistik Generator',
generateWarStats: 'Generiere Statistik',
addTribe: 'Stamm Hinzufügen',
devNote: `Information vom Entwickler - Ich habe eine neue Statistik-Website gestartet, vergiss nicht diese zu testen :).`
}
};
var $5adf165e6af4801598a359969d322bf5$export$default = () => $5adf165e6af4801598a359969d322bf5$var$translations[window.game_data.locale] || $5adf165e6af4801598a359969d322bf5$var$translations.en_DK;
var $075335fbc46b1a64d60d11b353f74662$export$default = () => window.location.host.split('.')[0];
var $1f14636dcc53402ba1b7661b758ca0aa$export$default = function () {
let server = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
return server.substr(0, 2);
};
const $d147509fefd1cb8b3b83e8f38f763543$export$BASE_URL = 'tribalwarshelp.com';
const $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToServerPage = function buildURLToServerPage() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
return ("https://").concat(version, ".").concat($d147509fefd1cb8b3b83e8f38f763543$export$BASE_URL, "/server/").concat(server);
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile = function buildURLToProfile() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
let entity = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
return ("").concat($d147509fefd1cb8b3b83e8f38f763543$export$buildURLToServerPage(version, server), "/").concat(entity, "/").concat(id);
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildPlayerURL = function buildPlayerURL() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile(version, server, id, 'player');
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildTribeURL = function buildTribeURL() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile(version, server, id, 'tribe');
};
const $d147509fefd1cb8b3b83e8f38f763543$export$buildVillageURL = function buildVillageURL() {
let version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let server = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
return $d147509fefd1cb8b3b83e8f38f763543$export$buildURLToProfile(version, server, id, 'village');
};
const $6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR = '.popup_box';
const $6412e4d8722bc72f55b3c382206290ed$export$default = function showPopup() {
let {html, id, title} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
Dialog.show(id, ("<h3>").concat(title, "</h3>") + html);
const popup = document.querySelector($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR);
};
var $dd2f3b715639879a$export$2e2bcd8739ae039 = ()=>$dd2f3b715639879a$var$translations[window.game_data.locale] || $dd2f3b715639879a$var$translations.en_DK
;
var $9412d55e353d4b8b$export$2e2bcd8739ae039 = ()=>window.location.host.split('.')[0]
;
var $5b3edb3901c8177a$export$2e2bcd8739ae039 = (server = '')=>server.substr(0, 2)
;
const $f3b273bd698d94bc$export$ca6dda5263526f75 = 'tribalwarshelp.com';
const $f3b273bd698d94bc$export$5d5850cc00079a21 = (version = '', server = '')=>{
return `https://${version}.${$f3b273bd698d94bc$export$ca6dda5263526f75}/server/${server}`;
};
const $f3b273bd698d94bc$export$a4588dcb88e3f9db = (version = '', server = '', id = 0, entity = '')=>{
return `${$f3b273bd698d94bc$export$5d5850cc00079a21(version, server)}/${entity}/${id}`;
};
const $f3b273bd698d94bc$export$3df7b9b48f38839e = (version = '', server = '', id = 0)=>{
return $f3b273bd698d94bc$export$a4588dcb88e3f9db(version, server, id, 'player');
};
const $f3b273bd698d94bc$export$7345792e21cfc457 = (version = '', server = '', id = 0)=>{
return $f3b273bd698d94bc$export$a4588dcb88e3f9db(version, server, id, 'tribe');
};
const $f3b273bd698d94bc$export$e537a41a0fc85cc5 = (version = '', server = '', id = 0)=>{
return $f3b273bd698d94bc$export$a4588dcb88e3f9db(version, server, id, 'village');
};
const $20636c16dad2c11a$export$21d4bed11ae27f0b = '.popup_box';
const $20636c16dad2c11a$var$showPopup = ({ html: html , id: id , title: title } = {
})=>{
Dialog.show(id, `<h3>${title}</h3>` + html);
const popup = document.querySelector($20636c16dad2c11a$export$21d4bed11ae27f0b);
if (popup) {
popup.style.width = 'auto';
popup.style.maxWidth = '1000px';
popup.style.width = 'auto';
popup.style.maxWidth = '1000px';
}
};
// ==UserScript==
// @name War stats generator
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/warStatsGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/warStatsGenerator.js
// @version 0.3.5
// @description War stats generator
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=ranking*mode=wars*
// @grant none
// @run-at document-end
// ==/UserScript==
const $1f04f025e20ce30abc71521ae440de01$var$SERVER = $075335fbc46b1a64d60d11b353f74662$export$default();
const $1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_BUTTON_ID = 'sideOneAdd';
const $1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_INPUT_CONTAINER_ID = 'sideOneInputs';
const $1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_BUTTON_ID = 'sideTwoAdd';
const $1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_INPUT_CONTAINER_ID = 'sideTwoInputs';
const $1f04f025e20ce30abc71521ae440de01$var$TO_INPUT_ID = 'to';
const $1f04f025e20ce30abc71521ae440de01$var$FROM_INPUT_ID = 'from';
const $1f04f025e20ce30abc71521ae440de01$var$RESULT_CONTAINER_ID = 'warStatsResult';
const $1f04f025e20ce30abc71521ae440de01$var$TRIBES_QUERY = "\n query tribes($server: String!, $filter: TribeFilter) {\n tribes(server: $server, filter: $filter) {\n items {\n id\n tag\n }\n }\n }\n";
const $1f04f025e20ce30abc71521ae440de01$var$ENNOBLEMENTS_QUERY = "\n query ennoblements($server: String!, $sideOneFilter: EnnoblementFilter, $sideTwoFilter: EnnoblementFilter) {\n sideOneEnnoblements: ennoblements(server: $server, filter: $sideOneFilter) {\n total\n }\n sideTwoEnnoblements: ennoblements(server: $server, filter: $sideTwoFilter) {\n total\n }\n }\n";
const $1f04f025e20ce30abc71521ae440de01$var$translations = $5adf165e6af4801598a359969d322bf5$export$default();
const $1f04f025e20ce30abc71521ae440de01$var$showResult = function showResult() {
let sideOne = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
let sideTwo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
const html = ("\n <div>\n <h3>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.conquers, ":</h3>\n <p style=\"margin: 0;\"><strong>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.sideOne, ": ").concat(sideOne, "</strong></p>\n <p style=\"margin: 0;\"><strong>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.sideTwo, ": ").concat(sideTwo, "</strong></p>\n <p style=\"margin: 0;\"><strong>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.difference, ": ").concat(Math.abs(sideOne - sideTwo), "</strong></p>\n <hr style=\"margin: 10px 0;\" />\n </div>\n ");
document.querySelector('#' + $1f04f025e20ce30abc71521ae440de01$var$RESULT_CONTAINER_ID).innerHTML = html;
};
const $1f04f025e20ce30abc71521ae440de01$var$createAddTribeHandler = container => {
return () => {
const div = document.createElement('div');
div.innerHTML = ("\n <label>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.tribeTag, ": </label>\n <input type=\"text\" required />\n <button type=\"button\" class=\"btn\">").concat($1f04f025e20ce30abc71521ae440de01$var$translations.delete, "</button>\n ");
div.querySelector('button').addEventListener('click', () => {
div.remove();
});
container.appendChild(div);
};
var $20636c16dad2c11a$export$2e2bcd8739ae039 = $20636c16dad2c11a$var$showPopup;
// ==UserScript==
// @name War stats generator
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/warStatsGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/warStatsGenerator.js
// @version 0.3.5
// @description War stats generator
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=ranking*mode=wars*
// @grant none
// @run-at document-end
// ==/UserScript==
const $813af46890790f24$var$SERVER = $9412d55e353d4b8b$export$2e2bcd8739ae039();
const $813af46890790f24$var$SIDE_ONE_BUTTON_ID = 'sideOneAdd';
const $813af46890790f24$var$SIDE_ONE_INPUT_CONTAINER_ID = 'sideOneInputs';
const $813af46890790f24$var$SIDE_TWO_BUTTON_ID = 'sideTwoAdd';
const $813af46890790f24$var$SIDE_TWO_INPUT_CONTAINER_ID = 'sideTwoInputs';
const $813af46890790f24$var$TO_INPUT_ID = 'to';
const $813af46890790f24$var$FROM_INPUT_ID = 'from';
const $813af46890790f24$var$RESULT_CONTAINER_ID = 'warStatsResult';
const $813af46890790f24$var$TRIBES_QUERY = `
query tribes($server: String!, $filter: TribeFilter) {
tribes(server: $server, filter: $filter) {
items {
id
tag
}
}
}
`;
const $813af46890790f24$var$ENNOBLEMENTS_QUERY = `
query ennoblements($server: String!, $sideOneFilter: EnnoblementFilter, $sideTwoFilter: EnnoblementFilter) {
sideOneEnnoblements: ennoblements(server: $server, filter: $sideOneFilter) {
total
}
sideTwoEnnoblements: ennoblements(server: $server, filter: $sideTwoFilter) {
total
}
}
`;
const $813af46890790f24$var$translations = $dd2f3b715639879a$export$2e2bcd8739ae039();
const $813af46890790f24$var$showResult = (sideOne = 0, sideTwo = 0)=>{
const html = `
<div>
<h3>${$813af46890790f24$var$translations.conquers}:</h3>
<p style="margin: 0;"><strong>${$813af46890790f24$var$translations.sideOne}: ${sideOne}</strong></p>
<p style="margin: 0;"><strong>${$813af46890790f24$var$translations.sideTwo}: ${sideTwo}</strong></p>
<p style="margin: 0;"><strong>${$813af46890790f24$var$translations.difference}: ${Math.abs(sideOne - sideTwo)}</strong></p>
<hr style="margin: 10px 0;" />
</div>
`;
document.querySelector('#' + $813af46890790f24$var$RESULT_CONTAINER_ID).innerHTML = html;
};
const $813af46890790f24$var$createAddTribeHandler = (container)=>{
return ()=>{
const div = document.createElement('div');
div.innerHTML = `
<label>${$813af46890790f24$var$translations.tribeTag}: </label>
<input type="text" required />
<button type="button" class="btn">${$813af46890790f24$var$translations.delete}</button>
`;
div.querySelector('button').addEventListener('click', ()=>{
div.remove();
});
container.appendChild(div);
};
};
const $1f04f025e20ce30abc71521ae440de01$var$handleFormSubmit = async e => {
};
const $813af46890790f24$var$handleFormSubmit = async (e)=>{
e.preventDefault();
const sideOneTags = [];
const sideTwoTags = [];
e.target.querySelectorAll(("#").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_INPUT_CONTAINER_ID, " input")).forEach(el => {
if (el.value.trim()) {
sideOneTags.push(el.value.trim());
}
e.target.querySelectorAll(`#${$813af46890790f24$var$SIDE_ONE_INPUT_CONTAINER_ID} input`).forEach((el)=>{
if (el.value.trim()) sideOneTags.push(el.value.trim());
});
e.target.querySelectorAll(("#").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_INPUT_CONTAINER_ID, " input")).forEach(el => {
if (el.value.trim()) {
sideTwoTags.push(el.value.trim());
}
e.target.querySelectorAll(`#${$813af46890790f24$var$SIDE_TWO_INPUT_CONTAINER_ID} input`).forEach((el)=>{
if (el.value.trim()) sideTwoTags.push(el.value.trim());
});
console.log('sideOneTags', sideOneTags, 'sideTwoTags', sideTwoTags);
if (sideOneTags.length === 0) return UI.ErrorMessage($1f04f025e20ce30abc71521ae440de01$var$translations.notEnoughTribesSideOne);
if (sideTwoTags.length === 0) return UI.ErrorMessage($1f04f025e20ce30abc71521ae440de01$var$translations.notEnoughTribesSideTwo);
const fromInputs = document.querySelectorAll(("").concat($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR, " form #").concat($1f04f025e20ce30abc71521ae440de01$var$FROM_INPUT_ID, " input"));
if (sideOneTags.length === 0) return UI.ErrorMessage($813af46890790f24$var$translations.notEnoughTribesSideOne);
if (sideTwoTags.length === 0) return UI.ErrorMessage($813af46890790f24$var$translations.notEnoughTribesSideTwo);
const fromInputs = document.querySelectorAll(`${$20636c16dad2c11a$export$21d4bed11ae27f0b} form #${$813af46890790f24$var$FROM_INPUT_ID} input`);
let ennobledAtGTE;
if (fromInputs.length === 2 && fromInputs[0].value && fromInputs[1].value) {
ennobledAtGTE = new Date(("").concat(fromInputs[0].value, "T").concat(fromInputs[1].value, ":00"));
}
const toInputs = document.querySelectorAll(("").concat($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR, " form #").concat($1f04f025e20ce30abc71521ae440de01$var$TO_INPUT_ID, " input"));
if (fromInputs.length === 2 && fromInputs[0].value && fromInputs[1].value) ennobledAtGTE = new Date(`${fromInputs[0].value}T${fromInputs[1].value}:00`);
const toInputs = document.querySelectorAll(`${$20636c16dad2c11a$export$21d4bed11ae27f0b} form #${$813af46890790f24$var$TO_INPUT_ID} input`);
let ennobledAtLTE;
if (toInputs.length === 2 && toInputs[0].value && toInputs[1].value) {
ennobledAtLTE = new Date(("").concat(toInputs[0].value, "T").concat(toInputs[1].value, ":00"));
}
e.target.querySelectorAll('button').forEach(button => {
button.disabled = true;
if (toInputs.length === 2 && toInputs[0].value && toInputs[1].value) ennobledAtLTE = new Date(`${toInputs[0].value}T${toInputs[1].value}:00`);
e.target.querySelectorAll('button').forEach((button)=>{
button.disabled = true;
});
try {
const {tribes} = await $3af05e958b2a20a26445518aba292c50$export$default({
query: $1f04f025e20ce30abc71521ae440de01$var$TRIBES_QUERY,
variables: {
server: $1f04f025e20ce30abc71521ae440de01$var$SERVER,
filter: {
tag: [...sideOneTags, ...sideTwoTags]
}
}
});
const sideOneTribes = tribes.items.filter(item => sideOneTags.some(tag => item.tag === tag)).map(tribe => tribe.id);
const sideTwoTribes = tribes.items.filter(item => sideTwoTags.some(tag => item.tag === tag)).map(tribe => tribe.id);
const {sideOneEnnoblements, sideTwoEnnoblements} = await $3af05e958b2a20a26445518aba292c50$export$default({
query: $1f04f025e20ce30abc71521ae440de01$var$ENNOBLEMENTS_QUERY,
variables: {
server: $1f04f025e20ce30abc71521ae440de01$var$SERVER,
sideOneFilter: {
newOwnerTribeID: sideOneTribes,
oldOwnerTribeID: sideTwoTribes,
ennobledAtGTE,
ennobledAtLTE
},
sideTwoFilter: {
newOwnerTribeID: sideTwoTribes,
oldOwnerTribeID: sideOneTribes,
ennobledAtGTE,
ennobledAtLTE
}
}
});
console.log('sideOneEnnoblements', sideOneEnnoblements, 'sideTwoEnnoblements', sideTwoEnnoblements);
$1f04f025e20ce30abc71521ae440de01$var$showResult(sideOneEnnoblements.total, sideTwoEnnoblements.total);
const { tribes: tribes } = await $902f167bfdc7b30b$export$2e2bcd8739ae039({
query: $813af46890790f24$var$TRIBES_QUERY,
variables: {
server: $813af46890790f24$var$SERVER,
filter: {
tag: [
...sideOneTags,
...sideTwoTags
]
}
}
});
const sideOneTribes = tribes.items.filter((item)=>sideOneTags.some((tag)=>item.tag === tag
)
).map((tribe)=>tribe.id
);
const sideTwoTribes = tribes.items.filter((item)=>sideTwoTags.some((tag)=>item.tag === tag
)
).map((tribe)=>tribe.id
);
const { sideOneEnnoblements: sideOneEnnoblements , sideTwoEnnoblements: sideTwoEnnoblements } = await $902f167bfdc7b30b$export$2e2bcd8739ae039({
query: $813af46890790f24$var$ENNOBLEMENTS_QUERY,
variables: {
server: $813af46890790f24$var$SERVER,
sideOneFilter: {
newOwnerTribeID: sideOneTribes,
oldOwnerTribeID: sideTwoTribes,
ennobledAtGTE: ennobledAtGTE,
ennobledAtLTE: ennobledAtLTE
},
sideTwoFilter: {
newOwnerTribeID: sideTwoTribes,
oldOwnerTribeID: sideOneTribes,
ennobledAtGTE: ennobledAtGTE,
ennobledAtLTE: ennobledAtLTE
}
}
});
console.log('sideOneEnnoblements', sideOneEnnoblements, 'sideTwoEnnoblements', sideTwoEnnoblements);
$813af46890790f24$var$showResult(sideOneEnnoblements.total, sideTwoEnnoblements.total);
} catch (error) {
console.log('handleFormSubmit', error);
console.log('handleFormSubmit', error);
}
e.target.querySelectorAll('button').forEach(button => {
button.disabled = false;
e.target.querySelectorAll('button').forEach((button)=>{
button.disabled = false;
});
};
const $1f04f025e20ce30abc71521ae440de01$var$showWarStatsForm = e => {
const html = ("\n <form>\n <h1 style=\"margin-bottom: 0px; text-align: center;\"><a href=\"").concat($d147509fefd1cb8b3b83e8f38f763543$export$buildURLToServerPage($1f14636dcc53402ba1b7661b758ca0aa$export$default($1f04f025e20ce30abc71521ae440de01$var$SERVER), $1f04f025e20ce30abc71521ae440de01$var$SERVER), "\">TWHelp</a></h1>\n <h3 style=\"margin-bottom: 10px; margin-top: 0;\">").concat($1f04f025e20ce30abc71521ae440de01$var$translations.devNote, "</h3>\n <div id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$RESULT_CONTAINER_ID, "\">\n </div>\n <div style=\"margin-bottom: 10px;\">\n <div id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$FROM_INPUT_ID, "\">\n <label>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.from, ": </label>\n <input type=\"date\" required />\n <input type=\"time\" required />\n </div>\n <div id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$TO_INPUT_ID, "\">\n <label>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.to, ": </label>\n <input type=\"date\" required />\n <input type=\"time\" required />\n </div>\n </div>\n <div style=\"display: flex; justify-content: space-between; margin-bottom: 10px; min-width: 800px;\">\n <div>\n <h3>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.sideOne, "</h3>\n <div id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_INPUT_CONTAINER_ID, "\">\n </div>\n <button id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_BUTTON_ID, "\" class=\"btn\" type=\"button\">").concat($1f04f025e20ce30abc71521ae440de01$var$translations.addTribe, "</button>\n </div>\n <div style=\"margin: 0 5px;\"></div>\n <div>\n <h3>").concat($1f04f025e20ce30abc71521ae440de01$var$translations.sideTwo, "</h3>\n <div id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_INPUT_CONTAINER_ID, "\">\n </div>\n <button id=\"").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_BUTTON_ID, "\" class=\"btn\" type=\"button\">").concat($1f04f025e20ce30abc71521ae440de01$var$translations.addTribe, "</button>\n </div>\n </div>\n <div style=\"text-align: center;\">\n <button class=\"btn\" type=\"submit\">").concat($1f04f025e20ce30abc71521ae440de01$var$translations.generateWarStats, "</button>\n </div>\n </form>\n ");
$6412e4d8722bc72f55b3c382206290ed$export$default({
title: $1f04f025e20ce30abc71521ae440de01$var$translations.warStatsGenerator,
id: 'warStats',
html,
e
};
const $813af46890790f24$var$showWarStatsForm = (e)=>{
const html = `
<form>
<h1 style="margin-bottom: 0px; text-align: center;"><a href="${$f3b273bd698d94bc$export$5d5850cc00079a21($5b3edb3901c8177a$export$2e2bcd8739ae039($813af46890790f24$var$SERVER), $813af46890790f24$var$SERVER)}">TWHelp</a></h1>
<h3 style="margin-bottom: 10px; margin-top: 0;">${$813af46890790f24$var$translations.devNote}</h3>
<div id="${$813af46890790f24$var$RESULT_CONTAINER_ID}">
</div>
<div style="margin-bottom: 10px;">
<div id="${$813af46890790f24$var$FROM_INPUT_ID}">
<label>${$813af46890790f24$var$translations.from}: </label>
<input type="date" required />
<input type="time" required />
</div>
<div id="${$813af46890790f24$var$TO_INPUT_ID}">
<label>${$813af46890790f24$var$translations.to}: </label>
<input type="date" required />
<input type="time" required />
</div>
</div>
<div style="display: flex; justify-content: space-between; margin-bottom: 10px; min-width: 800px;">
<div>
<h3>${$813af46890790f24$var$translations.sideOne}</h3>
<div id="${$813af46890790f24$var$SIDE_ONE_INPUT_CONTAINER_ID}">
</div>
<button id="${$813af46890790f24$var$SIDE_ONE_BUTTON_ID}" class="btn" type="button">${$813af46890790f24$var$translations.addTribe}</button>
</div>
<div style="margin: 0 5px;"></div>
<div>
<h3>${$813af46890790f24$var$translations.sideTwo}</h3>
<div id="${$813af46890790f24$var$SIDE_TWO_INPUT_CONTAINER_ID}">
</div>
<button id="${$813af46890790f24$var$SIDE_TWO_BUTTON_ID}" class="btn" type="button">${$813af46890790f24$var$translations.addTribe}</button>
</div>
</div>
<div style="text-align: center;">
<button class="btn" type="submit">${$813af46890790f24$var$translations.generateWarStats}</button>
</div>
</form>
`;
$20636c16dad2c11a$export$2e2bcd8739ae039({
title: $813af46890790f24$var$translations.warStatsGenerator,
id: 'warStats',
html: html,
e: e
});
document.querySelector(("").concat($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR, " form #").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_BUTTON_ID)).addEventListener('click', $1f04f025e20ce30abc71521ae440de01$var$createAddTribeHandler(document.querySelector('#' + $1f04f025e20ce30abc71521ae440de01$var$SIDE_ONE_INPUT_CONTAINER_ID)));
document.querySelector(("").concat($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR, " form #").concat($1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_BUTTON_ID)).addEventListener('click', $1f04f025e20ce30abc71521ae440de01$var$createAddTribeHandler(document.querySelector('#' + $1f04f025e20ce30abc71521ae440de01$var$SIDE_TWO_INPUT_CONTAINER_ID)));
document.querySelector(("").concat($6412e4d8722bc72f55b3c382206290ed$export$POPUP_SELECTOR, " form")).addEventListener('submit', $1f04f025e20ce30abc71521ae440de01$var$handleFormSubmit);
};
const $1f04f025e20ce30abc71521ae440de01$var$renderUI = () => {
document.querySelector(`${$20636c16dad2c11a$export$21d4bed11ae27f0b} form #${$813af46890790f24$var$SIDE_ONE_BUTTON_ID}`).addEventListener('click', $813af46890790f24$var$createAddTribeHandler(document.querySelector('#' + $813af46890790f24$var$SIDE_ONE_INPUT_CONTAINER_ID)));
document.querySelector(`${$20636c16dad2c11a$export$21d4bed11ae27f0b} form #${$813af46890790f24$var$SIDE_TWO_BUTTON_ID}`).addEventListener('click', $813af46890790f24$var$createAddTribeHandler(document.querySelector('#' + $813af46890790f24$var$SIDE_TWO_INPUT_CONTAINER_ID)));
document.querySelector(`${$20636c16dad2c11a$export$21d4bed11ae27f0b} form`).addEventListener('submit', $813af46890790f24$var$handleFormSubmit);
};
const $813af46890790f24$var$renderUI = ()=>{
const div = document.createElement('div');
const button = document.createElement('button');
button.innerHTML = $1f04f025e20ce30abc71521ae440de01$var$translations.generateWarStats;
button.addEventListener('click', $1f04f025e20ce30abc71521ae440de01$var$showWarStatsForm);
button.innerHTML = $813af46890790f24$var$translations.generateWarStats;
button.addEventListener('click', $813af46890790f24$var$showWarStatsForm);
div.appendChild(button);
document.querySelector('#wars_ranking_table').parentElement.prepend(div);
};
(function () {
};
(function() {
try {
$1f04f025e20ce30abc71521ae440de01$var$renderUI();
$813af46890790f24$var$renderUI();
} catch (error) {
console.log('war stats', error);
console.log('war stats', error);
}
})();
})();
})();

View File

@ -1,6 +1,5 @@
const path = require('path');
const fs = require('fs');
const _ = require('lodash');
const versions = require('./versions.json');
const srcDirectory = path.join(__dirname, 'src');
@ -10,12 +9,12 @@ scripts.forEach(f => {
if (!version) {
return;
}
[
path.join(__dirname, 'dist', f),
path.join(__dirname, 'dist', 'quickbar', f),
path.join(__dirname, 'dist', 'quickbar', f)
].forEach(p => {
const fileContent = fs.readFileSync(p);
const compile = _.template(fileContent);
fs.writeFileSync(p, compile({ version }));
fs.writeFileSync(p, fileContent.toString('utf-8').replace(/<%= version %>/g, version));
});
});

View File

@ -9,7 +9,7 @@ import { calcDistanceBetweenTwoPoints } from './utils/math';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/bonusBarbarianVillageFinder.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/bonusBarbarianVillageFinder.js
// @version ${version}
// @version <%= version %>
// @description Bonus barbarian village finder
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*

View File

@ -6,7 +6,7 @@ import wait from './utils/wait';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/commandRenamer.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/commandRenamer.js
// @version ${version}
// @version <%= version %>
// @description Command renamer
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*mode=incomings*

View File

@ -13,7 +13,7 @@ import { buildURLToServerPage } from './utils/twhelp';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/dailyAchievements.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/dailyAchievements.js
// @version ${version}
// @version <%= version %>
// @description Daily achievements
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=info_player&mode=awards*

View File

@ -14,7 +14,7 @@ import calcLoyalty from './utils/calcLoyalty';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedMapPopup.js
// @version ${version}
// @version <%= version %>
// @description Extended map popup
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*

View File

@ -25,7 +25,7 @@ import { setItem, getItem } from './utils/localStorage';
// @namespace https://github.com/tribalwarshelp/scripts
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedPlayerProfile.js
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedPlayerProfile.js
// @version ${version}
// @version <%= version %>
// @description Extended player profile
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=info_player*

View File

@ -25,7 +25,7 @@ import * as twutils from './utils/tribalwars';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedTribeProfile.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedTribeProfile.js
// @version ${version}
// @version <%= version %>
// @description Extended tribe profile
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=info_ally*

View File

@ -17,7 +17,7 @@ import showEnnoblementsPopup from './common/showEnnoblementsPopup';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/extendedVillageProfile.js
// @version ${version}
// @version <%= version %>
// @description Extended village profile
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=info_village*

View File

@ -7,7 +7,7 @@ import wait from './utils/wait';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/inADayTribeRankingGenerator.js
// @version ${version}
// @version <%= version %>
// @description 'In A Day' tribe ranking generator
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=ranking*mode=in_a_day*

View File

@ -13,7 +13,7 @@ import loadTranslations from './i18n/latestEnnoblements';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/latestEnnoblements.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/latestEnnoblements.js
// @version ${version}
// @version <%= version %>
// @description Shows the latest ennoblements
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*

View File

@ -6,7 +6,7 @@ import { getItem, setItem } from './utils/localStorage';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/mapCoordsPicker.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/mapCoordsPicker.js
// @version ${version}
// @version <%= version %>
// @description Map coords picker
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=map*

View File

@ -10,7 +10,7 @@ import showPopup, { POPUP_SELECTOR } from './utils/showPopup';
// @namespace https://github.com/tribalwarshelp/scripts
// @updateURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/warStatsGenerator.js
// @downloadURL https://raw.githubusercontent.com/tribalwarshelp/scripts/master/dist/warStatsGenerator.js
// @version ${version}
// @version <%= version %>
// @description War stats generator
// @author Kichiyaki https://dwysokinski.me/
// @match *://*/game.php*screen=ranking*mode=wars*