您需要先安装一个扩展,例如 篡改猴、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 // @namespace http://greasyfork.icu/en/users/227259-wardenslayer // @version 1.3.6 // @description Changes the text that appears in the Valour Rift hud tooltips to give you the info you actually want to see // @icon https://www.mousehuntgame.com/images/items/weapons/974151e440f297f1b6d55385310ac63c.jpg?cv=2 // @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(); if ($(".hudLocationContent.rift_valour").get(0)) { updateHUD(); } }); $('.valourRiftHUD-floorProgress.mousehuntTooltipParent').mouseover(function() { updateHUD() }); $('.valourRiftHUD-huntsRemaining.mousehuntTooltipParent').mouseover(function() { updateHUD() }); function updateHUD(resultString) { //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 until the next eclipse floor'); } else { bossProgress.text(' ' + stepsTillBoss + ' steps until 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 until the next eclipse floor'); } else { bossProgress.text(' ' + stepsTillBoss + ' steps until 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().replace(',', ''), 10); if (numHuntsRem == 0) { return false } 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 UU = $('.valourRiftHUD-activeAugmentations').find('.valourRiftHUD-activeAugmentation.tu.mousehuntTooltipParent').hasClass('active'); 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().replace(',', ''), 10); let numSecrets = parseInt(secrets.first().text().replace(',', ''), 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().replace(',', ''), 10); } else if ($(this).text() == 'Tower Secrets') { cacheSecrets = cacheSecrets + parseInt($(this).siblings().text().replace(',', ''), 10); } }); let sigilString = (cacheSigils + numSigils) + ' total sigils including cache'; let secretsString = (cacheSecrets + numSecrets) + ' total secrets including cache'; let nextFrags = calculateSteps('loot'); let fragString = ''; let coreString = ''; if (UU == true) { fragString = 'No fragement drops in ultimate umbra mode'; coreString = 'The next total eclipse drops ' + nextFrags + ' core(s)'; } else { fragString = 'The next shade drops ' + nextFrags + ' fragment(s)'; coreString = 'No core drops outside of ultimate umbra mode'; } // //Some social commentary courtesy of Warden Slayer let retreatButton = $('.valourRiftHUD-retreatButton.mousehuntTooltipParent'); retreatButton.find('.valourRiftHUD-state.tower').text(' Only mice retreat! Upward to Victory!') // // //How many steps am I averaging per hunt? let stepsTaken = $('.valourRiftHUD-stepsTaken.mousehuntTooltipParent'); let numStepsTaken = parseInt(stepsTaken.find('.valourRiftHUD-stepsTaken-value').text().replace(',', ''), 10); let numEclipse = calculateSteps('eclipse'); let bossExtension = $('.valourRiftHUD-powerUp.boss_extension.mousehuntTooltipParent'); let siphon = parseInt(bossExtension.find('.valourRiftHUD-powerUp-currentLevel').text().replace(',', ''), 10); let SS = $('.valourRiftHUD-activeAugmentations').find('.valourRiftHUD-activeAugmentation.ss.mousehuntTooltipParent'); // let huntLimit = $('.valourRiftHUD-powerUp.hunt_limit.mousehuntTooltipParent'); let sync = parseInt(huntLimit.find('.valourRiftHUD-powerUp-currentLevel').text().replace(',', ''), 10); let totalAvailibleHunts = 0; let huntsTaken = 0; if (SS.hasClass('active')) { totalAvailibleHunts = sync + (numEclipse * siphon * 2); huntsTaken = totalAvailibleHunts - numHuntsRem; } else { totalAvailibleHunts = sync + (numEclipse * siphon); huntsTaken = totalAvailibleHunts - numHuntsRem; } let stepsTakenToolTip = stepsTaken.find('.mousehuntTooltip.tight.right.noEvents'); let stepsPerHunt = (numStepsTaken / huntsTaken).toFixed(2); let stepsString = 'You are averaging ' + stepsPerHunt + ' steps per hunt'; stepsTakenToolTip.text(stepsString); // //return if (resultString == 'Sigil') { return sigilString } else if (resultString == 'Secrets') { return secretsString } else if (resultString == 'Frags') { return fragString } else if (resultString == 'Cores') { return coreString } else { return false } } $("[title|='Tower Sigil']").mouseover(function() { let huntsRem = $('.valourRiftHUD-huntsRemaining.mousehuntTooltipParent'); let towerStateB = huntsRem.find('.valourRiftHUD-state.tower'); let numHuntsRem = parseInt(towerStateB.find('.valourRiftHUD-huntsRemaining-value').text().replace(',', ''), 10); if (numHuntsRem > 0) { $("[title|='Tower Sigil']").attr('title', updateHUD('Sigil')); } }); $("[title|='Tower Secrets']").mouseover(function() { let huntsRem = $('.valourRiftHUD-huntsRemaining.mousehuntTooltipParent'); let towerStateB = huntsRem.find('.valourRiftHUD-state.tower'); let numHuntsRem = parseInt(towerStateB.find('.valourRiftHUD-huntsRemaining-value').text().replace(',', ''), 10); if (numHuntsRem > 0) { $("[title|='Tower Secrets']").attr('title', updateHUD('Secrets')); } }) $("[title|='Fragment of the Eclipse']").mouseover(function() { let huntsRem = $('.valourRiftHUD-huntsRemaining.mousehuntTooltipParent'); let towerStateB = huntsRem.find('.valourRiftHUD-state.tower'); let numHuntsRem = parseInt(towerStateB.find('.valourRiftHUD-huntsRemaining-value').text().replace(',', ''), 10); if (numHuntsRem > 0) { $("[title|='Fragment of the Eclipse']").attr('title', updateHUD('Frags')); } }) $("[title|='Core of the Eclipse']").mouseover(function() { let huntsRem = $('.valourRiftHUD-huntsRemaining.mousehuntTooltipParent'); let towerStateB = huntsRem.find('.valourRiftHUD-state.tower'); let numHuntsRem = parseInt(towerStateB.find('.valourRiftHUD-huntsRemaining-value').text().replace(',', ''), 10); if (numHuntsRem > 0) { $("[title|='Core of the Eclipse']").attr('title', updateHUD('Cores')); } }) function calculateSteps(hinge) { let towerState = $('.valourRiftHUD-state.tower'); let stepsTaken = parseInt(towerState.find('.valourRiftHUD-stepsTaken-value').text().replace(',', ''), 10); let stepsRem = 0; let nextFrags = 0; let numEclipse = 0; if (stepsTaken < 140) { stepsRem = 140 - stepsTaken; nextFrags = 1; numEclipse = 0; } else if (stepsTaken == 140) { nextFrags = 1; numEclipse = 0; } else if (stepsTaken < 351) { stepsRem = 351 - stepsTaken; nextFrags = 3; numEclipse = 1; } else if (stepsTaken == 351) { nextFrags = 3; numEclipse = 1; } else if (stepsTaken < 632) { stepsRem = 632 - stepsTaken; nextFrags = 5; numEclipse = 2; } else if (stepsTaken == 632) { nextFrags = 5; numEclipse = 2; } else if (stepsTaken < 983) { stepsRem = 983 - stepsTaken; nextFrags = 7; numEclipse = 3; } else if (stepsTaken == 983) { nextFrags = 7; numEclipse = 3; } else if (stepsTaken < 1404) { stepsRem = 1404 - stepsTaken; nextFrags = 9; numEclipse = 4; } else if (stepsTaken == 1404) { nextFrags = 9; numEclipse = 4; } else if (stepsTaken < 1895) { stepsRem = 1895 - stepsTaken; nextFrags = 11; numEclipse = 5; } else if (stepsTaken == 1895) { nextFrags = 11; numEclipse = 5; } else if (stepsTaken < 2456) { stepsRem = 2456 - stepsTaken; nextFrags = 13; numEclipse = 6; } else if (stepsTaken == 2456) { nextFrags = 13; numEclipse = 6; } else if (stepsTaken < 3087) { stepsRem = 3087 - stepsTaken; nextFrags = 15; numEclipse = 7; } else if (stepsTaken == 3087) { nextFrags = 15; numEclipse = 7; } else if (stepsTaken < 3788) { stepsRem = 3788 - stepsTaken; nextFrags = 17; numEclipse = 8; } else if (stepsTaken == 3788) { nextFrags = 17; numEclipse = 8; } else if (stepsTaken < 4559) { stepsRem = 4559 - stepsTaken; nextFrags = 19; numEclipse = 9; } else if (stepsTaken == 4559) { nextFrags = 19; numEclipse = 9; } else if (stepsTaken < 5400) { stepsRem = 5400 - stepsTaken; nextFrags = 22; numEclipse = 10; } else if (stepsTaken == 5400) { nextFrags = 22; numEclipse = 10; } else if (stepsTaken < 6311) { stepsRem = 6311 - stepsTaken; nextFrags = 25; numEclipse = 11; } else if (stepsTaken == 6311) { nextFrags = 25; numEclipse = 11; } else if (stepsTaken < 7292) { stepsRem = 7292 - stepsTaken; nextFrags = 28; numEclipse = 12; } else if (stepsTaken == 7292) { nextFrags = 28; numEclipse = 12; } else if (stepsTaken < 8343) { stepsRem = 8343 - stepsTaken; nextFrags = 31; numEclipse = 13; } else if (stepsTaken == 8343) { nextFrags = 31; numEclipse = 13; } else if (stepsTaken < 9464) { stepsRem = 9464 - stepsTaken; nextFrags = 34; numEclipse = 14; } else if (stepsTaken == 9464) { nextFrags = 34; numEclipse = 14; } else if (stepsTaken < 10655) { stepsRem = 10655 - stepsTaken; nextFrags = 37; numEclipse = 15; } else if (stepsTaken == 10655) { nextFrags = 37; numEclipse = 15; } else if (stepsTaken < 11916) { stepsRem = 11916 - stepsTaken; nextFrags = 40; numEclipse = 16; } else if (stepsTaken == 11916) { nextFrags = 40; numEclipse = 16; } else if (stepsTaken < 13247) { stepsRem = 13247 - stepsTaken; nextFrags = 43; numEclipse = 17; } else if (stepsTaken == 13247) { nextFrags = 43; numEclipse = 17; } else if (stepsTaken < 14648) { stepsRem = 14648 - stepsTaken; nextFrags = 46; numEclipse = 18; } else if (stepsTaken == 14648) { nextFrags = 43; numEclipse = 18; } else if (stepsTaken < 16119) { stepsRem = 16119 - stepsTaken; nextFrags = 46; numEclipse = 19; } else if (stepsTaken == 16119) { nextFrags = 46; numEclipse = 19; } else if (stepsTaken < 17660) { stepsRem = 17660 - stepsTaken; nextFrags = 49; numEclipse = 20; } else if (stepsTaken == 17660) { nextFrags = 49; numEclipse = 20; } else if (stepsTaken < 19271) { stepsRem = 19271 - stepsTaken; nextFrags = 52; numEclipse = 21; } else if (stepsTaken == 19271) { nextFrags = 52; numEclipse = 21; } else if (stepsTaken < 20952) { stepsRem = 20952 - stepsTaken; nextFrags = 55; numEclipse = 22; } else if (stepsTaken == 20952) { nextFrags = 55; numEclipse = 22; } else if (stepsTaken < 22703) { stepsRem = 22703 - stepsTaken; nextFrags = 58; numEclipse = 23; } else if (stepsTaken == 22703) { nextFrags = 58; numEclipse = 23; } else if (stepsTaken < 24524) { stepsRem = 24524 - stepsTaken; nextFrags = 61; numEclipse = 24; } else if (stepsTaken == 24524) { nextFrags = 61; numEclipse = 24; } if (hinge == 'steps') { return stepsRem } else if (hinge == 'eclipse') { return numEclipse } else { return nextFrags } } //high five friends