// ==UserScript== // @name MouseHunt - Poweruser QoL scripts // @namespace https://greasyfork.org/en/users/900615-personalpalimpsest // @version 0.3 // @description dabbling into scripting to solve little pet peeves // @author asterios // @match http://www.mousehuntgame.com/* // @match https://www.mousehuntgame.com/* // @grant none // @downloadURL none // ==/UserScript== // Friend per location summary view (() => { var xhr = new XMLHttpRequest(); xhr.open( "POST", `https://www.mousehuntgame.com/managers/ajax/users/getfriendsonline.php`); xhr.onload = function () { var friends = JSON.parse(xhr.responseText).friends_data; var masterArr = []; for (var loc in friends) { var locObj = {}; locObj.type = loc; locObj.name = friends[loc].name; locObj.frdCt = friends[loc].numInLocation; masterArr.push(locObj); } masterArr.sort((a, b) => b.frdCt - a.frdCt); function makeList() { var ol = document.createElement('ol'); ol.id = "ol"; ol.style.display = "grid"; ol.style.gridTemplateColumns = "1fr 1fr"; ol.style.textAlign = "center"; document.querySelector('.campPage-trap-friendContainer').insertBefore(ol, document.querySelector('.campPage-trap-friendList')); masterArr.forEach(function (loc) { let li1 = document.createElement('li'); li1.innerHTML += loc.name; if (loc.frdCt <= 2) li1.style.color = "rgba(69,69,69,0.420)"; if (loc.name == user.environment_name) li1.style.color = "rgb(255,0,0)"; ol.appendChild(li1); let li2 = document.createElement('li'); li2.innerHTML += loc.frdCt; if (loc.frdCt <= 2) li2.style.color = "rgba(69,69,69,0.420)"; if (loc.name == user.environment_name) li2.style.color = "rgb(255,0,0)"; ol.appendChild(li2); }); } var frdSum = document.createElement("button"); frdSum.innerHTML = "Show #Friends/Loc"; frdSum.style.marginLeft = "5px"; frdSum.style.padding = "0px 3px"; frdSum.style.fontSize = "inherit"; frdSum.addEventListener("click", function () { if (document.querySelector('#ol')) { document.querySelector('#ol').remove(); } else { makeList(); } }); document.querySelector(".campPage-trap-friendContainer .label").insertBefore(frdSum, document.querySelector(".campPage-trap-friendContainer-toggleFriendsButton")) //temporary fix to move button to sidebar document.querySelector(".pageSidebarView").appendChild(frdSum) }; xhr.send(); })();