您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Changes the text that appears in the Valour Rift hud tooltips to give you the info you actually want to see
当前为
// ==UserScript== // @name MH: Valour Rift HUD Enhancer // @author Warden Slayer - Warden Slayer#2302 // @namespace http://greasyfork.icu/en/users/227259-wardenslayer // @version 1.0 // @description Changes the text that appears in the Valour Rift hud tooltips to give you the info you actually want to see // @include https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js // @include http://www.mousehuntgame.com/* // @include https://www.mousehuntgame.com/* // ==/UserScript== $(document).ready(function() { let page = hg.utils.PageUtil.getCurrentPageTemplateType(); var observer = new MutationObserver(callback); var observerOptions = { childList: true, attributes: true, subtree: true, characterData: true }; if ($(".hudLocationContent.rift_valour").get(0)) { if ($('.valourRiftHUD-huntsRemaining-value').get(0)) { observer.observe($('.valourRiftHUD-huntsRemaining-value').get(0), observerOptions); } updateHUD(); } }); function callback(mutationList, observer) { mutationList.forEach(mutation => { switch (mutation.type) { case "childList": console.log('Child list changed'); updateHUD() break; case "characterData": console.log('Number of hunts changed'); updateHUD() break; } }); } function updateHUD() { //How far is the next eclipse floor? let floorProg = $('.valourRiftHUD-floorProgress.mousehuntTooltipParent'); let towerStateA = floorProg.find('.valourRiftHUD-state.tower'); let stepsTillBoss = calculateSteps('steps'); let bossProgress = ""; if ($('.bossProgress').length > 0) { bossProgress = $('.bossProgress'); if (stepsTillBoss == 0) { bossProgress.text(" You are on the eclipse floor. Turn on your champion's fire"); } else if (stepsTillBoss == 1) { bossProgress.text(' '+stepsTillBoss+' step untill the next eclipse floor'); } else { bossProgress.text(' '+stepsTillBoss+' steps untill the next eclipse floor'); } } else { bossProgress = $('<span />').addClass('bossProgress'); if (stepsTillBoss == 0) { bossProgress.text(" You are on the eclipse floor. Turn on your champion's fire"); } else if (stepsTillBoss == 1) { bossProgress.text(' '+stepsTillBoss+' step untill the next eclipse floor'); } else { bossProgress.text(' '+stepsTillBoss+' steps untill the next eclipse floor'); } towerStateA.children().remove(); towerStateA.text(''); towerStateA.append(bossProgress); } // //Can I make it to the next eclipse floor? let huntsRem = $('.valourRiftHUD-huntsRemaining.mousehuntTooltipParent'); let towerStateB = huntsRem.find('.valourRiftHUD-state.tower'); let numHuntsRem = parseInt(towerStateB.find('.valourRiftHUD-huntsRemaining-value').text(),10); let SPH = ((stepsTillBoss)/numHuntsRem).toFixed(2); let huntToolTip = huntsRem.find('.mousehuntTooltip.tight.right.noEvents'); let ToolTipText = ""; if (stepsTillBoss == 0) { ToolTipText = 'You are on the eclipse floor now. Good Luck!'; } else { ToolTipText = 'To get to the next eclipse floor, you need a minimum of '+SPH+' steps per hunt'; } huntToolTip.text(ToolTipText); // //What will my tower loot pool look like if I retreat now? let lootCont = $('.valourRiftHUD-towerLootContainer'); let sigils = $("[data-item-type|='rift_gaunt_upgrade_a_stat_item']"); let secrets = $("[data-item-type|='rift_gaunt_upgrade_b_stat_item']"); let numSigils = parseInt(sigils.first().text(),10); let numSecrets = parseInt(secrets.first().text(),10); let cacheSigils = 0; let cacheSecrets = 0; let retreat = $('.valourRiftHUD-dialog-state.retreat'); let rewardCache = retreat.find('.valourRiftHUD-dialog-item-name'); rewardCache.each(function(){ if($(this).text() == 'Tower Sigil') { cacheSigils = cacheSigils+parseInt($(this).siblings().text(),10); } else if ($(this).text() == 'Tower Secrets') { cacheSecrets = cacheSecrets+parseInt($(this).siblings().text(),10); } }); let sigilString = (cacheSigils+numSigils)+' total sigils including cache'; let secretsString = (cacheSecrets+numSecrets)+' total secrets including cache'; let nextFrags = calculateSteps('loot'); let fragString = 'The next shade drops '+nextFrags+' fragments'; let coreString = 'The next total eclipse drops '+nextFrags+' cores'; $("[title|='Tower Sigil']").mouseover(function() { $("[title|='Tower Sigil']").attr('title', sigilString); }); $("[title|='Tower Secrets']").mouseover(function() { $("[title|='Tower Secrets']").attr('title', secretsString); }) $("[title|='Fragment of the Eclipse']").mouseover(function() { $("[title|='Fragment of the Eclipse']").attr('title', fragString); }) $("[title|='Core of the Eclipse']").mouseover(function() { $("[title|='Core of the Eclipse']").attr('title', coreString ); }) //Some social commentary courtesy of Warden Slayer let retreatButton = $('.valourRiftHUD-retreatButton.mousehuntTooltipParent'); retreatButton.find('.valourRiftHUD-state.tower').text(' Only mice retreat! Upward to Victory!') } function calculateSteps(hinge) { let towerState = $('.valourRiftHUD-state.tower'); //let huntsRem = parseInt(towerState.find('.valourRiftHUD-huntsRemaining-value').text(),10); let stepsTaken = parseInt(towerState.find('.valourRiftHUD-stepsTaken-value').text().replace(',', ''),10); let stepsRem = 0; let nextFrags = 0; if (stepsTaken < 140) { stepsRem = 140-stepsTaken; nextFrags = 1; } else if (stepsTaken == 140) { nextFrags = 1; } else if (stepsTaken < 351) { stepsRem = 351-stepsTaken; nextFrags = 3; } else if (stepsTaken == 351) { nextFrags = 3; } else if (stepsTaken < 632) { stepsRem = 632-stepsTaken; nextFrags = 5; } else if (stepsTaken == 632) { nextFrags = 5; } else if (stepsTaken < 983) { stepsRem = 983-stepsTaken; nextFrags = 7; } else if (stepsTaken == 983) { nextFrags = 7; } else if (stepsTaken < 1404) { stepsRem = 1404-stepsTaken; nextFrags = 9; } else if (stepsTaken == 1404) { nextFrags = 9; } else if (stepsTaken < 1895) { stepsRem = 1895-stepsTaken; nextFrags = 11; } else if (stepsTaken == 1895) { nextFrags = 11; } else if (stepsTaken < 2456) { stepsRem = 2456-stepsTaken; nextFrags = 13; } else if (stepsTaken == 2456) { nextFrags = 13; } else if (stepsTaken < 3087) { stepsRem = 3087-stepsTaken; nextFrags = 15; } else if (stepsTaken == 3087) { nextFrags = 15; } else if (stepsTaken < 3788) { stepsRem = 3788-stepsTaken; nextFrags = 17; } else if (stepsTaken == 3788) { nextFrags = 17; } else if (stepsTaken < 4559) { stepsRem = 4559-stepsTaken; nextFrags = 19; } else if (stepsTaken == 4559) { nextFrags = 19; } else if (stepsTaken < 5400) { stepsRem = 5400-stepsTaken; nextFrags = 22; } else if (stepsTaken == 5400) { nextFrags = 22; } else if (stepsTaken < 6311) { stepsRem = 6311-stepsTaken; nextFrags = 25; } else if (stepsTaken == 6311) { nextFrags = 25; } else if (stepsTaken < 7292) { stepsRem = 7292-stepsTaken; nextFrags = 28; } else if (stepsTaken == 7292) { nextFrags = 28; } else if (stepsTaken < 8343) { stepsRem = 8343-stepsTaken; nextFrags = 31; } else if (stepsTaken == 8343) { nextFrags = 31; } else if (stepsTaken < 9464) { stepsRem = 9464-stepsTaken; nextFrags = 34; } else if (stepsTaken == 9464) { nextFrags = 34; } else if (stepsTaken < 10655) { stepsRem = 10655-stepsTaken; nextFrags = 37; } else if (stepsTaken == 10655) { nextFrags = 37; } else if (stepsTaken < 11916) { stepsRem = 11916-stepsTaken; nextFrags = 40; } else if (stepsTaken == 11916) { nextFrags = 40; } else if (stepsTaken < 13247) { stepsRem = 13247-stepsTaken; nextFrags = 43; } else if (stepsTaken == 13247) { nextFrags = 43; } else if (stepsTaken < 14648) { stepsRem = 14648-stepsTaken; nextFrags = 46; } else if (stepsTaken == 14648) { nextFrags = 43; } else if (stepsTaken < 16119) { stepsRem = 16119-stepsTaken; nextFrags = 46; } else if (stepsTaken == 16119) { nextFrags = 46; } else if (stepsTaken < 17660) { stepsRem = 17660-stepsTaken; nextFrags = 49; } else if (stepsTaken == 17660) { nextFrags = 49; } else if (stepsTaken < 19271) { stepsRem = 19271-stepsTaken; nextFrags = 52; } else if (stepsTaken == 19271) { nextFrags = 52; } else if (stepsTaken < 20952) { stepsRem = 20952-stepsTaken; nextFrags = 55; } else if (stepsTaken == 20952) { nextFrags = 55; } else if (stepsTaken < 22703) { stepsRem = 22703-stepsTaken; nextFrags = 58; } else if (stepsTaken == 22703) { nextFrags = 58; } else if (stepsTaken < 24524) { stepsRem = 24524-stepsTaken; nextFrags = 61; } else if (stepsTaken == 24524) { nextFrags = 61; } if (hinge == 'steps') { return stepsRem } else { return nextFrags } } //to do //fix mutation observer to be less generic, triggered on a hunt // determine a way to know if UU mode is active so the hover text only cares about the eclipse loot you can actually get from the run //high five friends