// ==UserScript==
// @name MH: Floating Islands HUD Enhancer
// @author Warden Slayer
// @namespace https://greasyfork.org/en/users/227259-wardenslayer
// @version 1.7.1
// @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/*
// ==/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',
});
}