您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Color codes mice on GWH maps according to decorations & cheese
当前为
// ==UserScript== // @name MouseHunt - GWH Map Color Coder 2019 // @author Tran Situ (tsitu) // @namespace https://gf.qytechs.cn/en/users/232363-tsitu // @version 1.1 // @description Color codes mice on GWH maps according to decorations & cheese // @match *.mousehuntgame.com/* // ==/UserScript== const sportMice = [ "Sporty Ski Instructor", "Young Prodigy Racer", "Toboggan Technician", "Free Skiing", "Nitro Racer", "Rainbow Racer", "Double Black Diamond Racer", "Black Diamond Racer" ]; const toyMice = [ "Nutcracker", "Toy", "Slay Ride", "Squeaker Claws", "Destructoy", "Toy Tinkerer", "Mad Elf", "Elf" ]; const ornamentalMice = [ "Christmas Tree", "Stocking", "Candy Cane", "Ornament", "Missile Toe", "Wreath Thief", "Ribbon", "Snowglobe" ]; const snowMice = [ "Snow Fort", "Snowball Hoarder", "S.N.O.W. Golem", "Snow Sorceress", "Reinbo", "Tundra Huntress", "Stuck Snowball", "Snow Boulder" ]; const fireworksMice = [ "Frightened Flying Fireworks", "New Year's", "Party Head" ]; const glazyMice = ["Glazy", "Joy"]; const pecanMice = [ "Borean Commander", "Builder", "Frigid Foreman", "Glacia Ice Fist", "Great Winter Hunt Impostor", "Iceberg Sculptor", "Naughty Nougat", "Nice Knitting", "Ridiculous Sweater", "Snow Golem Jockey", "Snow Scavenger", "Snowblower" ]; const sbMice = [ "Mouse of Winter Future", "Mouse of Winter Past", "Mouse of Winter Present", "Scrooge" ]; const standardMice = [ "Confused Courier", "Gingerbread", "Greedy Al", "Hoarder", "Miser", "Present", "Triple Lutz" ]; const gwhMaps = [ "Nice List", "Rare Nice List", "Naughty List", "Rare Naughty List" ]; function colorize() { let sportColor = "#c97c49"; // brown-ish let sportCount = 0; let toyColor = "#f06a60"; // red let toyCount = 0; let ornamentalColor = "#5ae031"; // green let ornamentalCount = 0; let snowColor = "#4fcaf0"; // blue let snowCount = 0; let fireworksColor = "#cd87ff"; // light purple let fireworksCount = 0; let glazyColor = "#ff9966"; // orange let glazyCount = 0; let pecanColor = "#ffff66"; // yellow let pecanCount = 0; let sbColor = "#66ffff"; // teal-ish let sbCount = 0; let standardColor = "#afa500"; // mountain dew-ish let standardCount = 0; const greyColor = "#949494"; const isChecked = localStorage.getItem("highlightPref") === "uncaught-only" ? true : false; const isCheckedStr = isChecked ? "checked" : ""; if ( document.querySelectorAll(".treasureMapView-goals-group-goal").length === 0 ) { return; } document.querySelectorAll(".treasureMapView-goals-group-goal").forEach(el => { el.querySelector("span").style = "color: black; font-size: 11px;"; const mouseName = el.querySelector(".treasureMapView-goals-group-goal-name") .textContent; if (sportMice.indexOf(mouseName) > -1) { el.style.backgroundColor = sportColor; if (el.className.indexOf(" complete ") < 0) { sportCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (toyMice.indexOf(mouseName) > -1) { el.style.backgroundColor = toyColor; if (el.className.indexOf(" complete ") < 0) { toyCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (ornamentalMice.indexOf(mouseName) > -1) { el.style.backgroundColor = ornamentalColor; if (el.className.indexOf(" complete ") < 0) { ornamentalCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (snowMice.indexOf(mouseName) > -1) { el.style.backgroundColor = snowColor; if (el.className.indexOf(" complete ") < 0) { snowCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (fireworksMice.indexOf(mouseName) > -1) { el.style.backgroundColor = fireworksColor; if (el.className.indexOf(" complete ") < 0) { fireworksCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (glazyMice.indexOf(mouseName) > -1) { el.style.backgroundColor = glazyColor; if (el.className.indexOf(" complete ") < 0) { glazyCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (pecanMice.indexOf(mouseName) > -1) { el.style.backgroundColor = pecanColor; if (el.className.indexOf(" complete ") < 0) { pecanCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (sbMice.indexOf(mouseName) > -1) { el.style.backgroundColor = sbColor; if (el.className.indexOf(" complete ") < 0) { sbCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } else if (standardMice.indexOf(mouseName) > -1) { el.style.backgroundColor = standardColor; if (el.className.indexOf(" complete ") < 0) { standardCount++; } else { if (isChecked) el.style.backgroundColor = "white"; } } }); sportColor = sportCount > 0 ? sportColor : greyColor; toyColor = toyCount > 0 ? toyColor : greyColor; ornamentalColor = ornamentalCount > 0 ? ornamentalColor : greyColor; snowColor = snowCount > 0 ? snowColor : greyColor; fireworksColor = fireworksCount > 0 ? fireworksColor : greyColor; glazyColor = glazyCount > 0 ? glazyColor : greyColor; pecanColor = pecanCount > 0 ? pecanColor : greyColor; sbColor = sbCount > 0 ? sbColor : greyColor; standardColor = standardCount > 0 ? standardColor : greyColor; // Remove existing GWH Map related elements before proceeding document.querySelectorAll(".tsitu-gwh-map").forEach(el => el.remove()); const masterDiv = document.createElement("div"); masterDiv.className = "tsitu-gwh-map"; masterDiv.style = "display: inline-flex; margin-bottom: 10px; width: 100%; text-align: center; line-height: 1.5; overflow: hidden"; const spanStyle = "; width: auto; padding: 5px; font-weight: bold; font-size: 12.5px"; const sportSpan = document.createElement("span"); sportSpan.style = "background-color: " + sportColor + spanStyle; sportSpan.innerHTML = "Sport<br>" + sportCount; const toySpan = document.createElement("span"); toySpan.style = "background-color: " + toyColor + spanStyle; toySpan.innerHTML = "Toy<br>" + toyCount; const ornamentalSpan = document.createElement("span"); ornamentalSpan.style = "background-color: " + ornamentalColor + spanStyle; ornamentalSpan.innerHTML = "Ornament<br>" + ornamentalCount; const snowSpan = document.createElement("span"); snowSpan.style = "background-color: " + snowColor + spanStyle; snowSpan.innerHTML = "Snow<br>" + snowCount; const fireworksSpan = document.createElement("span"); fireworksSpan.style = "background-color: " + fireworksColor + spanStyle; fireworksSpan.innerHTML = "Fireworks<br>" + fireworksCount; const glazySpan = document.createElement("span"); glazySpan.style = "background-color: " + glazyColor + spanStyle; glazySpan.innerHTML = "Glazy<br>" + glazyCount; const pecanSpan = document.createElement("span"); pecanSpan.style = "background-color: " + pecanColor + spanStyle; pecanSpan.innerHTML = "Pecan<br>" + pecanCount; const sbSpan = document.createElement("span"); sbSpan.style = "background-color: " + sbColor + spanStyle; sbSpan.innerHTML = "SB+<br>" + sbCount; const standardSpan = document.createElement("span"); standardSpan.style = "background-color: " + standardColor + spanStyle; standardSpan.innerHTML = "Standard<br>" + standardCount; // Highlight uncaught only feature const highlightLabel = document.createElement("label"); highlightLabel.htmlFor = "tsitu-highlight-box"; highlightLabel.innerText = "Highlight uncaught mice only"; const highlightBox = document.createElement("input"); highlightBox.type = "checkbox"; highlightBox.name = "tsitu-highlight-box"; highlightBox.style.verticalAlign = "middle"; highlightBox.checked = isChecked; highlightBox.addEventListener("click", function() { if (highlightBox.checked) { localStorage.setItem("highlightPref", "uncaught-only"); } else { localStorage.setItem("highlightPref", "all"); } colorize(); }); const highlightDiv = document.createElement("div"); highlightDiv.className = "tsitu-gwh-map"; highlightDiv.style = "margin-bottom: 5px; width: 35%; border: 1px dotted black"; highlightDiv.appendChild(highlightBox); highlightDiv.appendChild(highlightLabel); // Assemble masterDiv masterDiv.appendChild(sportSpan); masterDiv.appendChild(toySpan); masterDiv.appendChild(ornamentalSpan); masterDiv.appendChild(snowSpan); masterDiv.appendChild(fireworksSpan); masterDiv.appendChild(glazySpan); masterDiv.appendChild(pecanSpan); masterDiv.appendChild(sbSpan); masterDiv.appendChild(standardSpan); // Inject into DOM const insertEl = document.querySelector( ".treasureMapView-leftBlock .treasureMapView-block-content" ); if ( insertEl && document.querySelector( ".treasureMapManagerView-header-navigation-item.tasks.active" ) ) { insertEl.insertAdjacentElement("afterbegin", highlightDiv); insertEl.insertAdjacentElement("afterbegin", masterDiv); } // "Goals" button document.querySelector("[data-type='show_goals']").onclick = function() { colorize(); }; } // Listen to XHRs, opening a map always at least triggers board.php const originalOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function() { this.addEventListener("load", function() { const mapEl = document.querySelector( ".treasureMapManagerView-task.active .treasureMapManagerView-task-name" ); if (mapEl) { const mapName = mapEl.textContent; if (mapName && gwhMaps.indexOf(mapName) > -1) { colorize(); } } }); originalOpen.apply(this, arguments); };
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址