此脚本不应直接安装,它是一个供其他脚本使用的外部库。如果您需要使用该库,请在脚本元属性加入:// @require https://update.gf.qytechs.cn/scripts/447488/1067732/HWM_Resource_Retabler.js
您需要先安装一款用户样式管理器扩展(如 Stylus)后才能安装此样式。
您需要先安装一款用户样式管理器扩展(如 Stylus)后才能安装此样式。
您需要先安装一款用户样式管理器扩展(如 Stylus)后才能安装此样式。
您需要先安装一款用户样式管理器扩展后才能安装此样式。
您需要先安装一款用户样式管理器扩展后才能安装此样式。
您需要先安装一款用户样式管理器扩展后才能安装此样式。
(我已经安装了用户样式管理器,让我安装!)
// ==UserScript==
// @name HWM_Resource_Retabler
// @namespace http://tampermonkey.net/
// @version 0.6
// @description Меняет разметку вкладки ресурсов под нужды других скриптов
// @author Tags
// @include /^https{0,1}:\/\/(www\.heroeswm\.ru|178\.248\.235\.15|my\.lordswm\.com)\/(pl_info.php*)/
// @icon https://www.google.com/s2/favicons?sz=64&domain=heroeswm.ru
// @grant none
// ==/UserScript==
this.MercenaryElements = {
"абразив":{
id: "EL_42",
art_type: "abrasive"
}, "змеиный яд":{
id: "EL_43",
art_type: "snake_poison"
}, "клык тигра":{
id: "EL_46",
art_type: "tiger_tusk"
}, "ледяной кристалл":{
id: "EL_44",
art_type: "ice_crystal"
}, "лунный камень":{
id: "EL_45",
art_type: "moon_stone"
}, "огненный кристалл":{
id: "EL_40",
art_type: "fire_crystal"
}, "осколок метеорита":{
id: "EL_37",
art_type: "meteorit"
}, "цветок ведьм":{
id: "EL_41",
art_type: "witch_flower"
}, "цветок ветров":{
id: "EL_39",
art_type: "wind_flower"
}, "цветок папоротника":{
id: "EL_78",
art_type: "fern_flower"
}, "ядовитый гриб":{
id: "EL_38",
art_type: "badgrib"
},};
window.RetablerFired =false;
(function() {
'use strict';
if(!window.location.href.includes('pl_info') ||window.RetablerFired )
return;
const tables = Array.from(document.getElementsByClassName('wb'));
const resourceTable = tables[tables.indexOf(tables.filter(e=>e.innerText=="Ресурсы")[0])+3]
//Вытаскиваем все доступные элементы и превращаем в объекты.
const items = resourceTable.innerHTML.split(/ /).filter(e => e !== "").map(s => s.replaceAll("<b>", "").replaceAll("<br>", "").replaceAll("</b>", "")).map(e => ({
name: e.split(':')[0],
value: e.split(':')[1],
isMercenary: window.MercenaryElements[e.split(':')[0]]!==undefined,
}));
const parts = items.filter(e=>!e.isMercenary);
const mercenary = items.filter(e=>e.isMercenary);
//Чистим табличку
resourceTable.innerHTML = "";
//Записываем новую разметку
for (let item of parts) {
const div = Object.assign(
document.createElement('div'), {
innerHTML: `<div> <b>${item.name}</b>: ${item.value}</div>`,
});;
div.setAttribute('ismercenary', item.isMercenary);
div.setAttribute('name', item.name);
resourceTable.appendChild(div);
}
const splitter = Object.assign(
document.createElement('div'), {
innerHTML: `<div name="splitter"><br></div>`,
});;
if(parts.length>0){
resourceTable.appendChild(splitter);
}
for (let item of mercenary) {
const div = Object.assign(
document.createElement('div'), {
innerHTML: `<div"> <b>${item.name}</b>: ${item.value}</div>`,
});;
div.setAttribute('ismercenary', item.isMercenary);
div.setAttribute('name', item.name);
resourceTable.appendChild(div);
}
window.RetablerFired = true;
})();