// ==UserScript== // @name MH: Floating Islands HUD Enhancer // @author Warden Slayer // @namespace https://greasyfork.org/en/users/227259-wardenslayer // @version 1.7 // @description See more thing on your floating islands HUD! // @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/* // @downloadURL none // ==/UserScript== $(document).ready(function() { const debug = localStorage.getItem('ws.debug'); if (user.environment_name == 'Floating Islands') { if (debug == true) { console.log('FI Script Started'); } loadFunction() } else { if (debug == true) { console.log('Not in the FI'); } } }); function loadFunction() { updateAndRender(); setTimeout(renderSkyMap, 100); } $(document).ajaxComplete(function(event,xhr,options){ //console.log(options.url); if (options.url == 'https://www.mousehuntgame.com/managers/ajax/mice/getstat.php') { //console.log('mice'); } else if (options.url == 'https://www.mousehuntgame.com/managers/ajax/users/userInventory.php') { //console.log('items'); } else { // console.log('some other ajax'); if (user.environment_name == 'Floating Islands') { loadFunction(); } } }); //HUD Code function updateAndRender() { hg.utils.UserInventory.getItem('empyrean_codex_page_stat_item', function(data) { localStorage.setItem('ws.fi.numPages', data.quantity); hg.utils.UserInventory.getItem('floating_islands_cloud_gem_stat_item', function(data) { localStorage.setItem('ws.fi.numGlass', data.quantity); hg.utils.UserInventory.getItem('floating_islands_sky_ore_stat_item', function(data) { localStorage.setItem('ws.fi.numOre', data.quantity); renderHUD(); }, true); }, true); }, true); } function renderHUD() { const ShowPages = localStorage.getItem('ws.fi.showPages'); let empyreanPages = $('.floatingIslandsHUD-statItem[data-item-type="empyrean_codex_page_stat_item"]'); if (empyreanPages.length > 0 ) { } else { const itemContainer = $('.floatingIslandsHUD-statItemContainer'); const statItem = $(itemContainer).find('.floatingIslandsHUD-statItem[data-item-type="bottled_wind_stat_item"]'); let empyreanPages = $(statItem ).clone().appendTo(itemContainer); $(empyreanPages).find('.floatingIslandsHUD-item-image.bottled_wind_stat_item').removeClass('bottled_wind_stat_item').addClass('empyrean_codex_page_stat_item'); $(empyreanPages).find('*').removeAttr('data-item-type').attr('data-item-type', 'empyrean_codex_page_stat_item'); $(empyreanPages).removeAttr('data-item-type').attr('data-item-type', 'empyrean_codex_page_stat_item'); $(empyreanPages).find('.floatingIslandsHUD-inventoryBag-item-name').text('Empyrean Codex Page'); const pageCount = parseInt(localStorage.getItem('ws.fi.numPages'),10); $(empyreanPages).find('.floatingIslandsHUD-statItem-quantity.quantity').text(pageCount); empyreanPages.removeAttr("href").removeAttr("onclick"); $('.floatingIslandsHUD-item-image.empyrean_codex_page_stat_item').css({ 'background-image': 'url(https://www.mousehuntgame.com/images/items/stats/5d8cf4e7ab765abc5b4a72c44bae6b98.gif?cv=2)', }); $(empyreanPages).find('.floatingIslandsHUD-state.floatingIslandsHUD-island').text('Empyrean Codex Page'); } if (ShowPages == "Y") { $(empyreanPages).removeClass('hidden'); } else { $(empyreanPages).addClass('hidden'); } //Hide Wind on islands not launchpad if (user.quests.QuestFloatingIslands.hunting_site_atts.hunts_remaining != null) { $('.floatingIslandsHUD-statItem.mousehuntTooltipParent').filter('[data-item-type=bottled_wind_stat_item]').hide(); } //wind on maybe const useWind = localStorage.getItem('ws.fi.useWind'); const numWind = parseInt($('.floatingIslandsHUD-statItem-quantity.quantity').filter('[data-item-type=bottled_wind_stat_item]').text(),10); if (useWind == 'yes') { if (user.quests.QuestFloatingIslands.hunting_site_atts.is_fuel_enabled) { localStorage.setItem('ws.fi.useWind', 'no'); } else { if (numWind > 0 ) { hg.views.HeadsUpDisplayFloatingIslandsView.toggleFuel(); } } } //Hide retreat button if the warden/paragon is not caught already if (user.quests.QuestFloatingIslands.hunting_site_atts.has_defeated_enemy) { $('.floatingIslandsHUD-retreatButton').show(); } else if (user.quests.QuestFloatingIslands.hunting_site_atts.is_enemy_encounter) { $('.floatingIslandsHUD-retreatButton').hide(); } else if (user.quests.QuestFloatingIslands.hunting_site_atts.has_encountered_enemy) { $('.floatingIslandsHUD-retreatButton').show(); } else { $('.floatingIslandsHUD-retreatButton').hide(); } showOreGlass(); showBossProgress(); } $(document).on('click', '.floatingIslandsHUD-statItem[data-item-type="empyrean_codex_page_stat_item"]', function() { hg.views.ItemView.show('empyrean_codex_page_stat_item'); //hg.views.ItemView.show($(this).attr('data-type')) }) function showOreGlass() { const oculusLevel = user.quests.QuestFloatingIslands.airship.oculus_level; const skyGlass = $('.floatingIslandsHUD-craftingItem.floating_islands_cloud_gem_stat_item').find("[data-item-type=floating_islands_cloud_gem_stat_item]"); const skyGlassQty = parseInt(localStorage.getItem('ws.fi.numGlass'), 10); const skyOre = $('.floatingIslandsHUD-craftingItem.floating_islands_sky_ore_stat_item').find("[data-item-type=floating_islands_sky_ore_stat_item]"); const skyOreQty = parseInt(localStorage.getItem('ws.fi.numOre'), 10); let upgradeCost = 0; if (oculusLevel == 1) { upgradeCost = 35; } else if (oculusLevel == 2) { upgradeCost = 150; } else if (oculusLevel == 3) { upgradeCost = 500; } else if (oculusLevel == 4) { upgradeCost = '1.2k'; } else if (oculusLevel == 5) { upgradeCost = '2k'; } else if (oculusLevel == 6) { upgradeCost = '3.5k'; } else if (oculusLevel == 7) { upgradeCost = '8k'; } else if (oculusLevel == 8) { upgradeCost = '10k'; } else if (oculusLevel == 9) { upgradeCost = '2.5k'; } $(skyGlass).text(skyGlassQty + '/' + upgradeCost); $(skyOre).text(skyOreQty + '/' + upgradeCost); } function showBossProgress() { const allRemainingHunts = user.quests.QuestFloatingIslands.hunting_site_atts.enemy_encounter_hunts_remaining; let warGons = 'Paragon: '; if (user.quests.QuestFloatingIslands.hunting_site_atts.has_enemy == null) { warGons = 'Enemy: '; } else if (user.quests.QuestFloatingIslands.hunting_site_atts.is_high_altitude == null) { warGons = 'Warden: '; } else if (user.quests.QuestFloatingIslands.hunting_site_atts.is_vault_island != null) { warGons = 'Empress: '; } $('.floatingIslandsHUD-enemy-state.enemyApproaching:not(.enemyActive)').text(warGons + allRemainingHunts); } function renderItemBag() { const itemBagBody = $('.floatingIslandsHUD-inventoryBag-itemContainer'); const empyreanTroves = $('.floatingIslandsHUD-inventoryBag-item[data-item-type="empyrean_floating_loot_cache_convertible"]'); let empyreanPages = ""; empyreanPages = $(empyreanTroves).clone().appendTo(itemBagBody) $(empyreanPages).removeClass('active').removeClass('inactive'); const ShowPages = localStorage.getItem('ws.fi.showPages'); if (ShowPages == "Y") { $(empyreanPages).addClass('active'); } else { $(empyreanPages).addClass('inactive'); } $(empyreanPages).find('.floatingIslandsHUD-item-image.empyrean_floating_loot_cache_convertible').removeClass('empyrean_floating_loot_cache_convertible').addClass('empyrean_codex_page_stat_item'); $('.floatingIslandsHUD-item-image.empyrean_codex_page_stat_item').find('*').removeAttr('data-item-type').attr('data-item-type', 'empyrean_codex_page_stat_item'); $(empyreanPages).removeAttr('data-item-type').attr('data-item-type', 'empyrean_codex_page_stat_item'); $(empyreanPages).find('.floatingIslandsHUD-inventoryBag-item-name').text('Empyrean Codex Page'); const pageCount = parseInt(localStorage.getItem('ws.fi.numPages'),10); $(empyreanPages).find('.floatingIslandsHUD-inventoryBag-item-quantity.quantity').text(pageCount); $('.floatingIslandsHUD-item-image.empyrean_codex_page_stat_item').css({ 'background-image': 'url(https://www.mousehuntgame.com/images/items/stats/5d8cf4e7ab765abc5b4a72c44bae6b98.gif?cv=2)', }); // itemBagBody.children().on('click', function () {hg.views.ItemView.show($(this).attr('data-item-type'))}); } $(document).on('click', '.floatingIslandsHUD-inventoryBagButton.mousehuntTooltipParent', function() { renderItemBag(); }) $(document).on('click', '.floatingIslandsHUD-inventoryBag-item-toggleButton[data-item-type="empyrean_codex_page_stat_item"]', function() { const empyreanPages = $('.floatingIslandsHUD-inventoryBag-item[data-item-type="empyrean_codex_page_stat_item"]'); if (empyreanPages.hasClass('inactive')) { empyreanPages.removeClass('inactive').addClass('active'); localStorage.setItem('ws.fi.showPages',"Y"); } else if (empyreanPages.hasClass('active')) { empyreanPages.removeClass('active').addClass('inactive'); localStorage.setItem('ws.fi.showPages',""); } else { empyreanPages.addClass('active'); localStorage.setItem('ws.fi.showPages',"Y"); } }) //Paragon Overlay function renderSkyMap() { drawParagons() // const body = $('.floatingIslandsAdventureBoard-container.paragon.loading.skyMap'); // $(body).removeAttr("href").removeAttr("onclick"); // const trapLibrary = $('.floatingIslandsAdventureBoard-trapLibrary-text:not(.wind)'); // let useWindDiv = $('.floatingIslandsAdventureBoard-trapLibrary-text.wind'); // if ($(useWindDiv).length == 0) { // useWindDiv = $(trapLibrary).clone().appendTo(body); // $(useWindDiv).addClass('wind'); // } // let useWindCb = $(useWindDiv).find('.floatingIslandsAdventureBoard-trapLibrary-checkbox'); // $(useWindCb).addClass('wind'); // $(useWindDiv).children().empty().append(useWindCb).append("Use Wind"); // forceWind(); } function forceWind() { const windBox = $('.floatingIslandsAdventureBoard-trapLibrary-checkbox.wind'); const useWind = localStorage.getItem('ws.fi.useWind'); if (useWind == 'yes') { $(windBox).prop('checked',true) } else { $(windBox).prop('checked',false) } } // $(document).on('click', '.floatingIslandsAdventureBoard-trapLibrary-text:not(.wind)', function() { // if ($('.floatingIslandsAdventureBoard-trapLibrary').hasClass('disabled')){ // } else { // hg.views.FloatingIslandsAdventureBoardView.toggleUseSavedSetup() // setTimeout(forceWind, 500) // } // }) // $(document).on('click', '.floatingIslandsAdventureBoard-trapLibrary-text.wind', function() { // const windBox = $('.floatingIslandsAdventureBoard-trapLibrary-checkbox.wind'); // const useWind = localStorage.getItem('ws.fi.useWind'); // if ($('.floatingIslandsAdventureBoard-trapLibrary').hasClass('disabled')){ // } else { // if (useWind == 'yes') { // $(windBox).prop('checked',false) // localStorage.setItem('ws.fi.useWind', 'no') // } else { // $(windBox).prop('checked',true) // localStorage.setItem('ws.fi.useWind', 'yes') // } // } // }) function drawParagons() { const overlayCont = $('.floatingIslandsAdventureBoard-container'); if (overlayCont.length == 1) { const allParagons = $('.floatingIslandsHUD-powerType:not(.fipcmask)'); $(allParagons).each(function(e){ const thisParagon = $(this); hg.utils.MouseUtil.getMouse(thisParagon.context.classList[1]+'_paragon', function(resp,) { setTimeout(function(){thisParagon.text(resp.num_catches); }, (10-e)*35); }) }) } $('.floatingIslandsHUD-powerType').css({ 'font-size': '14x', 'font-weight': 'bold', 'color': 'blue', }); }