Прячем части имперок
目前為
//
// ==UserScript==
// @name HWM Parts spoiler
// @author Tags https://www.heroeswm.ru/pl_info.php?id=7773958
// @namespace http://tampermonkey.net/
// @description Прячем части имперок
// @icon https://www.google.com/s2/favicons?sz=64&domain=heroeswm.ru
// @version 0.2
// @include /^https{0,1}:\/\/(www\.heroeswm\.ru|178\.248\.235\.15|my\.lordswm\.com)\/(pl_info.php*|inventory.php.*|auction_new_lot.php.*|object-info.php*|house_info.php*|transfer.php*)/
// ==/UserScript==
//Что считается элементом и не подпадает под скрытие
const ignore = ["абразив","змеиный яд","клык тигра","ледяной кристалл","лунный камень","огненный кристалл","осколок метеорита","цветок ведьм","цветок ветров","цветок папоротника","ядовитый гриб"]
function main(){
let elementsTable = document.getElementsByClassName('wb')[10];
if(elementsTable.innerText===`Ресурсы`){
elementsTable = document.getElementsByClassName('wb')[13];
}
//Вытаскиваем все доступные элементы и превращаем в объекты.
const items = elementsTable.innerHTML.split(/ /).filter(e => e !== "").map(s => s.replaceAll("<b>", "").replaceAll("<br>", "").replaceAll("</b>", "")).map(e => ({
name: e.split(':')[0],
value: e.split(':')[1],
isIgnored: ignore.includes(e.split(':')[0]),
}));
//Чистим табличку
elementsTable.innerHTML = "";
if(items.filter(e => !e.isIgnored).length > 0){
const nonElements = items.filter(e => !e.isIgnored);
let spoiler = document.createElement('details');
let summary = Object.assign(
document.createElement('summary'), {
innerText: `Части`,
});
spoiler.appendChild(summary);
elementsTable.appendChild(spoiler);
for (let item of nonElements) {
const div = Object.assign(
document.createElement('div'), {
innerHTML: `<div> <b>${item.name}</b>: ${item.value}</div>`,
});;
spoiler.appendChild(div);
}
}
if(items.filter(e => e.isIgnored).length > 0 && items.filter(e => !e.isIgnored).length > 0){
elementsTable.appendChild(document.createElement('br'))}
if(items.filter(e => e.isIgnored).length > 0){
const elements = items.filter(e => e.isIgnored);
for (let item of elements) {
const div = Object.assign(
document.createElement('div'), {
innerHTML: `<div> <b>${item.name}</b>: ${item.value}</div>`,
});;
elementsTable.appendChild(div);
}
}
}
(function() {
'use strict';
main();
})();