您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Rearrange mice in the map
当前为
- // ==UserScript==
- // @name MH Maps Tweaker
- // @description Rearrange mice in the map
- // @author Dusan Djordjevic
- // @include http://www.mousehuntgame.com/*
- // @include https://www.mousehuntgame.com/*
- // @include http://apps.facebook.com/mousehunt/*
- // @include https://apps.facebook.com/mousehunt/*
- // @version 1.20 - Revamped maps - new UI
- // @history 1.10 - No need to update script when new mice are out
- // @history 1.00 - Initial release
- // @namespace MH Tweaks
- // ==/UserScript==
- VERSION = 1.20;
- getLocations();
- var LOCATIONS = {
- "Meadow": ["Field", "Flying", "Spotted", "Tiny"],
- "Town of Gnawnia": ["Brown", "Cowardly", "Dwarf", "Grey", "Master Burglar", "Nibbler", "White"],
- "Windmill": ["Spud"],
- "Harbour": ["Magic", "Pirate"],
- "Mountain": ["Black Widow", "Diamond", "Gold", "Silvertail"],
- "Slushy Shoreline": ["Living Ice", "Snow Soldier"],
- "Slushy Shoreline + Softserve charm": ["Yeti", "Icebreaker"],
- "King\'s Arms": [],
- "Tournament Hall": ["Lightning Rod"],
- "King\'s Gauntlet": [],
- "Calm Clearing": ["Bear", "Frog", "Moosker"],
- "Great Gnarled Tree": [],
- "Lagoon": ["Centaur", "Elven Princess", "Hydra", "Nomad", "Tiger"],
- "Claw Shot City": [],
- "Laboratory": ["Monster", "Steel"],
- "Town of Digby": ["Bionic", "Granite", "Zombie"],
- "Mousoleum": ["Bat", "Mummy", "Ravenous Zombie"],
- "Bazaar": ["Burglar"],
- "Training Grounds": ["Monk", "Ninja", "Worker"],
- "Dojo": ["Assassin", "Student of the Cheese Belt", "Student of the Cheese Claw", "Student of the Cheese Fang"],
- "Meditation Room": ["Hapless", "Master of the Cheese Belt", "Master of the Cheese Claw", "Master of the Cheese Fang"],
- "Pinnacle Chamber": ["Dojo Sensei", "Master of the Dojo"],
- "Catacombs": ["Giant Snail", "Keeper", "Ooze", "Scavenger", "Terror Knight"],
- "Forbidden Grove": ["Lycan", "Mutated Grey", "Mutated White", "Realm Ripper", "Vampire"],
- "Acolyte Realm": ["Acolyte", "Lich", "Spectre"],
- "S.S. Huntington III": ["Briegull", "Siren", "Swabbie", "Mermouse"],
- "Seasonal Garden": ["Harvest Harrier", "Icicle", "Puddlemancer", "Stinger"],
- "Zugzwang\'s Tower": ["Chess Master", "Mystic Bishop", "Mystic King", "Mystic Rook", "Technic Bishop", "Technic King", "Technic Rook"],
- "Crystal Library": ["Aether", "Effervescent", "Flutterby", "Infiltrator", "Pocketwatch", "Walker"],
- "Iceberg": ["Chipper", "General Drheller", "Iceblade", "Lady Coldsnap", "Living Salt", "Lord Splodington", "Polar Bear", "Princess Fist", "Snow Slinger", "Stickybomber"],
- "Iceberg - Hidden Depts": ["Frostwing Commander", "Frostlance Guard"],
- "Iceberg - Bombing Run": ["Heavy Blaster"],
- "Cape Clawed": ["Aged"],
- "Cape Clawed + Shell": ["Scout"],
- "Elub Shore": ["Mystic", "Pinchy", "Soothsayer"],
- "Elub Shore + Shell": ["Champion", "Protector", "Elub Chieftain"],
- "Nerg Plains": ["Chameleon", "Conjurer", "Conqueror", "Nerg Chieftain", "Finder", "Beast Tamer", "Alnilam"],
- "Derr Dunes": ["Derr Chieftain", "Mintaka", "Seer"],
- "Jungle of Dread": ["Chitinous", "Fetid Swamp", "Jurassic", "Magma Carrier", "Primal", "Pygmy Wrangler", "Stonework Warrior", "Swarm of Pygmy Mice", "Sylvan"],
- "Dracano": ["Draconic Warden", "Whelpling"],
- "Balack\'s Cove": ["Balack the Banished", "Brimstone", "Derr Lich", "Elub Lich", "Nerg Lich", "Riptide", "Twisted Fiend"],
- "Fiery Warpath": ["Magmarage", "Sand Cavalry", "Flame Ordnance", "Crimson Commander", "Caravan Guard"],
- "Fiery Warpath (Wave 3)": ["Crimson Titan"],
- "Muridae Market": ["Blacksmith", "Desert Architect", "Falling Carpet", "Mage Weaver", "Pie Thief", "Snake Charmer", "Spice Merchant", "Market Thief"],
- "Living Garden": ["Thirsty", "Thistle", "Strawberry Hotcakes", "Bark", "Calalilly", "Shroom", "Camoflower", "Carmine the Apothecary"],
- "Lost City": ["Cursed", "Essence Collector", "Ethereal Enchanter", "Ethereal Engineer", "Ethereal Librarian", "Ethereal Thief"],
- "Sand Dunes": ["Dunehopper", "Grubling", "Grubling Herder", "Quesodillo", "Sand Pilgrim", "Spiky Devil"],
- "Twisted Garden": ["Dehydrated", "Thorn", "Twisted Hotcakes", "Barkshell", "Twisted Lilly", "Fungal Spore", "Camofusion", "Twisted Carmine"],
- "Cursed City": ["Essence Guardian", "Cursed Enchanter", "Corrupt", "Cursed Engineer", "Cursed Thief", "Cursed Librarian"],
- "Sand Crypts": ["Sarcophamouse", "Sand Colossus", "Serpentine", "Scarab", "King Grub"],
- "Festive Snow Fort": ["Snowflake", "Nutcracker", "Candy Cane", "Snow Scavenger", "Snowglobe", "Ridiculous Sweater", "Triple Lutz", "Destructoy", "Snowblower", "Elf", "Missile Toe", "Wreath Thief", "Snow Fort", "Stocking"],
- "Gnawnian Express Station": ["Farrier", "Cute Crate Carrier", "Parlour Player", "Stoutgear", "Travelling Barber", "Crate Camo"],
- "Gnawnia Rift": [""],
- "Burroughs Rift": ["Lycanoid", "Portable Generator", "Assassin Beast"],
- "Whisker Woods Rift": ["Grizzled Silth", "Gilded Leaf", "Cherry Sprite", "Tree Troll"],
- "Whisker Woods Rift - Yellow": ["Lambent"],
- "Whisker Woods Rift - Red + Polluted parmesan": ["The Menace of the Rift"],
- "Fungal Cavern": ["Crystalline Slasher", "Splintered Stone Sentry", "Bitter Root", "Spore Muncher", "Crystal Queen", "Crystalback", "Dirt Thing"],
- "Sunken City - Carnivore Cove": ["Carnivore"],
- "Sunken City - Pearl Patch": ["Pearl Diver"]
- };
- var miceRows = {},
- miceMap = [],
- miceOrdered = '',
- remainingMice = '',
- locationsLoaded = false;
- var mapButton = document.getElementsByClassName('treasureMap')[0];
- mapButton.addEventListener('click', doMap, false);
- function doMap() {
- var loaded = (document.getElementsByClassName('treasureMapPopup-mice-group-header').length == 0) ? false : true;
- if(loaded && locationsLoaded) {
- prepareMice();
- rearrangeMice();
- } else {
- setTimeout(doMap, 1000);
- }
- }
- function prepareMice() {
- var miceContainer = document.getElementsByClassName('treasureMapPopup-miceBlockRow')[0],
- mice = miceContainer.getElementsByClassName('mice')[0],
- miceContent = mice.getElementsByClassName('treasureMapPopup-leftBlock-content')[0],
- miceContentDefault = miceContent.getElementsByClassName('treasureMapPopup-leftBlock-content-default')[0],
- uncaughtmice = miceContentDefault.getElementsByClassName('uncaughtmice')[0],
- miceGroupContainer = uncaughtmice.getElementsByClassName('treasureMapPopup-mice-group-miceContainer')[0],
- miceMapUncaugth = miceGroupContainer.getElementsByClassName('treasureMapPopup-mice-group-mouse');
- miceRows = {};
- miceMap = [];
- for(var i=0; i<miceMapUncaugth.length; i++) {
- var mouseUncaughtElement = miceMapUncaugth[i],
- mouseName = mouseUncaughtElement.getAttribute("data-name");
- miceRows[mouseName] = mouseUncaughtElement.innerHTML;
- miceMap.push(mouseName);
- }
- miceOrdered = '';
- remainingMice = '';
- }
- function rearrangeMice() {
- for(loc in LOCATIONS) {
- var mice = LOCATIONS[loc], miceList = '';
- for(key in mice) {
- var mouse = mice[key];
- if(arrayContains(miceMap, mouse)) {
- var mouseHtml = miceRows[mouse],
- index = miceMap.indexOf(mouse);
- miceList += '<div onmouseout="app.views.TreasureMapView.map.removeHighlight(); return false;" onmouseover="app.views.TreasureMapView.map.highlightMouse(this);" data-name="'+mouse+'" class="treasureMapPopup-mice-group-mouse treasureMapPopup-searchIndex">'+mouseHtml+'</div>';
- //miceList += '<div class="treasureMap-mice-group-row">'+mouseHtml+'</div>';
- miceMap.splice(index, 1);
- }
- }
- if(miceList.length > 0) {
- miceOrdered += '<div class="treasureMapPopup-mice-group-header" style="margin-top:10px">'+loc+'</div>'+miceList;
- }
- }
- for(var i=0; i<miceMap.length; i++) {
- var mouse = miceMap[i];
- //remainingMice += '<div class="treasureMap-mice-group-row">'+miceRows[mouse]+'</div>';
- remainingMice += '<div onmouseout="app.views.TreasureMapView.map.removeHighlight(); return false;" onmouseover="app.views.TreasureMapView.map.highlightMouse(this);" data-name="'+mouse+'" class="treasureMapPopup-mice-group-mouse treasureMapPopup-searchIndex">'+miceRows[mouse]+'</div>';
- }
- if(remainingMice != '') {
- miceOrdered += '<div class="treasureMapPopup-mice-group-header" style="margin-top:10px">Uncaught Mice</div>'+remainingMice;
- }
- var firstMiceGroup = document.getElementsByClassName('uncaughtmice')[0];
- firstMiceGroup.innerHTML = miceOrdered;
- }
- function arrayContains(a, obj) {
- var i = a.length;
- while(i--) {
- if(a[i] === obj) {
- return true;
- }
- }
- return false;
- }
- function getLocations() {
- var protocol = location.protocol,
- url = protocol + '//igrajtenis.net/mousehunt/maps_tweaker.php',
- request = new XMLHttpRequest();
- request.onreadystatechange = function () {
- if(request.readyState == 4) {
- if(request.status == 200) {
- var result = eval('('+request.responseText+')');
- if(result.status == 'ok') {
- LOCATIONS = result.data;
- }
- }
- locationsLoaded = true;
- }
- }
- request.open("GET", url, true);
- request.send();
- }