// ==UserScript== // @name MH King's Crowns+ // @author Warden Slayer - Warden Slayer#2302 // @namespace https://greasyfork.org/en/users/227259-wardenslayer // @version 1.7.2 // @description Locked Favorites, Community Ranks, and Copy Crowns Button // @include https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js // @include http://www.mousehuntgame.com/* // @include https://www.mousehuntgame.com/* // @grant GM_setClipboard // @downloadURL none // ==/UserScript== $(document).ready(function() { console.log("King's Crown+"); var observer = new MutationObserver(callback); var observerOptions = { childList: true, attributes: false, subtree: false }; if ($("#tabbarContent_page_2").get(0)) { observer.observe($("#tabbarContent_page_2").get(0), observerOptions); } }); function callback(mutationList, observer) { mutationList.forEach(mutation => { switch (mutation.type) { case "childList": if (localStorage.getItem("haltCode") == "Y") { localStorage.setItem("haltCode", "N"); break; } buildToolbar(); if (localStorage.getItem("ShowCommunityRanks") == "Y") { showCommunityRanks(); } if ( localStorage.getItem("Lock Favorites") == "Y" && $(".favoriteCrownToggle.crownAction").length > 0 ) { lockFavorites(); } else { $(".crownheader.crownheadertop").css( "background", "url('https://image.flaticon.com/icons/svg/189/189671.svg') no-repeat left top" ); } localStorage.setItem("haltCode", "Y"); break; } }); } function buildToolbar() { if ($(".toolBar").length > 0) return; var toolBar = document.createElement("div"); toolBar.classList.add("toolBar"); // Lock Favs CB var lockFavs = document.createElement("input"); lockFavs.type = "checkbox"; lockFavs.name = "lockFavs"; lockFavs.value = ""; lockFavs.id = "lockFavs"; if (localStorage.getItem("LockFavs") == "Y") { lockFavs.checked = "Yes"; } else { lockFavs.checked = ""; } var lockFavsLabel = document.createElement("label"); lockFavsLabel.htmlFor = "lockFavsLabel"; lockFavsLabel.appendChild(document.createTextNode("Lock Favorites")); if ($(".favoriteCrownToggle.crownAction").length > 0) { toolBar.appendChild(lockFavs); toolBar.appendChild(lockFavsLabel); } // Community Ranks CB var communityRanks = document.createElement("input"); communityRanks.type = "checkbox"; communityRanks.name = "communityRanks"; communityRanks.value = ""; communityRanks.id = "communityRanks"; communityRanks.checked = ""; if (localStorage.getItem("ShowCommunityRanks") == "Y") { communityRanks.checked = "Yes"; } else { communityRanks.checked = ""; } var communityRanksLabel = document.createElement("label"); communityRanksLabel.htmlFor = "communityRanksLabel"; communityRanksLabel.appendChild( document.createTextNode("Show Community Ranks ") ); toolBar.appendChild(communityRanks); toolBar.appendChild(communityRanksLabel); //Copy Crown Button var copyCrownsButton = document.createElement("button"); copyCrownsButton.id = "copyCrownsButton"; copyCrownsButton.innerText = "Copy Crowns to Clipboard"; copyCrownsButton.addEventListener("click", copyCrowns) toolBar.appendChild(copyCrownsButton); // Last var crownBreak = $(".crownbreak").first(); if ($(".crownheader.crownheadertop").length < 1) { var header = $(".crownbreak") .last() .clone(); header.insertBefore($(".crownheader.crownheadergold")); crownBreak = $(header); } crownBreak.append(toolBar); $(".toolBar").css({ float: "right" }); } /********** Lock Favs **********/ $(document).on("change", "#lockFavs", function() { if ( window.location.href.includes("profile.php") && $("#tabbarContent_page_2").hasClass("active") ) { // Check to see if the cb was JUST checked if (this.checked) { // Put the checked value into storage localStorage.setItem("LockFavs", "Y"); lockFavs.checked = "Yes"; lockFavorites(); } else { // Put the checked value into storage localStorage.setItem("LockFavs", "N"); lockFavs.checked = ""; unlockFavorites(); } } }); function lockFavorites() { localStorage.setItem("Lock Favorites", "Y"); if ($(".mousebox.favorite").length < 0) { localStorage.setItem("LockFavs", "N"); lockFavs.checked = ""; return; } var allMice = $(".favoriteCrownToggle.crownAction"); allMice.css("pointer-events", "none"); $(".nocrowns.crownAction").css("pointer-events", "none"); $(".crownheader.crownheadertop").css( "background", "url('https://image.flaticon.com/icons/svg/204/204310.svg') no-repeat left top" ); $(":submit").last().css("pointer-events", "none"); } function unlockFavorites() { localStorage.setItem("Lock Favorites", "N"); var allMice = $(".favoriteCrownToggle.crownAction"); allMice.css("pointer-events", "auto"); $(".nocrowns.crownAction").css("pointer-events", "auto"); $(".crownheader.crownheadertop").css( "background", "url('https://image.flaticon.com/icons/svg/189/189671.svg') no-repeat left top" ); $(":submit").last().css("pointer-events", "auto"); } function filterOutTopFavs(elements) { var seen = {}; var result = elements.filter(function() { var txt = $(this).siblings().last().text(); if (seen[txt]) { return true; } else { seen[txt] = true; if ( $(this) .parent() .parent() .hasClass("mousebox favorite") ) { return false; } else { return true; } } }); return result; } function sortAcsending(result) { var array = result.toArray(); array = array.sort(function(a, b) { a = parseInt($(a).text(), 10); b = parseInt($(b).text(), 10); return a - b; }); return array; } /********** Community Ranks **********/ $(document).on("change", "#communityRanks", function() { if ( window.location.href.includes("profile.php") && $("#tabbarContent_page_2").hasClass("active") ) { // Check to see if the cb was JUST checked if (this.checked) { // Put the checked value into storage localStorage.setItem("ShowCommunityRanks", "Y"); communityRanks.checked = "Yes"; showCommunityRanks(); } else { // Put the checked value into storage localStorage.setItem("ShowCommunityRanks", "N"); communityRanks.checked = ""; hideCommunityRanks(); } } }); function showCommunityRanks() { var totalMice = 979; if ($(".crownheader.crownheadercommunity").length > 0) { return; } var crownBreak = $(".crownbreak").first(); var spacer4 = $(".crownbreak") .last() .clone() .attr("id", "spacer4"); var communityCrownHeader = $( "