// ==UserScript==
// @name MH: Profile+
// @author Warden Slayer
// @namespace https://greasyfork.org/en/users/227259-wardenslayer
// @version 1.41
// @description Community requested features for the tabs on your MH profile.
// @grant GM_xmlhttpRequest
// @icon https://www.mousehuntgame.com/images/items/weapons/974151e440f297f1b6d55385310ac63c.jpg?cv=2
// @include https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// @include http://www.mousehuntgame.com/*
// @include https://www.mousehuntgame.com/*
// @connect http://www.mousehuntgame.com/*
// @connect https://www.mousehuntgame.com/*
// @grant GM_setClipboard
// ==/UserScript==
$(document).ready(function() {
const debug = localStorage.getItem('ws.debug');
if (debug == true) {
console.log('Profile+ Started');
};
localStorage.setItem('ws.pfp.sortUorD','down');
loadFunction();
addStyles(`#tipButton {
position: absolute;
top: 3px;
right: 150px;
float: right;
}`);
});
function loadFunction(){
if ($('.mousehuntHud-page-tabHeader.kings_crowns').hasClass('active')) {
//On king's crowns tab
generateCrowns();
} else if ($('.mousehuntHud-page-tabHeader.items').hasClass('active')) {
//On item tab
manageCollected();
} else if ($('.mousehuntHud-page-tabHeader.profile').hasClass('active')) {
//On profile tab
generateProfile();
} else if ($('.mousehuntHud-page-tabHeader.mice').hasClass('active')) {
//On mouse Tab
generateMice();
} else {
return false
}
}
$(document).ajaxComplete(function(event,xhr,options){
if (options.url == 'https://www.mousehuntgame.com/managers/ajax/users/userData.php') {
} else if (options.url == 'https://www.mousehuntgame.com/managers/ajax/users/userInventory.php') {
} else {
loadFunction();
}
});
function addStyles(css) {
// Check to see if the existing element exists.
const existingStyles = document.getElementById('ws-profile-plus-styles');
// If so, append our new styles to the existing element.
if (existingStyles) {
existingStyles.innerHTML += css;
return;
}
const style = document.createElement('style');
style.id = 'ws-profile-plus-styles';
style.innerHTML = css;
document.head.appendChild(style);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Profile TAB
//
//
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function generateProfile() {
//With the mhcc level, an egg, a checkmark, a crown, a star
const debug = localStorage.getItem('ws.debug');
let userID = "";
const myProfileLink = $('.mousehuntHud-shield').attr('href');
let maybeYourFriend = "";
let eggMaster = localStorage.getItem('ws.pfp.eggMaster');
if ($('.userInteractionButtonsView-relationship').get(0)) {
userID = $('.userInteractionButtonsView-relationship').attr('data-recipient-snuid');
maybeYourFriend = userID;
} else if (myProfileLink) {
if (myProfileLink.search('snuid=')==-1) {
if (debug == true) {
console.log('Your SNUID Not Found',myProfileLink);
};
return false;
} else {
userID = myProfileLink.split('snuid=')[1].split('&tab=')[0];
}
} else {
if (debug == true) {
console.log('SNUID Not Found',myProfileLink,userID);
};
return false;
}
localStorage.setItem('ws.pfp.eggMaster',"")
const dataItemOfInterest = ['is_egg_master','not_a_real_field'];
hg.utils.User.getUserData([userID],dataItemOfInterest,function(data) {
eggMaster = localStorage.setItem('ws.pfp.eggMaster',data[0].is_egg_master);
});
setTimeout(flexEggMaster, 1000);
if (debug == true) {
console.log('Profile Tab',userID,eggMaster);
};
//stop the silly hyperlink on the hunter ID
const hunterID = $('.hunterInfoView-idCardBlock-secondaryHeader').children();
hunterID.removeAttr("href").removeAttr("onclick");
//
//tipping/misc
if (maybeYourFriend) {
const yourFriendsProfile = $('.friendsPage-friendRow-content');
if ($('#tipButton').get(0)) {
return false;
} else {
const tipButton = document.createElement("button");
tipButton.id = "tipButton";
tipButton.title = "Tip this hunter 10 SB+";
tipButton.classList.add('mousehuntActionButton', 'tiny');
const tipButtonText = document.createElement("span");
tipButtonText.innerHTML = "Tip 10 SB+";
tipButton.appendChild(tipButtonText);
yourFriendsProfile.prepend(tipButton);
}
} else if ($('.friendsProfileView-selfStats').get(0)) {
const randomFriend = $('.friendsProfileView-randomFriend');
const randoSNUID = randomFriend.attr('href').split('snuid=')[1].split('&tab=')[0];
hg.utils.User.getUserData([randoSNUID],['not_a_real_field'],function(data) {
randomFriend.text('Visit Random Friend ('+data[0].name+')');
});
}
}
function flexEggMaster() {
const eggMaster = localStorage.getItem('ws.pfp.eggMaster');
if (eggMaster == 'true') {
if ($(".eggMasterIcon").length > 0) return;
const hunterID = $('.friendsPage-friendRow-titleBar');
const eggMasterIcon = document.createElement("div");
eggMasterIcon.classList.add("eggMasterIcon");
$(eggMasterIcon).attr('title', 'Is an Egg Master')
$(eggMasterIcon).css({
'background-size': '25px 25px',
'background-image': "url('https://www.mousehuntgame.com/images/items/convertibles/transparent_thumb/3ada6ff18f89d020908e35fee2de7a45.png')",
'width': '25px',
'height': '25px',
'float': 'right',
'margin-right': '7px',
});
hunterID.append(eggMasterIcon)
}
}
$(document).on('click', '#tipButton', function() {
const debug = localStorage.getItem('ws.debug');
const receivingHunter = $('.userInteractionButtonsView-relationship').attr('data-recipient-snuid');
const receivingName = $('.friendsPage-friendRow-titleBar-name').attr('data-text');
const sendingHunter = user.unique_hash;
const url = 'https://www.mousehuntgame.com/managers/ajax/users/supplytransfer.php?/sn=Hitgrab&hg_is_ajax=1&receiver='+receivingHunter+'&uh='+sendingHunter+'&item=super_brie_cheese&item_quantity=10';
GM_xmlhttpRequest({
method: "POST",
url: url,
onload: function(response) {
if (debug == true) {
console.log('Tip Sent',receivingName,receivingHunter);
}
alert('10 SB+ sent to '+receivingName);
},
onerror: function(response) {
if (debug == true) {
console.log('Tip No Good, Error',receivingName,receivingHunter,url);
}
alert('Error, nothing sent');
}
});
})
$(document).on('click', '.hunterInfoView-idCardBlock-secondaryHeader', function() {
const debug = localStorage.getItem('ws.debug');
const copiedID = $('.hunterInfoView-hunterId').find('span').text();
if (debug == true) {
console.log('ID Copied',copiedID)
};
GM_setClipboard(copiedID);
})
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Mouse TAB
//
//
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
function sumCategoryStats(category) {
const categoryName = $(category).find('.mouseListView-categoryContent-name');
const categoryTest = $(category).find('.mouseListView-categoryContent-description');
let categoryCatches = 0;
let categoryMisses = 0;
const categoryMice = $(category).find('.mouseListView-categoryContent-subgroup-mouse.stats:not(.header)')
categoryMice.each(function(i) {
const thisCatches = parseInt($(this).find('.catches').text().replace(",", ""),10);
const thisMisses = parseInt($(this).find('.misses').text().replace(",", ""),10);
categoryCatches+=thisCatches;
categoryMisses+=thisMisses;
});
const categoryTotal = categoryCatches+categoryMisses;
let categoryStats = $(category).find('.categoryStats');
if ($(categoryStats).length > 0) {
} else {
categoryStats = document.createElement("div");
categoryStats.classList.add("categoryStats");
$(categoryStats).insertAfter(categoryTest);
}
$(categoryStats).text("Category Stats [Catches: "+categoryCatches.toLocaleString()+", Misses: "+categoryMisses.toLocaleString()+", Total: "+categoryTotal.toLocaleString()+"]")
$(categoryStats).css({
'fontSize': "16px",
'margin-top': '3px',
});
}
function generateMice() {
const allMice = $('.mouseListView-categoryContent-subgroup-mouse.stats:not(.header)');
const statsHeader = $('.mouseListView-categoryContent-subgroup-mouse.stats.header');
allMice.each(function(i) {
const thisThumb = $(this).find('.mouseListView-categoryContent-subgroup-mouse-thumb');
const thisCatches = parseInt($(this).find('.catches').text().replace(",", ""),10);
const thisMisses = parseInt($(this).find('.misses').text().replace(",", ""),10);
const thisCrown = setCrownBorder(thisThumb,thisCatches);
});
$(statsHeader).css({
'cursor': 'pointer',
});
$('.mouseListView-categoryContent-subgroup-mouse.stats.header').on('click', '.mouseListView-categoryContent-subgroup-mouse-stats', function() {
SortMice(this);
})
const theseCategories = $('.mouseListView-categoryContent-category.all.active');
theseCategories .each(function(i) {
sumCategoryStats(this)
});
}
function SortMice(sortBy) {
const sortUorD = localStorage.getItem('ws.pfp.sortUorD');
let sortKey = "";
if ($(sortBy).hasClass('name')) {
sortKey = '.name';
} else if ($(sortBy).hasClass('catches')) {
sortKey = '.catches';
} else if ($(sortBy).hasClass('misses')) {
sortKey = '.misses';
} else if ($(sortBy).hasClass('average_weight')) {
sortKey = '.average_weight';
} else if ($(sortBy).hasClass('heaviest_catch')) {
sortKey = '.heaviest_catch';
}
if (sortUorD == 'up') {
sortMiceBy(sortKey,'down');
localStorage.setItem('ws.pfp.sortUorD','down');
} else {
sortMiceBy(sortKey,'up');
localStorage.setItem('ws.pfp.sortUorD','up');
}
}
function setCrownBorder(thumb,catches,expanded) {
let top = "";
let bottom = "";
let crown = "n";
if (catches >= 2500) {
top = '#c4eae6';
bottom = '#63b9cf';
crown = 'd';
} else if (catches >= 1000) {
top = '#9191ff';
bottom = '#1d1781';
crown = 'p';
} else if (catches >= 500) {
top = '#ffe589';
bottom = '#b67800';
crown = 'g';
} else if (catches >= 100) {
top = '#d1d7e9';
bottom = '#66718b';
crown = 's';
} else if (catches >= 10) {
top = '#f0c693';
bottom = '#8d4823';
crown = 'b';
} else {
//no crown
top = '#ab9f92';
bottom = '#251B0A';
}
let background = '';
if(expanded === 'C') {
background = '#c1d5e0';
} else {
background = '#fafafa';
}
$(thumb).css({
'cursor': 'pointer',
'background-color': background,
'border-style': 'solid',
'border-width': '4px',
'border-radius': '4px',
'border-top-color': top,
'border-left-color': top,
'border-bottom-color': bottom,
'border-right-color': bottom,
});
return crown;
}
function sortMiceBy(key,UD) {
let activeGrouping = $('.mousehuntHud-page-subTabContent.active[data-template-file="AdversariesPage"]');
let activeSubGroup = "";
if ($('.mouseListView-categoryContent-category.active.hasFilter.caught').length > 0) {
activeSubGroup = $(activeGrouping).find('.mouseListView-categoryContent-category.active.hasFilter.caught');
} else if ($('.mouseListView-categoryContent-category.active.hasFilter.uncaught').length > 0) {
activeSubGroup = $(activeGrouping).find('.mouseListView-categoryContent-category.active.hasFilter.uncaught');
} else {
activeSubGroup = $(activeGrouping).find('.mouseListView-categoryContent-category.all.active');
}
const mouseContainer = $(activeSubGroup).find('.mouseListView-categoryContent-subgroupContainer');
const allMice = $(activeSubGroup).find('.mouseListView-categoryContent-subgroup-mouse.stats:not(.header)');
$(allMice).sort(function(a, b,) {
if (key == '.name') {
a = $(a).find(key).text();
b = $(b).find(key).text();
} else if ((key == '.catches') || (key == '.misses')) {
a = parseInt($(a).find(key).text().replace(",",""),10);
b = parseInt($(b).find(key).text().replace(",",""),10);
} else if ((key == '.average_weight') || (key == '.heaviest_catch')) {
a = parseUntits($(a).find(key).text());
b = parseUntits($(b).find(key).text());
}
if ((UD == 'up') && (a > b)) {
return -1;
} else if ((UD == 'up') && (a < b)) {
return 1;
} else if ((UD == 'down') && (a < b)) {
return -1;
} else if ((UD == 'down') && (a > b)) {
return 1;
}
}).appendTo(mouseContainer);
}
function parseUntits(unitString) {
let oz = 0;
const rawNumArray = unitString.replace(' lb. ',",").replace(' oz.',"").split(',');
if (rawNumArray.length == 1) {
oz = parseInt(rawNumArray[0],10);
} else {
oz = 16*parseInt(rawNumArray[0],10)+parseInt(rawNumArray[1],10);
}
return oz
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Crowns TAB
//
//
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function generateCrowns() {
const debug = localStorage.getItem('ws.debug');
if (debug == true) {
console.log('Crowns Tab',localStorage.getItem("Lock Favorites"),localStorage.getItem("ShowCommunityRanks"));
};
buildToolbar();
decorate();
if (localStorage.getItem("Lock Favorites") == "Y" && $(".mouseCrownsView-group-mouse-favouriteButton").length > 0) {
lockFavorites();
}
if (localStorage.getItem("ShowCommunityRanks") == "Y") {
hg.utils.MouseUtil.getMouseNames(function (data) {
const numMice = Object.keys($(data)[0]).length-2;
localStorage.setItem('ws.mh.pfp.numMice',numMice);
if (debug == true) {
console.log('Total Mice',numMice);
};
showCommunityRanks();
})
}
if(localStorage.getItem("ShowPowerCrowns") == "Y") {
showPowerCrowns();
}
}
function buildToolbar() {
if ($(".toolBar").length > 0) return;
const toolBar = document.createElement("div");
toolBar.classList.add("toolBar");
// Lock Favs CB
const 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 = "";
}
const lockFavsLabel = document.createElement("label");
lockFavsLabel.htmlFor = "lockFavsLabel";
lockFavsLabel.appendChild(document.createTextNode("Lock Favorites"));
if ($(".mouseCrownsView-group-mouse-favouriteButton").length > 0) {
toolBar.appendChild(lockFavs);
toolBar.appendChild(lockFavsLabel);
}
// Community Ranks CB
const 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 = "";
}
const communityRanksLabel = document.createElement("label");
communityRanksLabel.htmlFor = "communityRanksLabel";
communityRanksLabel.appendChild(
document.createTextNode("Show Crown Summary ")
);
toolBar.appendChild(communityRanks);
toolBar.appendChild(communityRanksLabel);
// Power Crowns CB
const powerCrowns = document.createElement("input");
powerCrowns.type = "checkbox";
powerCrowns.name = "powerCrowns";
powerCrowns.value = "";
powerCrowns.id = "powerCrowns";
powerCrowns.checked = "";
if (localStorage.getItem("ShowPowerCrowns") == "Y") {
powerCrowns.checked = "Yes";
} else {
powerCrowns.checked = "";
}
const powerCrownsLabel = document.createElement("label");
powerCrownsLabel.htmlFor = "powerCrownsLabel";
powerCrownsLabel.appendChild(
document.createTextNode("Show Power Crowns ")
);
toolBar.appendChild(powerCrowns);
toolBar.appendChild(powerCrownsLabel);
//Copy Crown Button
const copyCrownsButton = document.createElement("button");
copyCrownsButton.id = "copyCrownsButton";
if ($(".mouseCrownsView-group-mouse-favouriteButton").length > 0) {
copyCrownsButton.addEventListener("click", copyMyCrowns)
} else {
copyCrownsButton.addEventListener("click", copyCrowns)
}
$(copyCrownsButton).attr('title', 'Copy Crowns to Clipboard');
toolBar.appendChild(copyCrownsButton);
$(copyCrownsButton).css({
'cursor': 'pointer',
'border-style': 'solid',
'border-color': 'grey',
'border-width': '2px',
'background-image': "url('https://cdn3.iconfinder.com/data/icons/files-folders-line/100/copy-512.png')",
'background-repeat': 'no-repeat',
'background-size': 'contain',
'width': '35px',
'height': '35px',
});
// Last
let crownBreak = $('.mouseCrownsView-group.favourite').css({'margin-bottom':'40px'});
crownBreak.append(toolBar);
$(".toolBar").css({
'float': "right",
});
}
/********** Lock Favs **********/
$(document).on("change", "#lockFavs", function() {
if (
window.location.href.includes("profile.php") &&
$(".mousehuntHud-page-tabHeader.kings_crowns").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 ($(".mouseCrownsView-group-mouse-favouriteButton").length < 0) {
localStorage.setItem("LockFavs", "N");
lockFavs.checked = "";
return;
}
const allMice = $(".mouseCrownsView-group-mouse").find('.mouseCrownsView-group-mouse-favouriteButton');
allMice.css("pointer-events", "none");
}
function unlockFavorites() {
localStorage.setItem("Lock Favorites", "N");
const allMice = $(".mouseCrownsView-group-mouse").find('.mouseCrownsView-group-mouse-favouriteButton');
allMice.css("pointer-events", "auto");
$(".mouseCrownsView-crown.favourite").css({
'background-image': "url('https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png')",
'display': 'inline-block',
'vertical-align': 'middle',
'width': '50px',
'height': '50px',
'margin-right': '5px',
'background-repeat': 'no-repeat',
'background-position': '50% 50%',
'background-size': 'contain'
});
}
/********** Community Ranks **********/
$(document).on("change", "#communityRanks", function() {
if (
window.location.href.includes("profile.php") &&
$(".mousehuntHud-page-tabHeader.kings_crowns").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() {
const debug = localStorage.getItem('ws.debug');
const totalMice = localStorage.getItem('ws.mh.pfp.numMice');
if ($('.mouseCrownsView-group-header.community').length > 0) {
return;
}
const crownBreak = $(".mouseCrownsView-group.favourite");
const communityCrownHeader = $('.mouseCrownsView-group-header').first().clone();
communityCrownHeader.addClass('community');
communityCrownHeader.css({
//'height': '65px',
'padding': '3px',
'margin-bottom': '10px',
});
communityCrownHeader.find('.mouseCrownsView-crown').removeClass('favourite').addClass('community').css({
'background-image': "url('https://icon-library.com/images/138339.png')",
'background-repeat': 'no-repeat',
'background-size': '40px 40px',
});
communityCrownHeader.find('.mouseCrownsView-group-header-subtitle')
communityCrownHeader.find('.mouseCrownsView-group-header-name').text('Crown Summary').css({
"font-weight": "bold",
});
communityCrownHeader.insertAfter(crownBreak);
const allUncrowned = $(".mouseCrownsView-group.none").find(".mouseCrownsView-group-mouse");
const allBronze = $(".mouseCrownsView-group.bronze,.mouseCrownsView-group.silver,.mouseCrownsView-group.gold,.mouseCrownsView-group.platinum,.mouseCrownsView-group.diamond").find(".mouseCrownsView-group-mouse");
const allSilver = $(".mouseCrownsView-group.silver,.mouseCrownsView-group.gold,.mouseCrownsView-group.platinum,.mouseCrownsView-group.diamond").find(".mouseCrownsView-group-mouse");
const allGold = $(".mouseCrownsView-group.gold,.mouseCrownsView-group.platinum,.mouseCrownsView-group.diamond").find(".mouseCrownsView-group-mouse");
const allPlat = $(".mouseCrownsView-group.platinum,.mouseCrownsView-group.diamond").find(".mouseCrownsView-group-mouse");
const allDiamond = $(".mouseCrownsView-group.diamond").find(".mouseCrownsView-group-mouse");
const bronzeCrowns = allBronze.length;
const silverCrowns = allSilver.length;
const goldCrowns = allGold.length;
const platCrowns = allPlat.length;
const diamondCrowns = allDiamond.length;
const uncrowned = totalMice - bronzeCrowns;
if (debug == true) {
console.log('Crown Counts',uncrowned,bronzeCrowns,silverCrowns,goldCrowns,platCrowns,diamondCrowns);
};
const bronzeLink = "https://docs.google.com/spreadsheets/d/19_wHCkwiT5M6LS7XNLt4NYny98fjpg4UlHbgOD05ijw/pub?fbclid=IwAR3a1Ku2xTl1mIDksUr8Lk5ORMEnuv7jnvIy9K6OBeziG6AyvYYlZaIQkHY"
const silverLink = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vQG5g3vp-q7LRYug-yZR3tSwQzAdN7qaYFzhlZYeA32vLtq1mJcq7qhH80planwei99JtLRFAhJuTZn/pubhtml?fbclid=IwAR3sPXNLloGnFk324a0HShroP1E-sNcnQBlRTjJ7gScWTWosqmXv5InB_Ns'
const goldLink = 'https://docs.google.com/spreadsheets/d/10OGD5OYkGIEAbiez7v92qU5Fdul0ZtCRgEjlECkwZJE/pubhtml?gid=478731024&single=true&fbclid=IwAR28w7IQyMp91I62CR3GOILpbeLwgKaydIoQimMNm7j3S0DL8Mj_IsRpGD4'
const rankSummary = $("<div class='rank summary'</div>");
rankSummary.css({
'font-size': '11.75px',
});
communityCrownHeader.append(rankSummary);
const uncrownedText = document.createTextNode("Uncrowned: " + uncrowned + " (" + ((uncrowned / totalMice) * 100).toFixed(2) + "%) | ");
$(rankSummary).attr('title', 'Mobster and Leprechaun excluded from counts');
const bronzeText = document.createTextNode("Bronze: " + bronzeCrowns + " (" + ((bronzeCrowns / totalMice) * 100).toFixed(2) + "%) | ");
const silverText = document.createTextNode("Silver: " + silverCrowns + " (" + ((silverCrowns / totalMice) * 100).toFixed(2) + "%) | ");
const goldText = document.createTextNode("Gold: " + goldCrowns + " (" + ((goldCrowns / totalMice) * 100).toFixed(2) + "%) | ");
const platText = document.createTextNode("Platinum: " + platCrowns + " (" + ((platCrowns / totalMice) * 100).toFixed(2) + "%) | ");
const diamondText = document.createTextNode("Diamond: " + diamondCrowns + " (" + ((diamondCrowns / totalMice) * 100).toFixed(2) + "%)");
const aBronze = document.createElement('a');
aBronze.appendChild(bronzeText);
aBronze.title = "90% Crowned Scoreboard";
aBronze.href = bronzeLink;
$(aBronze).attr("target", "_blank");
const aSilver = document.createElement('a');
aSilver.appendChild(silverText);
aSilver.title = "MHCC Scoreboard";
aSilver.href = silverLink;
$(aSilver).attr("target", "_blank");
const aGold = document.createElement('a');
aGold.appendChild(goldText);
aGold.title = "MHCC Elite Scoreboard";
aGold.href = goldLink;
$(aGold).attr("target", "_blank");
$(rankSummary).append(uncrownedText).append(aBronze).append(aSilver).append(aGold).append(platText).append(diamondText);
}
function hideCommunityRanks() {
if ($('.mouseCrownsView-group-header.community').length > 0) {
$('.mouseCrownsView-group-header.community').remove();
}
}
/********** Power Crowns **********/
$(document).on("change", "#powerCrowns", function() {
if (
window.location.href.includes("profile.php") &&
$(".mousehuntHud-page-tabHeader.kings_crowns").hasClass("active")
) {
if (this.checked) {
localStorage.setItem("ShowPowerCrowns", "Y");
powerCrowns.checked = "Yes";
decorate();
showPowerCrowns();
} else {
localStorage.setItem("ShowPowerCrowns", "N");
powerCrowns.checked = "";
hidePowerCrowns();
}
}
})
function populatePowerCrowns(mouse){
const mouseName = $(mouse).find('.mouseCrownsView-group-mouse-name').text();
if(mouseName == '-- Empty --') {return false}
let powerType = getMousePowerType(mouseName);
let icon = 'https://www.mousehuntgame.com/images/powertypes/parental.png'
let iconClass = "";
if(powerType == 'normal') {
powerType = 'multi';
iconClass = 'pt '+powerType;
} else if (powerType == 'event') {
iconClass = 'pt event';
icon = 'https://www.mousehuntgame.com/images/items/skins/73c91f2016a313406553794587625e24.jpg';
} else if (powerType == 'prize') {
iconClass = 'pt prize';
icon = 'https://www.mousehuntgame.com/images/items/convertibles/80cf614cbec2ec3d739502bd45c93ab3.gif?cv=2';
} else {
icon = 'https://www.mousehuntgame.com/images/powertypes/'+powerType+'.png';
iconClass = 'pt '+powerType;
}
const label = $(mouse).find('.mouseCrownsView-group-mouse-label');
if($(label).find('img').length >0) {
} else {
$(label).append($('<img>',{class:iconClass,src:icon,title:powerType}));
$(label).find('img').css({'width': '17.5px','height':'17.5px','margin-left':'1px',})
}
}
function showPowerCrowns() {
const debug = localStorage.getItem('ws.debug');
localStorage.setItem('ws.mh.pfp.ptProps',JSON.stringify({}));
if ($('.mouseCrownsView-group-header.powerCrown').length > 0) {
return;
}
let crownBreak = $(".mouseCrownsView-group.favourite");
if ($(".mouseCrownsView-group-header.community").length > 0) {
crownBreak = $(".mouseCrownsView-group-header.community");
}
const powerCrownHeader = $('.mouseCrownsView-group-header').first().clone();
powerCrownHeader.addClass('powerCrown');
powerCrownHeader.find('.mouseCrownsView-crown').removeClass('favourite').addClass('powerCrown').css({
'background-image': "url('https://icon-library.com/images/off-icon/off-icon-12.jpg')",
'background-repeat': 'no-repeat',
'background-size': '40px 40px',
});
powerCrownHeader.find('.mouseCrownsView-group-header-subtitle')
powerCrownHeader.find('.mouseCrownsView-group-header-name').text('Power Crowns').css({
"font-weight": "bold",
});
powerCrownHeader.insertAfter(crownBreak);
const ptBtnGroup = $("<div class='btn-group' id='powerTypeBtns'></div>");
const powerTypes = ['arcane','draconic','forgotten','hydro','law','physical','rift','shadow','tactical','parental','event','prize'];
powerTypes.forEach(function(type, index) {
const thisBtn = document.createElement("button");
let icon = '';
let title = type;
let masterText = '';
if(type == 'parental') {
$(thisBtn).addClass('ptbtn multi');
icon = 'https://www.mousehuntgame.com/images/powertypes/'+type+'.png';
title = 'multi';
masterText = 'Master of Multi!';
} else if (type == 'event') {
$(thisBtn).addClass('ptbtn '+type);
icon = 'https://www.mousehuntgame.com/images/items/skins/73c91f2016a313406553794587625e24.jpg';
masterText = 'Master of Events!';
} else if (type == 'prize') {
$(thisBtn).addClass('ptbtn '+type);
icon = 'https://www.mousehuntgame.com/images/items/convertibles/80cf614cbec2ec3d739502bd45c93ab3.gif?cv=2';
masterText = 'Master of Cheating because this is impossible :/';
} else {
$(thisBtn).addClass('ptbtn '+type);
icon = 'https://www.mousehuntgame.com/images/powertypes/'+type+'.png';
masterText = 'Master of '+type.charAt(0).toUpperCase()+type.substring(1)+'!';
}
const powerTypeData = getPowerTypeTotals(type);
const powerTypeIcon = $('<img>',{src:icon,title:title, width:"35", height:"35"});
$(thisBtn).append(powerTypeIcon);
//
const countText = document.createElement("div");
$(countText).append(powerTypeData[0])
//
if(powerTypeData[2]) {
const masterBtn = $('<img>',{src:'https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png?asset_cache_version=2',title:masterText});
$(thisBtn).append(masterBtn);
$(masterBtn).css({
'position': 'relative',
'top': '-12px',
'left': '-5px',
'float': 'right',
});
$(powerTypeIcon).css({
'position': 'relative',
'top': '0px',
'left': '-5px',
});
$(countText).css({
'float': 'left',
'position': 'relative',
'top': '-12px',
'left': '0px',
'width':'100%',
});
} else {
const percentText = document.createElement("div");
$(percentText).append(powerTypeData[1])
$(percentText).css({
'position': 'relative',
'top': '-35px',
'left': '40px',
'width':'55%',
});
$(thisBtn).append(percentText);
$(powerTypeIcon).css({
'position': 'relative',
'left': '-40px',
});
$(countText).css({
'position': 'relative',
'top': '-20px',
'left': '0px',
'width':'100%',
});
}
$(thisBtn).append(countText);
$(thisBtn).css({
'cursor': 'pointer',
'background-color': '#008CBA',
'border-radius':'4px',
'font-size':'16px',
'padding': '7.5px 2.5px',
'height': '67.5px',
'width': '16.666666666666666666%',
});
$(thisBtn).on('click',function() {
let ptProps = JSON.parse(localStorage.getItem('ws.mh.pfp.ptProps'));
const type = $(this).attr('class').replace('ptbtn ',"");
let allMice = $('.mouseCrownsView-group:not(.favourite)').find('.pt');
$(allMice).parent().parent().parent().show();
if(ptProps[type] == 'Show') {
Object.keys(ptProps).forEach(e => ptProps[e] = 'Show')
ptBtnGroup.find('button').css({'border-color': 'black',});
ptProps[type] = 'All';
} else {
Object.keys(ptProps).forEach(e => ptProps[e] = 'Hide')
ptBtnGroup.find('button').not(this).css({'border-color': 'black',});
$(this).css({'border-color': '#f44336',})
ptProps[type] = 'Show';
$(allMice).not('.pt.'+type).parent().parent().parent().hide();
}
localStorage.setItem('ws.mh.pfp.ptProps',JSON.stringify(ptProps));
})
$(ptBtnGroup).append(thisBtn);
})
powerCrownHeader.append(ptBtnGroup);
}
function getPowerTypeTotals(type) {
const debug = localStorage.getItem('ws.debug');
if (type =='parental') {type = 'multi'}
const totalMice = {'arcane':65,
'draconic':37,
'forgotten':87,
'hydro':189,
'law':68,
'physical':79,
'rift':142,
'shadow':78,
'tactical':106,
'multi':135,
'event':168,
'prize':2};
const num = $('.mouseCrownsView-group:not(.favourite):not(.none):not(.bronze)').find('.pt.'+type).length;
const percent = ((num/totalMice[type])*100).toFixed(2);
let result = [];
result.push(''+num+' of '+totalMice[type]);
if(num == totalMice[type]) {
result.push('isMaster')
}
result.push(' '+percent+'% ');
if (debug == true) {
console.log(type,num,percent,result);
};
return result
}
$(document).on('click', '.mouseCrownsView-group-header.powerCrown', function(e) {
const eventTarget = $(e.target).attr('class');
const btnGroup = $(this).find('.btn-group');
if(e.target === e.currentTarget) {
btnGroup.toggle();
} else if (eventTarget === 'mouseCrownsView-crown powerCrown') {
btnGroup.toggle();
} else if (eventTarget === 'mouseCrownsView-group-header-name') {
btnGroup.toggle();
}
})
function getMousePowerType(mouseName) {
const miceMap = {
'Abominable Snow':'normal',
'Absolute Acolyte':'rift',
'Acolyte':'forgotten',
'Admiral Arrrgh':'event',
'Admiral Cloudbeard':'normal',
'Aether':'tactical',
'Aged':'physical',
'Agent M':'law',
'Agitated Gentle Giant':'rift',
'Alchemist':'hydro',
'Alnilam':'tactical',
'Alnitak':'hydro',
'Alpha Weremouse':'shadow',
'Amplified Brown':'rift',
'Amplified Grey':'rift',
'Amplified White':'rift',
'Ancient of the Deep':'hydro',
'Ancient Scribe':'forgotten',
'Angelfish':'hydro',
'Angler':'hydro',
'Angry Aphid':'tactical',
'Angry Train Staff':'law',
'Aquos':'shadow',
'Arcane Summoner':'arcane',
'Arch Champion Necromancer':'rift',
'Archer':'tactical',
'Architeuthulhu of the Abyss':'hydro',
'Aristo-Cat Burglar':'law',
'Armored Archer':'rift',
'Artillery Commander':'arcane',
'Ascended Elder':'rift',
'Ash Golem':'forgotten',
'Assassin':'tactical',
'Assassin Beast':'rift',
'Astrological Astronomer':'shadow',
'Automated Sentry':'rift',
'Automated Stone Sentry':'forgotten',
'Automorat':'law',
'Baba Gaga':'event',
'Balack the Banished':'forgotten',
'Bandit':'physical',
'Bark':'hydro',
'Barkshell':'hydro',
'Barmy Gunner':'hydro',
'Barnacle Beautician':'hydro',
'Barracuda':'hydro',
'Bartender':'law',
'Bat':'shadow',
'Battering Ram':'normal',
'Battle Cleric':'forgotten',
'Beachcomber':'hydro',
'Bear':'tactical',
'Bearded Elder':'draconic',
'Beast Tamer':'tactical',
'Berserker':'tactical',
'Berzerker':'rift',
'Betta':'hydro',
'Big Bad Behemoth Burroughs':'rift',
'Big Bad Burroughs':'normal',
'Bilged Boatswain':'hydro',
'Biohazard':'hydro',
'Bionic':'normal',
'Birthday':'event',
'Bitter Grammarian':'forgotten',
'Bitter Root':'normal',
'Black Diamond Racer':'event',
'Black Mage':'shadow',
'Black Powder Thief':'law',
'Black Widow':'normal',
'Blacksmith':'normal',
'Bloomed Sylvan':'rift',
'Bog Beast':'hydro',
'Bonbon Gummy Globlin':'event',
'Bookborn':'tactical',
'Borean Commander':'event',
'Bottled':'hydro',
'Bottom Feeder':'hydro',
'Boulder Biter':'rift',
'Bounty Hunter':'law',
'Brawny':'rift',
'Breakdancer':'event',
'Breeze Borrower':'normal',
'Briegull':'hydro',
'Brimstone':'shadow',
'Brothers Grimmaus':'forgotten',
'Brown':'normal',
'Bruticle':'hydro',
'Bruticus the Blazing':'draconic',
'Buccaneer':'hydro',
'Buckethead':'event',
'Builder':'event',
'Bulwark of Ascent':'rift',
'Burglar':'law',
'Burly Bruiser':'draconic',
'Cabin Boy':'hydro',
'Calalilly':'hydro',
'Calligraphy':'event',
'Camoflower':'hydro',
'Camofusion':'hydro',
'Candy Cane':'event',
'Candy Cat':'event',
'Candy Goblin':'event',
'Cannonball':'law',
'Captain':'hydro',
'Captain Cannonball':'event',
'Captain Cloudkicker':'tactical',
'Captain Croissant':'normal',
'Caravan Guard':'normal',
'Cardshark':'law',
'Carefree Cook':'event',
'Careless Catfish':'hydro',
'Caretaker':'tactical',
'Carmine the Apothecary':'hydro',
'Carnivore':'hydro',
'Carrion Medium':'rift',
'Cavalier':'tactical',
'Cavern Crumbler':'forgotten',
'Centaur':'tactical',
'Centaur Ranger':'rift',
'Chamber Cleaver':'rift',
'Chameleon':'tactical',
'Champion':'hydro',
'Champion Danseuse':'rift',
'Champion Thief':'rift',
'Charming Chimer':'arcane',
'Cheesy Party':'event',
'Cherry':'tactical',
'Cherry Sprite':'rift',
'Chess Master':'tactical',
'Chip Chiseler':'shadow',
'Chipper':'hydro',
'Chitinous':'shadow',
'Chocolate Gold Foil':'event',
'Chocolate Overload':'event',
'Christmas Tree':'event',
'Chrono':'forgotten',
'Chronomaster':'rift',
'Cinderstorm':'draconic',
'Circuit Judge':'law',
'City Noble':'hydro',
'City Worker':'hydro',
'Clockwork Samurai':'normal',
'Clockwork Timespinner':'rift',
'Cloud Collector':'normal',
'Cloud Miner':'normal',
'Cloud Strider':'hydro',
'Clownfish':'hydro',
'Clump':'rift',
'Clumsy Carrier':'hydro',
'Clumsy Chemist':'normal',
'Coal Shoveller':'law',
'Cobweb':'event',
'Coco Commander':'event',
'Coffin Zombie':'shadow',
'Confused Courier':'event',
'Conjurer':'tactical',
'Conqueror':'tactical',
'Consumed Charm Tinkerer':'normal',
'Cook':'hydro',
'Coral':'hydro',
'Coral Cuddler':'hydro',
'Coral Dragon':'hydro',
'Coral Gardener':'hydro',
'Coral Guard':'hydro',
'Coral Harvester':'hydro',
'Coral Queen':'hydro',
'Core Sample':'normal',
'Cork Defender':'draconic',
'Corkataur':'draconic',
'Corky the Collector':'draconic',
'Corridor Bruiser':'forgotten',
'Corrupt':'arcane',
'Corrupt Commodore':'hydro',
'Costumed Dog':'event',
'Costumed Dragon':'event',
'Costumed Horse':'event',
'Costumed Monkey':'event',
'Costumed Ox':'event',
'Costumed Pig':'event',
'Costumed Rabbit':'event',
'Costumed Rat':'event',
'Costumed Rooster':'event',
'Costumed Sheep':'event',
'Costumed Snake':'event',
'Costumed Tiger':'event',
'Count Vampire':'rift',
'Covetous Coastguard':'hydro',
'Cowardly':'normal',
'Cowbell':'tactical',
'Crabolia':'hydro',
'Crag Elder':'forgotten',
'Craggy Ore':'normal',
'Cranky Caterpillar':'rift',
'Crate Camo':'law',
'Crazed Cultivator':'tactical',
'Crazed Goblin':'rift',
'Creepy Marionette':'event',
'Crimson Commander':'normal',
'Crimson Ranger':'physical',
'Crimson Titan':'physical',
'Crimson Watch':'physical',
'Croquet Crusher':'law',
'Crown Collector':'normal',
'Crystal Behemoth':'forgotten',
'Crystal Cave Worm':'forgotten',
'Crystal Controller':'forgotten',
'Crystal Golem':'forgotten',
'Crystal Lurker':'forgotten',
'Crystal Observer':'forgotten',
'Crystal Queen':'forgotten',
'Crystalback':'forgotten',
'Crystalline Slasher':'forgotten',
'Cumulost':'forgotten',
'Cupcake Camo':'event',
'Cupcake Candle Thief':'event',
'Cupcake Cutie':'event',
'Cupcake Runner':'event',
'Cupid':'tactical',
'Curious Chemist':'tactical',
'Cursed':'arcane',
'Cursed Crusader':'rift',
'Cursed Enchanter':'arcane',
'Cursed Engineer':'arcane',
'Cursed Librarian':'arcane',
'Cursed Taskmaster':'arcane',
'Cursed Thief':'arcane',
'Cute Cloud Conjurer':'hydro',
'Cute Crate Carrier':'law',
'Cutpurse':'rift',
'Cutthroat Cannoneer':'normal',
'Cutthroat Pirate':'normal',
'Cuttle':'hydro',
'Cyber Miner':'rift',
'Cybernetic Specialist':'rift',
'Cyborg':'rift',
'Cycloness':'arcane',
'Cyclops':'tactical',
'Cyclops Barbarian':'rift',
'Dance Party':'event',
'Dancer':'tactical',
'Dancing Assassin':'rift',
'Dangerous Duo':'law',
'Dark Magi':'arcane',
'Dark Templar':'forgotten',
'Dashing Buccaneer':'hydro',
'Davy Jones':'shadow',
'Dawn Guardian':'arcane',
'Daydreamer':'normal',
'Decrepit Tentacle Terror':'normal',
'Deep':'hydro',
'Deep Sea Diver':'hydro',
'Defender':'tactical',
'Dehydrated':'hydro',
'Demolitions':'normal',
'Deranged Deckhand':'hydro',
'Derpicorn':'physical',
'Derpshark':'hydro',
'Derr Chieftain':'physical',
'Derr Lich':'forgotten',
'Desert Archer':'physical',
'Desert Architect':'normal',
'Desert Nomad':'normal',
'Desert Soldier':'physical',
'Desperado':'law',
'Destructoy':'event',
'Devious Gentleman':'law',
'Diamond':'normal',
'Diamondhide':'forgotten',
'Dinosuit':'event',
'Dire Lycan':'event',
'Dirt Thing':'forgotten',
'Dojo Sensei':'tactical',
'Doktor':'rift',
'Double Black Diamond Racer':'event',
'Draconic Warden':'draconic',
'Dragon':'draconic',
'Dragonbreather':'draconic',
'Dragoon':'draconic',
'Dread Knight':'rift',
'Dread Pirate Mousert':'hydro',
'Dream Drifter':'rift',
'Drudge':'forgotten',
'Drummer':'tactical',
'Dumpling Chef':'tactical',
'Dumpling Delivery':'rift',
'Dunehopper':'shadow',
'Dwarf':'normal',
'Eagle Owl':'tactical',
'Eclipse':'forgotten',
'Eel':'hydro',
'Effervescent':'tactical',
'Egg Painter':'event',
'Egg Scrambler':'event',
'Eggscavator':'event',
'Eggsplosive Scientist':'event',
'Eggsquisite Entertainer':'event',
'El Flamenco':'event',
'Elder':'hydro',
'Elf':'event',
'Elite Guardian':'hydro',
'Elixir Maker':'rift',
'Elub Chieftain':'hydro',
'Elub Lich':'forgotten',
'Elven Princess':'tactical',
'Emberstone Scaled':'draconic',
'Empyrean Appraiser':'normal',
'Empyrean Empress':'normal',
'Empyrean Geologist':'normal',
'Empyrean Javelineer':'draconic',
'Enginseer':'hydro',
'Enlightened Labourer':'rift',
'Enslaved Spirit':'shadow',
'Epoch Golem':'rift',
'Escape Artist':'physical',
'Essence Collector':'arcane',
'Essence Guardian':'arcane',
'Ethereal Enchanter':'arcane',
'Ethereal Engineer':'arcane',
'Ethereal Guardian':'forgotten',
'Ethereal Librarian':'arcane',
'Ethereal Thief':'arcane',
'Evil Scientist':'rift',
'Excitable Electric':'rift',
'Exo-Tech':'forgotten',
'Explorator':'physical',
'Extreme Everysports':'normal',
'Factory Technician':'event',
'Fairy':'tactical',
'Fall Familiar':'shadow',
'Fallen Champion Footman':'rift',
'Falling Carpet':'normal',
'Farmhand':'normal',
'Farrier':'law',
'Fencer':'tactical',
'Fete Fromager':'event',
'Fetid Swamp':'shadow',
'Fibbocchio':'forgotten',
'Fiddler':'tactical',
'Field':'normal',
'Fiend':'hydro',
'Fiery Crusher':'shadow',
'Finder':'tactical',
'Firebreather':'tactical',
'Firefly':'tactical',
'Flamboyant Flautist':'forgotten',
'Flame Archer':'physical',
'Flame Ordnance':'arcane',
'Flame Warrior':'physical',
'Floating Spore':'normal',
'Flutterby':'tactical',
'Fluttering Flutist':'arcane',
'Flying':'normal',
'Fog':'normal',
'Force Fighter Blue':'event',
'Force Fighter Green':'event',
'Force Fighter Pink':'event',
'Force Fighter Red':'event',
'Force Fighter Yellow':'event',
'Melancholy Merchant':'normal',
'Forgotten Elder':'forgotten',
'Fortuitous Fool':'normal',
'Foxy':'tactical',
'Free Skiing':'event',
'Frightened Flying Fireworks':'event',
'Frigid Foreman':'event',
'Frog':'tactical',
'Frost King':'event',
'Frostbite':'hydro',
'Frostlance Guard':'hydro',
'Frostwing Commander':'hydro',
'Frosty Snow':'normal',
'Frozen':'normal',
'Fuel':'law',
"Ful'Mina the Mountain Queen":'draconic',
'Fungal Frog':'rift',
'Fungal Spore':'hydro',
'Fungal Technomorph':'forgotten',
'Funglore':'normal',
'Fuzzy Drake':'draconic',
'Gargantuamouse':'draconic',
'Gargoyle':'arcane',
'Gate Guardian':'arcane',
'Gelatinous Octahedron':'hydro',
'Gemorpher':'forgotten',
'Gemstone Worshipper':'forgotten',
'General Drheller':'hydro',
'Gentleman Caller':'law',
'Ghost':'shadow',
'Ghost Pirate Queen':'event',
'Giant Snail':'shadow',
'Gilded Leaf':'rift',
'Gingerbread':'event',
'Glacia Ice Fist':'event',
'Gladiator':'physical',
'Glamorous Gladiator':'physical',
'Glass Blower':'normal',
'Glazy':'event',
'Glitchpaw':'normal',
'Gluttonous Zombie':'shadow',
'Goblin':'shadow',
'Gold':'normal',
'Goldleaf':'tactical',
'Golem':'arcane',
'Goliath Field':'rift',
'Gorgon':'arcane',
'Gourd Ghoul':'event',
'Gourdborg':'event',
'Grampa Golem':'shadow',
'Grand Master of the Dojo':'rift',
'Grandfather':'tactical',
'Granite':'normal',
'Granny Spice':'arcane',
'Grave Robber':'event',
'Great Giftnapper':'event',
'Great Winter Hunt Impostor':'event',
'Greedy Al':'event',
'Greenbeard':'forgotten',
'Grey':'normal',
'Grey Recluse':'event',
'Greyrun':'rift',
'Grit Grifter':'tactical',
'Grizzled Silth':'rift',
'Ground Gavaleer':'physical',
'Grubling':'shadow',
'Grubling Herder':'shadow',
'Grunt':'physical',
'Guardian':'physical',
'Guppy':'hydro',
'Guqin Player':'tactical',
'Gyrologer':'tactical',
'Hans Cheesetian Squeakersen':'forgotten',
'Hapless':'tactical',
'Hapless Marionette':'normal',
'Harbinger of Death':'rift',
'Hardboiled':'event',
'Hardworking Hauler':'law',
'Hare Razer':'event',
'Harpy':'shadow',
'Harvest Harrier':'shadow',
'Harvester':'shadow',
'Hazmat':'hydro',
'Healer':'physical',
'Heart of the Meteor':'arcane',
'Heavy Blaster':'hydro',
'Herc':'physical',
'High Roller':'event',
'Hired Eidolon':'forgotten',
'Hoarder':'event',
'Hollowed':'event',
'Hollowed Minion':'event',
'Hollowhead':'event',
'Homeopathic Apothecary':'normal',
'Hookshot':'law',
'Hope':'tactical',
'Horned Cork Hoarder':'draconic',
'Hot Head':'tactical',
'Humphrey Dumphrey':'forgotten',
'Huntereater':'forgotten',
'Hurdle':'normal',
'Hydra':'normal',
'Hydrologist':'hydro',
'Hydrophobe':'physical',
'Hypnotized Gunslinger':'arcane',
'Ice Regent':'forgotten',
'Iceberg Sculptor':'event',
'Iceblade':'hydro',
'Iceblock':'hydro',
'Icebreaker':'hydro',
'Icewing':'hydro',
'Icicle':'hydro',
'Ignatia':'draconic',
'Ignis':'shadow',
'Impersonator':'physical',
'Incompetent Ice Climber':'hydro',
'Industrious Digger':'normal',
'Inferna the Engulfed':'arcane',
'Inferno Mage':'hydro',
'Infiltrator':'tactical',
'Itty Bitty Rifty Burroughs':'rift',
'Itty-Bitty Burroughs':'normal',
'Jellyfish':'hydro',
'Joy':'event',
'Juliyes':'normal',
'Jurassic':'shadow',
"Kalor'ignis of the Geyser":'draconic',
'Karmachameleon':'rift',
'Keeper':'arcane',
"Keeper's Assistant":'arcane',
'King Grub':'shadow',
'King Scarab':'shadow',
'Kite Flyer':'normal',
'Knight':'tactical',
'Koimaid':'hydro',
'Kung Fu':'tactical',
'Lab Technician':'hydro',
'Lady Coldsnap':'hydro',
'Lambent':'rift',
'Lambent Crystal':'normal',
'Lancer Guard':'draconic',
'Land Loafer':'tactical',
'Lasso Cowgirl':'law',
'Launchpad Labourer':'normal',
'Lawbender':'law',
'Leprechaun':'prize',
'Leviathan':'hydro',
'Lich':'arcane',
'Lightning Rod':'normal',
'Limestone Miner':'normal',
'Little Bo Squeak':'forgotten',
'Little Miss Fluffet':'forgotten',
'Living Ice':'hydro',
'Living Salt':'hydro',
'Loathsome Locust':'tactical',
'Lockpick':'physical',
'Longtail':'normal',
'Lord Splodington':'hydro',
'Lost':'forgotten',
'Lost Legionnaire':'forgotten',
'Lovely Sports':'normal',
'Lucky':'event',
'Lumahead':'normal',
'Lumberjack':'normal',
'Lumi-lancer':'rift',
'Lunar Red Candle Maker':'event',
'Lycan':'shadow',
'Lycanoid':'rift',
'M400':'normal',
'Mad Elf':'event',
"Madame d'Ormouse":'forgotten',
'Mage Weaver':'normal',
'Magic':'normal',
'Magic Champion':'rift',
'Magma Carrier':'shadow',
'Magmarage':'hydro',
'Magmatic Crystal Thief':'law',
'Magmatic Golem':'law',
'Mairitime Pirate':'normal',
'Maize Harvester':'event',
'Mammoth':'hydro',
'Manaforge Smith':'forgotten',
'Manatee':'hydro',
'Market Guard':'normal',
'Market Thief':'law',
'Martial':'rift',
'Masked Pikeman':'forgotten',
'Master Burglar':'law',
'Master Exploder':'rift',
'Master of the Cheese Belt':'tactical',
'Master of the Cheese Claw':'tactical',
'Master of the Cheese Fang':'tactical',
'Master of the Chi Belt':'rift',
'Master of the Chi Claw':'rift',
'Master of the Chi Fang':'rift',
'Master of the Dojo':'tactical',
'Matriarch Gander':'forgotten',
'Matron of Machinery':'forgotten',
'Matron of Wealth':'forgotten',
'Mecha Tail':'rift',
'Medicine':'rift',
'Melodramatic Minnow':'hydro',
'Menace of the Rift':'rift',
'Mermouse':'hydro',
'Mermousette':'hydro',
'Mershark':'hydro',
'Meteorite Golem':'arcane',
'Meteorite Miner':'law',
'Meteorite Mover':'law',
'Meteorite Mystic':'arcane',
'Meteorite Snacker':'law',
'Micro':'rift',
'Mighty Mite':'tactical',
'Mighty Mole':'rift',
'Mild Spicekin':'draconic',
'Militant Samurai':'rift',
'Mimic':'forgotten',
'Mind Tearer':'forgotten',
'Miner':'normal',
'Mining Materials Manager':'law',
'Mintaka':'physical',
'Mischievous Meteorite Miner':'law',
'Mischievous Wereminer':'shadow',
'Miser':'event',
'Missile Toe':'event',
'Mist Maker':'hydro',
'Mlounder Flounder':'hydro',
'Mobster':'prize',
'Mole':'normal',
'Molten Midas':'forgotten',
'Monarch':'tactical',
'Monk':'tactical',
'Monsoon Maker':'shadow',
'Monster':'normal',
'Monster of the Meteor':'arcane',
'Monster Tail':'hydro',
'Monstrous Abomination':'rift',
'Monstrous Black Widow':'rift',
'Monstrous Midge':'tactical',
'Moosker':'tactical',
'Mossy Moosker':'rift',
'Mouldy Mole':'normal',
'Mountain':'normal',
'Mousataur Priestess':'event',
'Mouse of Elements':'rift',
'Mouse of Winter Future':'event',
'Mouse of Winter Past':'event',
'Mouse of Winter Present':'event',
'Mouse With No Name':'law',
'Mousevina von Vermin':'shadow',
'Moussile':'event',
'Mummy':'shadow',
'Mush':'normal',
'Mush Monster':'forgotten',
'Mushroom Harvester':'forgotten',
'Mushroom Sprite':'normal',
'Mutant Mongrel':'hydro',
'Mutant Ninja':'hydro',
'Mutated Behemoth':'hydro',
'Mutated Brown':'normal',
'Mutated Grey':'normal',
'Mutated Mole':'normal',
'Mutated Siblings':'hydro',
'Mutated White':'normal',
'Mysterious Traveller':'law',
'Mystic':'hydro',
'Mystic Bishop':'tactical',
'Mystic Guardian':'forgotten',
'Mystic Herald':'forgotten',
'Mystic King':'tactical',
'Mystic Knight':'tactical',
'Mystic Pawn':'tactical',
'Mystic Queen':'tactical',
'Mystic Rook':'tactical',
'Mystic Scholar':'forgotten',
'Mythweaver':'forgotten',
'Nachore Golem':'shadow',
'Nachous the Molten':'shadow',
'Narrator':'tactical',
'Naturalist':'rift',
'Naughty Nougat':'event',
'Necromancer':'hydro',
'Nefarious Nautilus':'hydro',
'Nerg Chieftain':'tactical',
'Nerg Lich':'forgotten',
"New Year's":'event',
'Nibbler':'normal',
'Nice Knitting':'event',
'Night Shift Materials Manager':'shadow',
'Night Watcher':'arcane',
'Nightfire':'arcane',
'Nightmancer':'shadow',
'Nightshade Flower Girl':'normal',
'Nightshade Fungalmancer':'forgotten',
'Nightshade Maiden':'normal',
'Nightshade Masquerade':'normal',
'Nightshade Nanny':'forgotten',
'Nimbomancer':'hydro',
'Ninja':'tactical',
'Nitro Racer':'event',
'Nomad':'tactical',
'Nomadic Warrior':'rift',
'Nugget':'normal',
'Nutcracker':'event',
'Octomermaid':'hydro',
"Ol' King Coal":'event',
'Old One':'hydro',
'Old Spice Collector':'arcane',
'One-Mouse Band':'rift',
'Onion Chopper':'event',
'Ooze':'arcane',
'Ore Chipper':'shadow',
'Ornament':'event',
'Outbreak Assassin':'hydro',
'Outlaw':'law',
'Over-Prepared':'hydro',
'Overcaster':'shadow',
'Oxygen Baron':'hydro',
'Pack':'hydro',
'Page':'tactical',
'Paladin':'arcane',
'Paladin Weapon Master':'forgotten',
'Pan Slammer':'event',
'Para Para Dancer':'event',
'Paragon of Arcane':'arcane',
'Paragon of Dragons':'draconic',
'Paragon of Forgotten':'forgotten',
'Paragon of Shadow':'shadow',
'Paragon of Strength':'physical',
'Paragon of Tactics':'tactical',
'Paragon of the Lawless':'law',
'Paragon of Water':'hydro',
'Parlour Player':'law',
'Party Head':'event',
'Passenger':'law',
'Pathfinder':'tactical',
'Pearl':'hydro',
'Pearl Diver':'hydro',
'Pebble':'normal',
'Peggy the Plunderer':'normal',
'Penguin':'hydro',
'Phalanx':'tactical',
'Phase Zombie':'rift',
'Photographer':'law',
'Pie Thief':'law',
'Pinchy':'hydro',
'Pinkielina':'forgotten',
'Pintail':'event',
'Pirate':'hydro',
'Pirate Anchor':'hydro',
'Plague Hag':'hydro',
'Plutonium Tentacle':'rift',
'Pneumatic Dirt Displacement':'rift',
'Pocketwatch':'physical',
'Polar Bear':'hydro',
'Pompous Perch':'hydro',
'Portable Generator':'rift',
'Portal Paladin':'rift',
'Portal Plunderer':'rift',
'Portal Pursuer':'rift',
'Possessed Armaments':'rift',
'Praetorian Champion':'rift',
'Present':'event',
'Prestigious Adventurer':'rift',
'Primal':'shadow',
'Princess and the Olive':'forgotten',
'Princess Fist':'hydro',
'Prospector':'law',
'Protector':'hydro',
'Prototype':'rift',
'Puddlemancer':'physical',
'Puffer':'hydro',
'Pugilist':'normal',
'Pump Raider':'law',
'Pumpkin Head':'shadow',
'Pumpkin Hoarder':'event',
'Puppet Champion':'rift',
'Puppet Master':'normal',
'Puppetto':'rift',
'Pygmy Wrangler':'shadow',
'Pyrehyde':'draconic',
'Pyrite':'law',
'Queen Quesada':'law',
'Queso Extractor':'law',
'Quesodillo':'shadow',
'Quillback':'normal',
'Radioactive Ooze':'rift',
'Rain Collector':'shadow',
'Rain Summoner':'shadow',
'Rain Wallower':'shadow',
'Rainbow Racer':'event',
'Rainmancer':'shadow',
'Rainwater Purifier':'normal',
'Rambunctious Rain Rumbler':'draconic',
'Rancid Bog Beast':'rift',
'Ravenous Zombie':'shadow',
'Raw Diamond':'rift',
'Reality Restitch':'event',
'Realm Ripper':'arcane',
'Reanimated Carver':'forgotten',
'Reaper':'arcane',
'Record Keeper':'rift',
"Record Keeper's Assistant":'rift',
'Red Coat Bear':'rift',
'Red Envelope':'event',
'Red-Eyed Watcher Owl':'rift',
'Regal Spearman':'draconic',
'Reinbo':'event',
'Relic Hunter':'normal',
'Renegade':'physical',
'Retired Minotaur':'forgotten',
'Reveling Lycanthrope':'shadow',
'Revenant':'rift',
'Ribbon':'event',
'Richard the Rich':'normal',
'Ridiculous Sweater':'event',
'Rift Bio Engineer':'rift',
'Rift Guardian':'rift',
'Rift Tiger':'rift',
'Rifterranian':'rift',
'Riftweaver':'rift',
'Riptide':'normal',
'Robat':'rift',
'Rock Muncher':'normal',
'Rocketeer':'tactical',
'Rockstar':'event',
'Rogue':'physical',
'Romeno':'normal',
'Romeo':'normal',
'Root Rummager':'tactical',
'RR-8':'forgotten',
'Rubble Rouser':'shadow',
'Rubble Rummager':'shadow',
'Ruffian':'law',
'S.N.O.W. Golem':'event',
'Saboteur':'hydro',
'Sacred Shrine':'arcane',
'Saloon Gal':'law',
'Salt Water Snapper':'hydro',
'Saltwater Axolotl':'hydro',
'Samurai':'tactical',
'Sand Cavalry':'tactical',
'Sand Colossus':'shadow',
'Sand Dollar Diver':'hydro',
'Sand Dollar Queen':'hydro',
'Sand Pilgrim':'shadow',
'Sand Sifter':'hydro',
'Sandmouse':'event',
'Sandwing Cavalry':'tactical',
'Sanguinarian':'forgotten',
'Sarcophamouse':'shadow',
'Scarab':'shadow',
'Scarecrow':'shadow',
'Scarlet Revenger':'normal',
'Scavenger':'arcane',
'School of Mish':'hydro',
'Scorned Pirate':'event',
'Scout':'hydro',
'Scrap Metal Monster':'hydro',
'Scribe':'physical',
'Scrooge':'event',
'Scruffy':'normal',
'Seadragon':'hydro',
'Seasoned Islandographer':'tactical',
'Seer':'physical',
'Sentient Slime':'rift',
'Sentinel':'physical',
'Serpent Monster':'hydro',
'Serpentine':'shadow',
'Shackled Servant':'rift',
'Shade of the Eclipse':'rift',
'Shadow Sage':'shadow',
'Shadow Stalker':'forgotten',
'Shaman':'tactical',
'Shaolin Kung Fu':'rift',
'Shard Centurion':'rift',
'Sharpshooter':'law',
'Shattered Carmine':'hydro',
'Shattered Obsidian':'forgotten',
'Shelder':'hydro',
'Shinobi':'rift',
'Shipwrecked':'hydro',
'Shopkeeper':'law',
'Shortcut':'event',
'Shorts-All-Year':'event',
'Shroom':'hydro',
'Silth':'hydro',
'Silvertail':'normal',
'Sinister Egg Painter':'event',
'Sinister Squid':'hydro',
'Sir Fleekio':'forgotten',
'Siren':'hydro',
'Sizzle Pup':'draconic',
'Skeletal Champion':'rift',
'Skeleton':'arcane',
'Sky Dancer':'arcane',
'Sky Glass Glazier':'arcane',
'Sky Glass Sorcerer':'arcane',
'Sky Glider':'arcane',
'Sky Greaser':'normal',
'Sky Highborne':'arcane',
'Sky Squire':'physical',
'Sky Surfer':'hydro',
'Sky Swordsman':'physical',
'Skydiver':'normal',
'Slay Ride':'event',
'Slayer':'tactical',
'Sleepwalker':'event',
'Sleepy Merchant':'law',
'Slimefist':'hydro',
'Slope Swimmer':'normal',
'Sludge':'hydro',
'Sludge Scientist':'normal',
'Sludge Soaker':'hydro',
'Sludge Swimmer':'hydro',
'Smoldersnap':'draconic',
'Snake Charmer':'normal',
'Snooty':'event',
'Snow Boulder':'event',
'Snow Bowler':'hydro',
'Snow Fort':'event',
'Snow Golem Architect':'event',
'Snow Golem Jockey':'event',
'Snow Scavenger':'event',
'Snow Slinger':'hydro',
'Snow Sniper':'hydro',
'Snow Soldier':'hydro',
'Snow Sorceress':'event',
'Snowball Hoarder':'event',
'Snowblind':'hydro',
'Snowblower':'event',
'Snowflake':'event',
'Snowglobe':'event',
'Sock Puppet Ghost':'normal',
'Soldier of the Shade':'rift',
'Solemn Soldier':'forgotten',
'Soothsayer':'hydro',
'Sorcerer':'arcane',
'Soul Binder':'forgotten',
'Space Party-Time Plumber':'event',
'Spear Fisher':'hydro',
'Spectral Butler':'event',
'Spectral Swashbuckler':'event',
'Spectre':'arcane',
'Speedy':'normal',
'Spellbinder':'physical',
'Spheric Diviner':'forgotten',
'Spice Farmer':'arcane',
'Spice Finder':'arcane',
'Spice Merchant':'normal',
'Spice Raider':'arcane',
'Spice Reaper':'arcane',
'Spice Seer':'arcane',
'Spice Sovereign':'arcane',
'Spider':'arcane',
'Spiked Burrower':'normal',
'Spiky Devil':'shadow',
'Spirit Fox':'rift',
'Spirit Light':'event',
'Spirit of Balance':'rift',
'Spiritual Steel':'rift',
'Splintered Stone Sentry':'forgotten',
'Spore':'hydro',
'Spore Muncher':'normal',
'Spore Salesman':'normal',
'Sporeticus':'normal',
'Sporty Ski Instructor':'event',
'Spotted':'normal',
'Spring Familiar':'physical',
'Spring Sprig':'event',
'Sprinkly Sweet Cupcake Cook':'event',
'Spry Sky Explorer':'forgotten',
'Spry Sky Seer':'forgotten',
'Spud':'normal',
'Squeaken':'hydro',
'Squeaker Bot':'normal',
'Squeaker Claws':'event',
'Stack of Thieves':'law',
'Stagecoach Driver':'law',
'Stalagmite':'forgotten',
'Stealth':'physical',
'Steam Grip':'physical',
'Steam Sailor':'draconic',
'Steel':'normal',
'Steel Horse Rider':'law',
'Stickybomber':'hydro',
'Stinger':'tactical',
'Stingray':'hydro',
'Stocking':'event',
'Stone Cutter':'normal',
'Stone Maiden':'forgotten',
'Stonework Warrior':'shadow',
'Stormsurge the Vile Tempest':'draconic',
'Stoutgear':'law',
'Stowaway':'law',
'Stratocaster':'shadow',
'Strawberry Hotcakes':'hydro',
'Stuck Snowball':'event',
'Student of the Cheese Belt':'tactical',
'Student of the Cheese Claw':'tactical',
'Student of the Cheese Fang':'tactical',
'Student of the Chi Belt':'rift',
'Student of the Chi Claw':'rift',
'Student of the Chi Fang':'rift',
'Stuffy Banker':'law',
'Suave Pirate':'normal',
'Subterranean':'normal',
'Sugar Rush':'event',
'Summer Mage':'tactical',
'Summoning Scholar':'forgotten',
'Sunken Banshee':'hydro',
'Sunken Citizen':'hydro',
'Super FighterBot MegaSupreme':'event',
'Super Mega Mecha Ultra RoboGold':'rift',
'Supernatural':'rift',
'Supply Hoarder':'law',
'Supreme Sensei':'rift',
'Surgeon Bot':'rift',
'Swabbie':'hydro',
'Swamp Runner':'hydro',
'Swamp Thang':'event',
'Swarm of Pygmy Mice':'shadow',
'Swashblade':'hydro',
'Sylvan':'tactical',
'Tackle Tracker':'hydro',
'Tadpole':'hydro',
'Taleweaver':'hydro',
'Tanglefoot':'physical',
'Tech Golem':'forgotten',
'Tech Ravenous Zombie':'rift',
'Technic Bishop':'tactical',
'Technic King':'tactical',
'Technic Knight':'tactical',
'Technic Pawn':'tactical',
'Technic Queen':'tactical',
'Technic Rook':'tactical',
'Teenage Vampire':'event',
'Telekinetic Mutant':'hydro',
'Tentacle':'hydro',
'Terra':'shadow',
'Terrible Twos':'event',
'Terrified Adventurer':'rift',
'Terror Knight':'arcane',
'The Menace':'hydro',
'The Total Eclipse':'rift',
'Theurgy Warden':'physical',
'Thirsty':'hydro',
'Thistle':'hydro',
'Thorn':'hydro',
'Thunder Strike':'draconic',
'Thundering Watcher':'draconic',
'⚡Thunderlord⚡':'draconic',
'Tidal Fisher':'shadow',
'Tiger':'tactical',
'Time Punk':'event',
'Time Tailor':'event',
'Time Thief':'event',
'Timeless Lich':'rift',
'Timelost Thaumaturge':'rift',
'Timeslither Pythoness':'rift',
'Timid Explorer':'rift',
'Tiny':'normal',
'Tiny Dragonfly':'draconic',
'Tiny Saboteur':'law',
'Tiny Toppler':'shadow',
'Titanic Brain-Taker':'event',
'Toboggan Technician':'event',
'Tomb Exhumer':'event',
'Tome Sprite':'tactical',
'Tonic Salesman':'law',
'Totally Not Tax Fraud':'normal',
'Toxic Avenger':'rift',
'Toxic Warrior':'hydro',
'Toxikinetic':'rift',
'Toy':'event',
'Toy Sylvan':'normal',
'Toy Tinkerer':'event',
'Trailblazer':'physical',
'Train Conductor':'law',
'Train Engineer':'law',
'Trampoline':'normal',
'Travelling Barber':'law',
'Treant':'tactical',
'Treant Queen':'rift',
'Treasure Brawler':'forgotten',
'Treasure Hoarder':'hydro',
'Treasure Keeper':'hydro',
'Treasurer':'event',
'Treat':'event',
'Tree Troll':'rift',
'Tri-dra':'rift',
'Trick':'event',
'Tricky Witch':'event',
'Triple Lutz':'event',
'Tritus':'hydro',
'Troll':'shadow',
'Tumbleweed':'law',
'Tundra Huntress':'event',
'Turret Guard':'hydro',
'Twisted Carmine':'hydro',
'Twisted Fiend':'shadow',
'Twisted Hotcakes':'hydro',
'Twisted Lilly':'hydro',
'Twisted Treant':'rift',
'Undertaker':'law',
'Unwavering Adventurer':'rift',
'Upper Class Lady':'law',
'Urchin King':'hydro',
'Vampire':'shadow',
'Vanguard':'physical',
'Vanquisher':'hydro',
'Vaporior':'draconic',
'Vicious Vampire Squid':'hydro',
'Vigilant Ward':'rift',
'Vincent the Magnificent':'event',
'Vinetail':'physical',
'Violet Stormchild':'draconic',
'Walker':'tactical',
'Wandering Monk':'rift',
'Warden of Fog':'normal',
'Warden of Frost':'normal',
'Warden of Rain':'normal',
'Warden of Wind':'normal',
'Warehouse Manager':'law',
'Warming Wyvern':'draconic',
'Warmonger':'physical',
'Water Nymph':'hydro',
'Water Sprite':'rift',
'Water Wielder':'hydro',
'Wave Racer':'normal',
'Wealth':'rift',
'Wealthy Werewarrior':'shadow',
'Werehauler':'shadow',
'Wereminer':'shadow',
'Whelpling':'draconic',
'Whirleygig':'shadow',
'White':'normal',
'White Mage':'arcane',
'Wicked Witch of Whisker Woods':'tactical',
'Wiggler':'tactical',
'Wight':'arcane',
'Wild Chainsaw':'event',
'Wily Weevil':'tactical',
'Wind Warrior':'arcane',
'Wind Watcher':'arcane',
'Windy Farmer':'normal',
'Winged Harpy':'rift',
'Winter Games':'normal',
'Winter Mage':'hydro',
'Withered Remains':'rift',
'Wolfskie':'hydro',
'Wordsmith':'physical',
'Worker':'tactical',
'Worried Wayfinder':'tactical',
'Wound Up White':'normal',
'Wreath Thief':'event',
'Yeti':'hydro',
'Young Prodigy Racer':'event',
'Zealous Academic':'shadow',
'Zephyr':'shadow',
'Zombie':'shadow',
'Zombot Unipire':'event',
'Zombot Unipire the Third':'rift',
'Zurreal the Eternal':'tactical',
'Budrich Thornborn':'physical',
'Leafton Beanwell':'physical',
'Vinneus Stalkhome':'physical',
'Peaceful Prisoner':'physical',
'Diminutive Detainee':'physical',
'Smug Smuggler':'physical',
'Cell Sweeper':'physical',
'Jovial Jailor':'physical',
'Lethargic Guard':'physical',
'Gate Keeper':'physical',
'Key Master':'physical',
'Wrathful Warden':'physical',
'Dungeon Master':'physical',
'Whimsical Waltzer':'physical',
'Sassy Salsa Dancer':'physical',
'Baroque Dancer':'physical',
'Violent Violinist':'physical',
'Obstinate Oboist':'physical',
'Peevish Piccoloist':'physical',
'Sultry Saxophonist':'physical',
'Chafed Cellist':'physical',
'Treacherous Tubaist':'physical',
'Malevolent Maestro':'physical',
'Clumsy Cupbearer':'physical',
'Plotting Page':'physical',
'Scheming Squire':'physical',
'Vindictive Viscount':'physical',
'Baroness Von Bean':'physical',
'Cagey Countess':'physical',
'Dastardly Duchess':'physical',
'Malicious Marquis':'physical',
'Pernicious Prince':'physical',
'Mythical Giant King':'physical',
'Herbaceous Bravestalk':'physical',
};
if(miceMap[mouseName] == undefined){console.log('Mouse not found',mouseName,miceMap[mouseName])}
return miceMap[mouseName];
}
function hidePowerCrowns() {
if ($('.mouseCrownsView-group-header.powerCrown').length > 0) {
$('.mouseCrownsView-group-header.powerCrown').remove();
$('.mouseCrownsView-group:not(.favorite)').find('.pt').remove();
}
}
/********** Copy Crowns **********/
function copyMyCrowns() {
const debug = localStorage.getItem('ws.debug');
hg.utils.MouseUtil.getHuntingStats(function(data) {
let statArray = [];
data.forEach(function(arrayItem, index) {
const mouseName = correctMouseName(arrayItem.name);
const catches = arrayItem.num_catches;
const misses = arrayItem.num_misses;
statArray[index] = [mouseName, catches, misses];
})
if (debug == true) {
console.log('My Mice Array',statArray);
};
let finalTable = statArray.map(e => e.join(",")).join("\n");
GM_setClipboard(finalTable);
const copyCrownsButton = $("#copyCrownsButton")
copyCrownsButton.css({
'border-style': 'solid',
'border-color': '#f44336',
'border-width': '2px',
});
setTimeout(function() {
copyCrownsButton.css({
'border-style': 'solid',
'border-color': 'grey',
'border-width': '1px',
});
}, 1000);
})
}
function copyCrowns() {
const debug = localStorage.getItem('ws.debug');
const allMice = $(".mouseCrownsView-group.none,.mouseCrownsView-group.bronze,.mouseCrownsView-group.silver,.mouseCrownsView-group.gold,.mouseCrownsView-group.platinum,.mouseCrownsView-group.diamond").find(".mouseCrownsView-group-mouse");
let miceArray = [];
allMice.each(function(i) {
let $mouse = correctMouseName($(this).find('.mouseCrownsView-group-mouse-name').text());
let $count = parseInt($(this).find('.mouseCrownsView-group-mouse-catches').text().replace(',', ""), 10);
miceArray[i] = [$mouse, $count];
})
// need to sort uncrowned by # instead of Alpha
if (debug == true) {
console.log('Their Mice Array',miceArray);
};
let finalTable = miceArray.map(e => e.join(",")).join("\n");
GM_setClipboard(finalTable);
const copyCrownsButton = $("#copyCrownsButton")
copyCrownsButton.css({
'border-style': 'solid',
'border-color': 'grey',
'border-width': '1px',
});
setTimeout(function() {
copyCrownsButton.css({
'border-style': 'solid',
'border-color': 'grey',
'border-width': '1px',
});
}, 1000);
}
function correctMouseName(mouseName) {
mouseName = mouseName.replace(" Mouse", "");
let newMouseName = "";
if (mouseName == "Ful'Mina, The Mountain Queen") {
newMouseName = "Ful'mina the Mountain Queen";
} else if (mouseName == "Inferna, The Engulfed") {
newMouseName = "Inferna the Engulfed";
} else if (mouseName == "Nachous, The Molten") {
newMouseName = "Nachous the Molten";
} else if (mouseName == "Stormsurge, the Vile Tempest") {
newMouseName = "Stormsurge the Vile Tempest";
} else if (mouseName == "Bruticus, the Blazing") {
newMouseName = "Bruticus the Blazing";
} else if (mouseName == "Vincent, The Magnificent") {
newMouseName = "Vincent The Magnificent";
} else if (mouseName == "Corky, the Collector") {
newMouseName = "Corky the Collector";
} else if (mouseName == "Ol' King Coal") {
newMouseName = "Ol King Coal";
} else if (mouseName == "Dread Piratert") {
newMouseName = "Dread Pirate Mousert";
} else {
newMouseName = mouseName;
}
return newMouseName;
}
function decorate() {
let collapseProps = JSON.parse(localStorage.getItem('ws.mh.pfp.collapseProps'));
if (collapseProps) {
} else {
collapseProps = {'none':'E','bronze':'E','silver':'E','gold':'E','platinum':'E','diamond':'E','favourite':'E'};
localStorage.setItem('ws.mh.pfp.collapseProps',JSON.stringify(collapseProps))
}
let uncrowned = $('.mouseCrownsView-group.none').find('.mouseCrownsView-crown.none');
$(uncrowned).css({
'background-image': "url('https://cdn-icons-png.flaticon.com/512/3281/3281316.png')",
'background-repeat': 'no-repeat',
'background-size': 'contain'
});
let favorites = $('.mouseCrownsView-group-mouse');
$(favorites).each(function(i) {
const image = $(this).find('.mouseCrownsView-group-mouse-image');
const catches = parseInt($(this).find('.mouseCrownsView-group-mouse-catches').text().replace(",", ""),10);
setCrownBorder(image,catches);
if(localStorage.getItem("ShowPowerCrowns") == "Y") {
populatePowerCrowns(this);
}
});
$(".mouseCrownsView-group").each(function( index ) {
const thisCrown = $(this).attr('class').replace('mouseCrownsView-group ',"");
const isHeaderExpanded = collapseProps[thisCrown];
if (isHeaderExpanded == 'E') {
$(this).find('.mouseCrownsView-group-mice').removeClass("hidden");
} else {
$(this).find('.mouseCrownsView-group-mice').addClass("hidden");
}
const header = $(this).find('.mouseCrownsView-group-header');
let catches = header.find('.mouseCrownsView-group-header-subtitle').text();
catches = parseInt(catches.replace('Earned at ',"").replace(' catches',"").replace(',',""),10);
setCrownBorder(header,catches,isHeaderExpanded)
});
}
$(document).on('click', '.mouseCrownsView-group-header:not(.community):not(.powerCrown)', function(e) {
showHideCrowns($(this).parent());
})
function showHideCrowns(thisGroup) {
let collapseProps = JSON.parse(localStorage.getItem('ws.mh.pfp.collapseProps'));
const thisCrown = $(thisGroup).attr('class').replace('mouseCrownsView-group ',"");
const theseMice = $(thisGroup).find(".mouseCrownsView-group-mice");
if (theseMice.hasClass("hidden")) {
collapseProps[thisCrown] = "E";
} else {
collapseProps[thisCrown] = "C";
}
theseMice.toggle();
localStorage.setItem('ws.mh.pfp.collapseProps',JSON.stringify(collapseProps));
decorate();
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ITEMS TAB
//
//
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function manageCollected() {
let itemContainer = $('.hunterProfileItemsView-content-padding');
//Hide LE Layout
if ($('.hideLeContainer').length == 0) {
let hideLeContainer = document.createElement("div");
hideLeContainer.classList.add("hideLeContainer");
let hideLeCb = document.createElement("input");
hideLeCb.type = "checkbox";
hideLeCb.name = "hideLeCb";
hideLeCb.value = "";
hideLeCb.id = "hideLeCb";
hideLeCb.checked = "";
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeCb.checked = "Yes";
} else {
hideLeCb.checked = "";
}
let hideLeLabel = document.createElement("label");
hideLeLabel.htmlFor = "hideLeLabel";
hideLeLabel.appendChild(document.createTextNode("Hide LE Items"));
hideLeContainer.append(hideLeCb);
hideLeContainer.append(hideLeLabel);
$(itemContainer).prepend(hideLeContainer);
$(hideLeContainer).css({
'width': '100%',
});
$(hideLeLabel).css({
'fontSize': "14px",
'width': '80%',
});
$(hideLeCb).css({
'width': '5%'
});
}
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
}
let allTypes = $('.hunterProfileItemsView-categoryContent');
let allItems = $(allTypes).children();
allItems.click(function() {
hg.views.ItemView.show($(this).attr('data-type'))
});
}
function hideLeItems() {
let allTypes = $('.hunterProfileItemsView-categoryContent.active');
let allCollected = $(allTypes).find('.hunterProfileItemsView-categoryContent-item.collected').not('.limited_edition');
let allUncollected = $(allTypes).find('.hunterProfileItemsView-categoryContent-item.uncollected');
let collectedLe = $(allTypes).find('.hunterProfileItemsView-categoryContent-item.collected.limited_edition');
let activeTab = $('.hunterProfileItemsView-filter').filter('.active');
if ($(activeTab).hasClass('collected')) {
$(allCollected).show();
$(allUncollected).hide();
$(collectedLe).hide();
} else if ($(activeTab).hasClass('uncollected')) {
$(allCollected).hide();
$(allUncollected).show();
$(collectedLe).hide();
} else if ($(activeTab).hasClass('limited_edition')) {
$(allCollected).hide();
$(allUncollected).hide();
$(collectedLe).show();
} else if ($(activeTab).hasClass('all')) {
$(allCollected).show();
$(allUncollected).show();
$(collectedLe).hide();
}
}
function showLeItems() {
let allTypes = $('.hunterProfileItemsView-categoryContent.active');
let allCollected = $(allTypes).find('.hunterProfileItemsView-categoryContent-item.collected').not('.limited_edition');
let allUncollected = $(allTypes).find('.hunterProfileItemsView-categoryContent-item.uncollected');
let collectedLe = $(allTypes).find('.hunterProfileItemsView-categoryContent-item.collected.limited_edition');
let activeTab = $('.hunterProfileItemsView-filter').filter('.active');
if ($(activeTab).hasClass('collected')) {
$(allCollected).show();
$(allUncollected).hide();
$(collectedLe).show();
} else if ($(activeTab).hasClass('uncollected')) {
$(allCollected).hide();
$(allUncollected).show();
$(collectedLe).hide();
} else if ($(activeTab).hasClass('limited_edition')) {
$(allCollected).hide();
$(allUncollected).hide();
$(collectedLe).show();
} else if ($(activeTab).hasClass('all')) {
$(allCollected).show();
$(allUncollected).show();
$(collectedLe).show();
}
}
//Weapons Tab
$(document).on('click', "[data-category='weapon']", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Bases Tab
$(document).on('click', "[data-category='base']", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Maps Tab
$(document).on('click', "[data-category='map_piece']", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Collectible Tab
$(document).on('click', "[data-category='collectible']", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Skin Tab
$(document).on('click', "[data-category='skin']", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Collected tab
$(document).on('click', ".hunterProfileItemsView-filter.collected", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Uncollected tab
$(document).on('click', ".hunterProfileItemsView-filter.uncollected", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//Limited Edition Tab
$(document).on('click', ".hunterProfileItemsView-filter.limited_edition", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
//All Tab
$(document).on('click', ".hunterProfileItemsView-filter.all", function() {
if (localStorage.getItem("hideLeItems") == "Y") {
hideLeItems()
} else {
showLeItems();
}
});
/********** Layout Opt-In **********/
$(document).on("change", "#hideLeCb", function() {
// Check to see if the cb was JUST checked
if (this.checked) {
// Put the checked value into storage
localStorage.setItem("hideLeItems", "Y");
this.checked = "Yes";
manageCollected();
} else {
// Put the checked value into storage
localStorage.setItem("hideLeItems", "N");
this.checked = "";
showLeItems();
}
});