您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Tools for MilkyWayIdle. Compares your current skill level to the item's requirements and highlights them in different colors depending on whether you are leveled up enough
// ==UserScript== // @name MWI QoL Skill requirement // @namespace http://tampermonkey.net/ // @version 1.1 // @description Tools for MilkyWayIdle. Compares your current skill level to the item's requirements and highlights them in different colors depending on whether you are leveled up enough // @author AlexZaw // @license MIT License // @match https://www.milkywayidle.com/* // @match https://test.milkywayidle.com/* // ==/UserScript== (function () { 'use strict'; const levelNotEnoughColor = 'red'; const levelEnoughColor = 'blue'; const RequiredLevelItemStyle = document.createElement('style'); RequiredLevelItemStyle.textContent = ` :where(.ItemTooltipText_itemTooltipText__zFq3A :where(.ItemTooltipText_equipmentDetail__3sIHT, .ItemTooltipText_abilityDetail__3ZiU5)) > div:nth-child(2) { color: ${levelEnoughColor}; } `; document.head.appendChild(RequiredLevelItemStyle); new MutationObserver(waitItemInfoPopup).observe(document.body, { childList: true, }); function waitItemInfoPopup(changes, observer) { if (document.querySelector('.MuiTooltip-popper')) { main(); } } function main() { const toolTipText = document.querySelector( '.ItemTooltipText_itemTooltipText__zFq3A' ); try { const detail = toolTipText.querySelector( '.ItemTooltipText_equipmentDetail__3sIHT' ) || toolTipText.querySelector( '.ItemTooltipText_abilityDetail__3ZiU5' ); const itemRequirementsElems = detail.querySelector(':nth-child(2)').children; [...itemRequirementsElems].forEach((el) => { const currentStat = el.textContent.split(' '); const requiredLevel = Number(currentStat[1]); const requiredSkill = currentStat[2]; if (!isLevelEnough(requiredSkill, requiredLevel)) { el.style.color = levelNotEnoughColor; el.textContent = `!!! ${el.textContent} !!!`; } }); } catch (error) { return false; } } function isLevelEnough(requiredSkill, requiredLevel) { try { let currentLevel; const allSkills = getAllSkillLevels(); for (let i = 0; i < allSkills.length; i++) { if ( allSkills[i].textContent == requiredSkill || requiredSkill == 'Total' ) { if (requiredSkill == 'Total') { currentLevel = Number( document .querySelector('.Header_totalLevel__8LY3Q') .textContent.split(' ')[2] ); } else { currentLevel = Number( allSkills[i].parentElement.querySelector( '.NavigationBar_level__3C7eR' ).textContent.split('+')[0] ); } if (currentLevel >= requiredLevel) { return true; } else { return false; } } } } catch (error) { return false; } } function getAllSkillLevels() { return document .querySelector('.NavigationBar_navigationLinks__1XSSb') .querySelectorAll('.NavigationBar_label__1uH-y'); } })();