Greasy Fork

Greasy Fork is available in English.

MouseHunt - Geyser Map Helper

Colour codes the mice on the Geyser Map according to hunt area

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         MouseHunt - Geyser Map Helper
// @author       Minka
// @namespace    https://http://greasyfork.icu/en/users/354176-rj-min
// @version      1.0
// @description  Colour codes the mice on the Geyser Map according to hunt area
// @include      http://code.jquery.com/jquery-1.7.2.min.js
// @include      http://www.mousehuntgame.com/*
// @include      https://www.mousehuntgame.com/*
// ==/UserScript==

function displayHeader() {

    var miceTab = $(".treasureMapPopup-tabHeader").eq(0);

    if (miceTab.hasClass("active")) { //display header if user looking at mice list
        $(".treasureMapPopup-leftBlock-content-default.qgMapHeader").css("display", "inline-flex");
    } else { //hide header
        $(".treasureMapPopup-leftBlock-content-default.qgMapHeader").css("display", "none");
    }

}

function highlightMice() {

    if ($("#highlightMice").is(":checked")) {
        window.localStorage.setItem('highlightPref', 'uncaught-only');
        for (var i = 0; i < 20; i++) {
            var mouseObj = $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex").eq(i);
            if (mouseObj.hasClass("complete")) {
                $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "");
            }
        }
    } else {
        window.localStorage.setItem('highlightPref', 'all');
        colorize();
    }

}

function colorize() {

    var qRiver = [
		"Sleepy Merchant",
        "Tiny Saboteur",
        "Pump Raider",
        "Croquet Crusher",
        "Queso Extractor",
        "Queen Quesada"
    ];


    var pPlains = [
        "Spice Seer",
        "Old Spice Collector",
        "Spice Farmer",
        "Granny Spice",
        "Spice Sovereign",
        "Spice Finder",
        "Spice Raider",
        "Spice Reaper",
        "Inferna, The Engulfed"
    ];

    var cQuarry = [
        "Chip Chiseler",
        "Tiny Toppler",
        "Ore Chipper",
        "Rubble Rummager",
        "Nachore Golem",
        "Rubble Rouser",
        "Grampa Golem",
        "Fiery Crusher",
        "Nachous, The Molten"
    ];

    var qGeyserCork = [
        "Fuzzy Drake",
        "Cork Defender",
        "Burly Bruiser",
        "Corky, the Collector",
        "Horned Cork Hoarder",
        "Rambunctious Rain Rumbler",
        "Corkataur"
    ];

    var qGeyserPressure = [
        "Steam Sailor",
        "Warming Wyvern",
        "Vaporior",
        "Pyrehyde",
        "Emberstone Scaled"
    ];

    var qGeyserHunter = [
        "Mild Spicekin",
        "Sizzle Pup",
        "Smoldersnap",
        "Bearded Elder",
        "Ignatia",
        "Cinderstorm",
        "Bruticus, the Blazing",
        "Stormsurge, the Vile Tempest",
        "Kalor'ignis of the Geyser"
    ];

    var QGMaps = [
        "Queso Geyser Treasure Map",
        "Rare Queso Geyser Treasure Map",
        "Queso Canyon Grand Tour Treasure Chest",
        "Rare Queso Canyon Grand Tour Treasure Chest"
    ];

    var mapName = $(".treasureMapPopup-header-title.mapName").text(); //only show QG headers if it's a QG map.
    if (QGMaps.indexOf(mapName) < 0) { //exit function if ajax call is not displaying a QG map
        return;
    }

    var riverCount = 0;
    var plainsCount = 0;
    var quarryCount = 0;
    var gcorkCount = 0;
    var gpressureCount = 0;
    var ghunterCount = 0;

    for (var i = 0; i < 20; i++) {

        var mouseObj = $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex").eq(i);
        var mouseName = mouseObj.data("search-term");

        if (qRiver.indexOf(mouseName) > -1) {
            $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "#35b9a6");
            if (!mouseObj.hasClass("complete")) {
                riverCount++;
            }
        } else if (pPlains.indexOf(mouseName) > -1) {
            $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "#df8bb9");
            if (!mouseObj.hasClass("complete")) {
                plainsCount++;
            }
        } else if (cQuarry.indexOf(mouseName) > -1) {
            $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "#a88663");
            if (!mouseObj.hasClass("complete")) {
                quarryCount++;
            }
        } else if (qGeyserCork.indexOf(mouseName) > -1) {
            $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "#a3c1d6");
            if (!mouseObj.hasClass("complete")) {
                gcorkCount++;
            }
        } else if (qGeyserPressure.indexOf(mouseName) > -1) {
            $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "#c3a253");
            if (!mouseObj.hasClass("complete")) {
                gpressureCount++;
            }
        } else if (qGeyserHunter.indexOf(mouseName) > -1) {
            $(".treasureMapPopup-goals-group-goal.treasureMapPopup-searchIndex > div > div > span").eq(i).css("background-color", "#c35b53");
            if (!mouseObj.hasClass("complete")) {
                ghunterCount++;
            }
        } 

    }

    var riverColor = riverCount > 0 ? "#35b9a6" : "#949494";
    var plainsColor = plainsCount > 0 ? "#df8bb9" : "#949494";
    var quarryColor = quarryCount > 0 ? "#a88663" : "#949494";
    var gcorkColor = gcorkCount > 0 ? "#a3c1d6" : "#949494";
    var gpressureColor = gpressureCount > 0 ? "#c3a253" : "#949494";
    var ghunterColor = ghunterCount > 0 ? "#c35b53" : "#949494";

    if ($(".treasureMapPopup-leftBlock-content-default.qgMapHeader").size() == 0) { //only add header if it does not exist

        var isChecked = "";
        try { //get stored checked preference
            if (window.localStorage.getItem('highlightPref') === "uncaught-only") {
                isChecked = "checked";
            }
        } catch (e) {
            console.log('Browser does not support localStorage.');
        }

        var htmlString = "<div class='treasureMapPopup-leftBlock-content-default qgMapHeader' style='display: inline-flex;margin-bottom: 10px;width: 100%;text-align: center;line-height: 1.5;overflow: hidden'>" +
            "<span class='treasureMapPopup-goals-group-goal-name' style='background-color: " + riverColor + ";width: 20%;font-weight: bold;font-size: 13.5px;'>River<br>" + riverCount + "</span>" +
            "<span class='treasureMapPopup-goals-group-goal-name' style='background-color: " + plainsColor + ";width: 20%;font-weight: bold;font-size: 13.5px;'>Plains<br>" + plainsCount + "</span>" +
            "<span class='treasureMapPopup-goals-group-goal-name' style='background-color: " + quarryColor + ";width: 20%;font-weight: bold;font-size: 13.5px;'>Quarry<br>" + quarryCount + "</span>" +
            "<span class='treasureMapPopup-goals-group-goal-name' style='background-color: " + gcorkColor + ";width: 20%;font-weight: bold;font-size: 13.5px;'>Cork<br>" + gcorkCount + "</span>" +
            "<span class='treasureMapPopup-goals-group-goal-name' style='background-color: " + gpressureColor + ";width: 20%;font-weight: bold;font-size: 13.5px;'>Pressure<br>" + gpressureCount + "</span>" +
            "<span class='treasureMapPopup-goals-group-goal-name' style='background-color: " + ghunterColor + ";width: 20%;font-weight: bold;font-size: 13.5px;'>Hunters<br>" + ghunterCount + "</span>" +
            "</div><span style='vertical-align: middle;float: right'><input id='highlightMice' type='checkbox' style='vertical-align: middle; '" + isChecked + ">Highlight uncaught mice only.</span>";
        $("[data-tab='map_mice'] .treasureMapPopup-leftBlock-content").prepend(htmlString);
        highlightMice();
    }

    $("#highlightMice").change(highlightMice);
    $(".treasureMapPopup-tabHeaderContainer").on("click", displayHeader);

}

$(document).ajaxSuccess(colorize);