您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Improve your MouseHunt experience. Please only use this when the extension is not available.
当前为
// ==UserScript== // @name 🐭️ MouseHunt Improved // @description Improve your MouseHunt experience. Please only use this when the extension is not available. // @version 0.42.0 // @license MIT // @author bradp // @namespace bradp // @match https://www.mousehuntgame.com/* // @icon https://i.mouse.rip/mh-improved/icon-64.png // @run-at document-end // @grant none // ==/UserScript== const mhImprovedVersion = '0.42.0'; const mhImprovedPlatform = 'userscript'; var mhui = (() => { var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject2) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject2(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject2(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; // node_modules/@sentry/utils/esm/is.js function isError(wat) { switch (objectToString.call(wat)) { case "[object Error]": case "[object Exception]": case "[object DOMException]": return true; default: return isInstanceOf(wat, Error); } } function isBuiltin(wat, className) { return objectToString.call(wat) === `[object ${className}]`; } function isErrorEvent(wat) { return isBuiltin(wat, "ErrorEvent"); } function isDOMError(wat) { return isBuiltin(wat, "DOMError"); } function isDOMException(wat) { return isBuiltin(wat, "DOMException"); } function isString(wat) { return isBuiltin(wat, "String"); } function isParameterizedString(wat) { return typeof wat === "object" && wat !== null && "__sentry_template_string__" in wat && "__sentry_template_values__" in wat; } function isPrimitive(wat) { return wat === null || isParameterizedString(wat) || typeof wat !== "object" && typeof wat !== "function"; } function isPlainObject(wat) { return isBuiltin(wat, "Object"); } function isEvent(wat) { return typeof Event !== "undefined" && isInstanceOf(wat, Event); } function isElement(wat) { return typeof Element !== "undefined" && isInstanceOf(wat, Element); } function isRegExp(wat) { return isBuiltin(wat, "RegExp"); } function isThenable(wat) { return Boolean(wat && wat.then && typeof wat.then === "function"); } function isSyntheticEvent(wat) { return isPlainObject(wat) && "nativeEvent" in wat && "preventDefault" in wat && "stopPropagation" in wat; } function isNaN2(wat) { return typeof wat === "number" && wat !== wat; } function isInstanceOf(wat, base) { try { return wat instanceof base; } catch (_e) { return false; } } function isVueViewModel(wat) { return !!(typeof wat === "object" && wat !== null && (wat.__isVue || wat._isVue)); } var objectToString; var init_is = __esm({ "node_modules/@sentry/utils/esm/is.js"() { objectToString = Object.prototype.toString; } }); // node_modules/@sentry/utils/esm/string.js function truncate(str, max = 0) { if (typeof str !== "string" || max === 0) { return str; } return str.length <= max ? str : `${str.slice(0, max)}...`; } function safeJoin(input, delimiter) { if (!Array.isArray(input)) { return ""; } const output = []; for (let i = 0; i < input.length; i++) { const value = input[i]; try { if (isVueViewModel(value)) { output.push("[VueViewModel]"); } else { output.push(String(value)); } } catch (e) { output.push("[value cannot be serialized]"); } } return output.join(delimiter); } function isMatchingPattern(value, pattern, requireExactStringMatch = false) { if (!isString(value)) { return false; } if (isRegExp(pattern)) { return pattern.test(value); } if (isString(pattern)) { return requireExactStringMatch ? value === pattern : value.includes(pattern); } return false; } function stringMatchesSomePattern(testString, patterns = [], requireExactStringMatch = false) { return patterns.some((pattern) => isMatchingPattern(testString, pattern, requireExactStringMatch)); } var init_string = __esm({ "node_modules/@sentry/utils/esm/string.js"() { init_is(); } }); // node_modules/@sentry/utils/esm/aggregate-errors.js function applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser, maxValueLimit = 250, key, limit2, event, hint) { if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) { return; } const originalException = event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : void 0; if (originalException) { event.exception.values = truncateAggregateExceptions( aggregateExceptionsFromError( exceptionFromErrorImplementation, parser, limit2, hint.originalException, key, event.exception.values, originalException, 0 ), maxValueLimit ); } } function aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit2, error, key, prevExceptions, exception, exceptionId) { if (prevExceptions.length >= limit2 + 1) { return prevExceptions; } let newExceptions = [...prevExceptions]; if (isInstanceOf(error[key], Error)) { applyExceptionGroupFieldsForParentException(exception, exceptionId); const newException = exceptionFromErrorImplementation(parser, error[key]); const newExceptionId = newExceptions.length; applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId); newExceptions = aggregateExceptionsFromError( exceptionFromErrorImplementation, parser, limit2, error[key], key, [newException, ...newExceptions], newException, newExceptionId ); } if (Array.isArray(error.errors)) { error.errors.forEach((childError, i) => { if (isInstanceOf(childError, Error)) { applyExceptionGroupFieldsForParentException(exception, exceptionId); const newException = exceptionFromErrorImplementation(parser, childError); const newExceptionId = newExceptions.length; applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId); newExceptions = aggregateExceptionsFromError( exceptionFromErrorImplementation, parser, limit2, childError, key, [newException, ...newExceptions], newException, newExceptionId ); } }); } return newExceptions; } function applyExceptionGroupFieldsForParentException(exception, exceptionId) { exception.mechanism = exception.mechanism || { type: "generic", handled: true }; exception.mechanism = __spreadProps(__spreadValues(__spreadValues({}, exception.mechanism), exception.type === "AggregateError" && { is_exception_group: true }), { exception_id: exceptionId }); } function applyExceptionGroupFieldsForChildException(exception, source, exceptionId, parentId) { exception.mechanism = exception.mechanism || { type: "generic", handled: true }; exception.mechanism = __spreadProps(__spreadValues({}, exception.mechanism), { type: "chained", source, exception_id: exceptionId, parent_id: parentId }); } function truncateAggregateExceptions(exceptions, maxValueLength) { return exceptions.map((exception) => { if (exception.value) { exception.value = truncate(exception.value, maxValueLength); } return exception; }); } var init_aggregate_errors = __esm({ "node_modules/@sentry/utils/esm/aggregate-errors.js"() { init_is(); init_string(); } }); // node_modules/@sentry/utils/esm/worldwide.js function isGlobalObj(obj) { return obj && obj.Math == Math ? obj : void 0; } function getGlobalObject() { return GLOBAL_OBJ; } function getGlobalSingleton(name, creator, obj) { const gbl = obj || GLOBAL_OBJ; const __SENTRY__ = gbl.__SENTRY__ = gbl.__SENTRY__ || {}; const singleton = __SENTRY__[name] || (__SENTRY__[name] = creator()); return singleton; } var GLOBAL_OBJ; var init_worldwide = __esm({ "node_modules/@sentry/utils/esm/worldwide.js"() { GLOBAL_OBJ = typeof globalThis == "object" && isGlobalObj(globalThis) || // eslint-disable-next-line no-restricted-globals typeof window == "object" && isGlobalObj(window) || typeof self == "object" && isGlobalObj(self) || typeof global == "object" && isGlobalObj(global) || /* @__PURE__ */ function() { return this; }() || {}; } }); // node_modules/@sentry/utils/esm/browser.js function htmlTreeAsString(elem, options = {}) { if (!elem) { return "<unknown>"; } try { let currentElem = elem; const MAX_TRAVERSE_HEIGHT = 5; const out = []; let height = 0; let len = 0; const separator = " > "; const sepLength = separator.length; let nextStr; const keyAttrs = Array.isArray(options) ? options : options.keyAttrs; const maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH; while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) { nextStr = _htmlElementAsString(currentElem, keyAttrs); if (nextStr === "html" || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) { break; } out.push(nextStr); len += nextStr.length; currentElem = currentElem.parentNode; } return out.reverse().join(separator); } catch (_oO) { return "<unknown>"; } } function _htmlElementAsString(el, keyAttrs) { const elem = el; const out = []; let className; let classes; let key; let attr; let i; if (!elem || !elem.tagName) { return ""; } if (WINDOW.HTMLElement) { if (elem instanceof HTMLElement && elem.dataset && elem.dataset["sentryComponent"]) { return elem.dataset["sentryComponent"]; } } out.push(elem.tagName.toLowerCase()); const keyAttrPairs = keyAttrs && keyAttrs.length ? keyAttrs.filter((keyAttr) => elem.getAttribute(keyAttr)).map((keyAttr) => [keyAttr, elem.getAttribute(keyAttr)]) : null; if (keyAttrPairs && keyAttrPairs.length) { keyAttrPairs.forEach((keyAttrPair) => { out.push(`[${keyAttrPair[0]}="${keyAttrPair[1]}"]`); }); } else { if (elem.id) { out.push(`#${elem.id}`); } className = elem.className; if (className && isString(className)) { classes = className.split(/\s+/); for (i = 0; i < classes.length; i++) { out.push(`.${classes[i]}`); } } } const allowedAttrs = ["aria-label", "type", "name", "title", "alt"]; for (i = 0; i < allowedAttrs.length; i++) { key = allowedAttrs[i]; attr = elem.getAttribute(key); if (attr) { out.push(`[${key}="${attr}"]`); } } return out.join(""); } function getLocationHref() { try { return WINDOW.document.location.href; } catch (oO) { return ""; } } function getComponentName(elem) { if (!WINDOW.HTMLElement) { return null; } let currentElem = elem; const MAX_TRAVERSE_HEIGHT = 5; for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) { if (!currentElem) { return null; } if (currentElem instanceof HTMLElement && currentElem.dataset["sentryComponent"]) { return currentElem.dataset["sentryComponent"]; } currentElem = currentElem.parentNode; } return null; } var WINDOW, DEFAULT_MAX_STRING_LENGTH; var init_browser = __esm({ "node_modules/@sentry/utils/esm/browser.js"() { init_is(); init_worldwide(); WINDOW = getGlobalObject(); DEFAULT_MAX_STRING_LENGTH = 80; } }); // node_modules/@sentry/utils/esm/debug-build.js var DEBUG_BUILD; var init_debug_build = __esm({ "node_modules/@sentry/utils/esm/debug-build.js"() { DEBUG_BUILD = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__; } }); // node_modules/@sentry/utils/esm/logger.js function consoleSandbox(callback) { if (!("console" in GLOBAL_OBJ)) { return callback(); } const console2 = GLOBAL_OBJ.console; const wrappedFuncs = {}; const wrappedLevels = Object.keys(originalConsoleMethods); wrappedLevels.forEach((level) => { const originalConsoleMethod = originalConsoleMethods[level]; wrappedFuncs[level] = console2[level]; console2[level] = originalConsoleMethod; }); try { return callback(); } finally { wrappedLevels.forEach((level) => { console2[level] = wrappedFuncs[level]; }); } } function makeLogger() { let enabled = false; const logger2 = { enable: () => { enabled = true; }, disable: () => { enabled = false; }, isEnabled: () => enabled }; if (DEBUG_BUILD) { CONSOLE_LEVELS.forEach((name) => { logger2[name] = (...args) => { if (enabled) { consoleSandbox(() => { GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args); }); } }; }); } else { CONSOLE_LEVELS.forEach((name) => { logger2[name] = () => void 0; }); } return logger2; } var PREFIX, CONSOLE_LEVELS, originalConsoleMethods, logger; var init_logger = __esm({ "node_modules/@sentry/utils/esm/logger.js"() { init_debug_build(); init_worldwide(); PREFIX = "Sentry Logger "; CONSOLE_LEVELS = [ "debug", "info", "warn", "error", "log", "assert", "trace" ]; originalConsoleMethods = {}; logger = makeLogger(); } }); // node_modules/@sentry/utils/esm/object.js function fill(source, name, replacementFactory) { if (!(name in source)) { return; } const original = source[name]; const wrapped = replacementFactory(original); if (typeof wrapped === "function") { markFunctionWrapped(wrapped, original); } source[name] = wrapped; } function addNonEnumerableProperty(obj, name, value) { try { Object.defineProperty(obj, name, { // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it value, writable: true, configurable: true }); } catch (o_O) { DEBUG_BUILD && logger.log(`Failed to add non-enumerable property "${name}" to object`, obj); } } function markFunctionWrapped(wrapped, original) { try { const proto = original.prototype || {}; wrapped.prototype = original.prototype = proto; addNonEnumerableProperty(wrapped, "__sentry_original__", original); } catch (o_O) { } } function getOriginalFunction(func) { return func.__sentry_original__; } function convertToPlainObject(value) { if (isError(value)) { return __spreadValues({ message: value.message, name: value.name, stack: value.stack }, getOwnProperties(value)); } else if (isEvent(value)) { const newObj = __spreadValues({ type: value.type, target: serializeEventTarget(value.target), currentTarget: serializeEventTarget(value.currentTarget) }, getOwnProperties(value)); if (typeof CustomEvent !== "undefined" && isInstanceOf(value, CustomEvent)) { newObj.detail = value.detail; } return newObj; } else { return value; } } function serializeEventTarget(target) { try { return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target); } catch (_oO) { return "<unknown>"; } } function getOwnProperties(obj) { if (typeof obj === "object" && obj !== null) { const extractedProps = {}; for (const property in obj) { if (Object.prototype.hasOwnProperty.call(obj, property)) { extractedProps[property] = obj[property]; } } return extractedProps; } else { return {}; } } function extractExceptionKeysForMessage(exception, maxLength = 40) { const keys = Object.keys(convertToPlainObject(exception)); keys.sort(); if (!keys.length) { return "[object has no keys]"; } if (keys[0].length >= maxLength) { return truncate(keys[0], maxLength); } for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) { const serialized = keys.slice(0, includedKeys).join(", "); if (serialized.length > maxLength) { continue; } if (includedKeys === keys.length) { return serialized; } return truncate(serialized, maxLength); } return ""; } function dropUndefinedKeys(inputValue) { const memoizationMap = /* @__PURE__ */ new Map(); return _dropUndefinedKeys(inputValue, memoizationMap); } function _dropUndefinedKeys(inputValue, memoizationMap) { if (isPojo(inputValue)) { const memoVal = memoizationMap.get(inputValue); if (memoVal !== void 0) { return memoVal; } const returnValue = {}; memoizationMap.set(inputValue, returnValue); for (const key of Object.keys(inputValue)) { if (typeof inputValue[key] !== "undefined") { returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap); } } return returnValue; } if (Array.isArray(inputValue)) { const memoVal = memoizationMap.get(inputValue); if (memoVal !== void 0) { return memoVal; } const returnValue = []; memoizationMap.set(inputValue, returnValue); inputValue.forEach((item) => { returnValue.push(_dropUndefinedKeys(item, memoizationMap)); }); return returnValue; } return inputValue; } function isPojo(input) { if (!isPlainObject(input)) { return false; } try { const name = Object.getPrototypeOf(input).constructor.name; return !name || name === "Object"; } catch (e) { return true; } } var init_object = __esm({ "node_modules/@sentry/utils/esm/object.js"() { init_browser(); init_debug_build(); init_is(); init_logger(); init_string(); } }); // node_modules/@sentry/utils/esm/stacktrace.js function getFunctionName(fn) { try { if (!fn || typeof fn !== "function") { return defaultFunctionName; } return fn.name || defaultFunctionName; } catch (e) { return defaultFunctionName; } } var defaultFunctionName; var init_stacktrace = __esm({ "node_modules/@sentry/utils/esm/stacktrace.js"() { defaultFunctionName = "<anonymous>"; } }); // node_modules/@sentry/utils/esm/instrument/_handlers.js function addHandler(type, handler) { handlers[type] = handlers[type] || []; handlers[type].push(handler); } function maybeInstrument(type, instrumentFn) { if (!instrumented[type]) { instrumentFn(); instrumented[type] = true; } } function triggerHandlers(type, data) { const typeHandlers = type && handlers[type]; if (!typeHandlers) { return; } for (const handler of typeHandlers) { try { handler(data); } catch (e) { DEBUG_BUILD && logger.error( `Error while triggering instrumentation handler. Type: ${type} Name: ${getFunctionName(handler)} Error:`, e ); } } } var handlers, instrumented; var init_handlers = __esm({ "node_modules/@sentry/utils/esm/instrument/_handlers.js"() { init_debug_build(); init_logger(); init_stacktrace(); handlers = {}; instrumented = {}; } }); // node_modules/@sentry/utils/esm/instrument/console.js function addConsoleInstrumentationHandler(handler) { const type = "console"; addHandler(type, handler); maybeInstrument(type, instrumentConsole); } function instrumentConsole() { if (!("console" in GLOBAL_OBJ)) { return; } CONSOLE_LEVELS.forEach(function(level) { if (!(level in GLOBAL_OBJ.console)) { return; } fill(GLOBAL_OBJ.console, level, function(originalConsoleMethod) { originalConsoleMethods[level] = originalConsoleMethod; return function(...args) { const handlerData = { args, level }; triggerHandlers("console", handlerData); const log = originalConsoleMethods[level]; log && log.apply(GLOBAL_OBJ.console, args); }; }); }); } var init_console = __esm({ "node_modules/@sentry/utils/esm/instrument/console.js"() { init_logger(); init_object(); init_worldwide(); init_handlers(); } }); // node_modules/@sentry/utils/esm/misc.js function uuid4() { const gbl = GLOBAL_OBJ; const crypto2 = gbl.crypto || gbl.msCrypto; let getRandomByte = () => Math.random() * 16; try { if (crypto2 && crypto2.randomUUID) { return crypto2.randomUUID().replace(/-/g, ""); } if (crypto2 && crypto2.getRandomValues) { getRandomByte = () => { const typedArray = new Uint8Array(1); crypto2.getRandomValues(typedArray); return typedArray[0]; }; } } catch (_) { } return ("10000000100040008000" + 1e11).replace( /[018]/g, (c) => ( // eslint-disable-next-line no-bitwise (c ^ (getRandomByte() & 15) >> c / 4).toString(16) ) ); } function getFirstException(event) { return event.exception && event.exception.values ? event.exception.values[0] : void 0; } function getEventDescription(event) { const { message, event_id: eventId } = event; if (message) { return message; } const firstException = getFirstException(event); if (firstException) { if (firstException.type && firstException.value) { return `${firstException.type}: ${firstException.value}`; } return firstException.type || firstException.value || eventId || "<unknown>"; } return eventId || "<unknown>"; } function addExceptionTypeValue(event, value, type) { const exception = event.exception = event.exception || {}; const values = exception.values = exception.values || []; const firstException = values[0] = values[0] || {}; if (!firstException.value) { firstException.value = value || ""; } if (!firstException.type) { firstException.type = type || "Error"; } } function addExceptionMechanism(event, newMechanism) { const firstException = getFirstException(event); if (!firstException) { return; } const defaultMechanism = { type: "generic", handled: true }; const currentMechanism = firstException.mechanism; firstException.mechanism = __spreadValues(__spreadValues(__spreadValues({}, defaultMechanism), currentMechanism), newMechanism); if (newMechanism && "data" in newMechanism) { const mergedData = __spreadValues(__spreadValues({}, currentMechanism && currentMechanism.data), newMechanism.data); firstException.mechanism.data = mergedData; } } function arrayify(maybeArray) { return Array.isArray(maybeArray) ? maybeArray : [maybeArray]; } var init_misc = __esm({ "node_modules/@sentry/utils/esm/misc.js"() { init_worldwide(); } }); // node_modules/@sentry/utils/esm/instrument/dom.js function addClickKeypressInstrumentationHandler(handler) { const type = "dom"; addHandler(type, handler); maybeInstrument(type, instrumentDOM); } function instrumentDOM() { if (!WINDOW2.document) { return; } const triggerDOMHandler = triggerHandlers.bind(null, "dom"); const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true); WINDOW2.document.addEventListener("click", globalDOMEventHandler, false); WINDOW2.document.addEventListener("keypress", globalDOMEventHandler, false); ["EventTarget", "Node"].forEach((target) => { const proto = WINDOW2[target] && WINDOW2[target].prototype; if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty("addEventListener")) { return; } fill(proto, "addEventListener", function(originalAddEventListener) { return function(type, listener2, options) { if (type === "click" || type == "keypress") { try { const el = this; const handlers2 = el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {}; const handlerForType = handlers2[type] = handlers2[type] || { refCount: 0 }; if (!handlerForType.handler) { const handler = makeDOMEventHandler(triggerDOMHandler); handlerForType.handler = handler; originalAddEventListener.call(this, type, handler, options); } handlerForType.refCount++; } catch (e) { } } return originalAddEventListener.call(this, type, listener2, options); }; }); fill( proto, "removeEventListener", function(originalRemoveEventListener) { return function(type, listener2, options) { if (type === "click" || type == "keypress") { try { const el = this; const handlers2 = el.__sentry_instrumentation_handlers__ || {}; const handlerForType = handlers2[type]; if (handlerForType) { handlerForType.refCount--; if (handlerForType.refCount <= 0) { originalRemoveEventListener.call(this, type, handlerForType.handler, options); handlerForType.handler = void 0; delete handlers2[type]; } if (Object.keys(handlers2).length === 0) { delete el.__sentry_instrumentation_handlers__; } } } catch (e) { } } return originalRemoveEventListener.call(this, type, listener2, options); }; } ); }); } function isSimilarToLastCapturedEvent(event) { if (event.type !== lastCapturedEventType) { return false; } try { if (!event.target || event.target._sentryId !== lastCapturedEventTargetId) { return false; } } catch (e) { } return true; } function shouldSkipDOMEvent(eventType, target) { if (eventType !== "keypress") { return false; } if (!target || !target.tagName) { return true; } if (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.isContentEditable) { return false; } return true; } function makeDOMEventHandler(handler, globalListener = false) { return (event) => { if (!event || event["_sentryCaptured"]) { return; } const target = getEventTarget(event); if (shouldSkipDOMEvent(event.type, target)) { return; } addNonEnumerableProperty(event, "_sentryCaptured", true); if (target && !target._sentryId) { addNonEnumerableProperty(target, "_sentryId", uuid4()); } const name = event.type === "keypress" ? "input" : event.type; if (!isSimilarToLastCapturedEvent(event)) { const handlerData = { event, name, global: globalListener }; handler(handlerData); lastCapturedEventType = event.type; lastCapturedEventTargetId = target ? target._sentryId : void 0; } clearTimeout(debounceTimerID); debounceTimerID = WINDOW2.setTimeout(() => { lastCapturedEventTargetId = void 0; lastCapturedEventType = void 0; }, DEBOUNCE_DURATION); }; } function getEventTarget(event) { try { return event.target; } catch (e) { return null; } } var WINDOW2, DEBOUNCE_DURATION, debounceTimerID, lastCapturedEventType, lastCapturedEventTargetId; var init_dom = __esm({ "node_modules/@sentry/utils/esm/instrument/dom.js"() { init_misc(); init_object(); init_worldwide(); init_handlers(); WINDOW2 = GLOBAL_OBJ; DEBOUNCE_DURATION = 1e3; } }); // node_modules/@sentry/utils/esm/supports.js function supportsFetch() { if (!("fetch" in WINDOW3)) { return false; } try { new Headers(); new Request("http://www.example.com"); new Response(); return true; } catch (e) { return false; } } function isNativeFetch(func) { return func && /^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(func.toString()); } function supportsNativeFetch() { if (typeof EdgeRuntime === "string") { return true; } if (!supportsFetch()) { return false; } if (isNativeFetch(WINDOW3.fetch)) { return true; } let result = false; const doc = WINDOW3.document; if (doc && typeof doc.createElement === "function") { try { const sandbox = doc.createElement("iframe"); sandbox.hidden = true; doc.head.appendChild(sandbox); if (sandbox.contentWindow && sandbox.contentWindow.fetch) { result = isNativeFetch(sandbox.contentWindow.fetch); } doc.head.removeChild(sandbox); } catch (err) { DEBUG_BUILD && logger.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ", err); } } return result; } var WINDOW3; var init_supports = __esm({ "node_modules/@sentry/utils/esm/supports.js"() { init_debug_build(); init_logger(); init_worldwide(); WINDOW3 = getGlobalObject(); } }); // node_modules/@sentry/utils/esm/instrument/fetch.js function addFetchInstrumentationHandler(handler) { const type = "fetch"; addHandler(type, handler); maybeInstrument(type, instrumentFetch); } function instrumentFetch() { if (!supportsNativeFetch()) { return; } fill(GLOBAL_OBJ, "fetch", function(originalFetch) { return function(...args) { const { method, url } = parseFetchArgs(args); const handlerData = { args, fetchData: { method, url }, startTimestamp: Date.now() }; triggerHandlers("fetch", __spreadValues({}, handlerData)); return originalFetch.apply(GLOBAL_OBJ, args).then( (response) => { const finishedHandlerData = __spreadProps(__spreadValues({}, handlerData), { endTimestamp: Date.now(), response }); triggerHandlers("fetch", finishedHandlerData); return response; }, (error) => { const erroredHandlerData = __spreadProps(__spreadValues({}, handlerData), { endTimestamp: Date.now(), error }); triggerHandlers("fetch", erroredHandlerData); throw error; } ); }; }); } function hasProp(obj, prop) { return !!obj && typeof obj === "object" && !!obj[prop]; } function getUrlFromResource(resource) { if (typeof resource === "string") { return resource; } if (!resource) { return ""; } if (hasProp(resource, "url")) { return resource.url; } if (resource.toString) { return resource.toString(); } return ""; } function parseFetchArgs(fetchArgs) { if (fetchArgs.length === 0) { return { method: "GET", url: "" }; } if (fetchArgs.length === 2) { const [url, options] = fetchArgs; return { url: getUrlFromResource(url), method: hasProp(options, "method") ? String(options.method).toUpperCase() : "GET" }; } const arg = fetchArgs[0]; return { url: getUrlFromResource(arg), method: hasProp(arg, "method") ? String(arg.method).toUpperCase() : "GET" }; } var init_fetch = __esm({ "node_modules/@sentry/utils/esm/instrument/fetch.js"() { init_object(); init_supports(); init_worldwide(); init_handlers(); } }); // node_modules/@sentry/utils/esm/instrument/globalError.js function addGlobalErrorInstrumentationHandler(handler) { const type = "error"; addHandler(type, handler); maybeInstrument(type, instrumentError); } function instrumentError() { _oldOnErrorHandler = GLOBAL_OBJ.onerror; GLOBAL_OBJ.onerror = function(msg, url, line, column, error) { const handlerData = { column, error, line, msg, url }; triggerHandlers("error", handlerData); if (_oldOnErrorHandler && !_oldOnErrorHandler.__SENTRY_LOADER__) { return _oldOnErrorHandler.apply(this, arguments); } return false; }; GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true; } var _oldOnErrorHandler; var init_globalError = __esm({ "node_modules/@sentry/utils/esm/instrument/globalError.js"() { init_worldwide(); init_handlers(); _oldOnErrorHandler = null; } }); // node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js function addGlobalUnhandledRejectionInstrumentationHandler(handler) { const type = "unhandledrejection"; addHandler(type, handler); maybeInstrument(type, instrumentUnhandledRejection); } function instrumentUnhandledRejection() { _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection; GLOBAL_OBJ.onunhandledrejection = function(e) { const handlerData = e; triggerHandlers("unhandledrejection", handlerData); if (_oldOnUnhandledRejectionHandler && !_oldOnUnhandledRejectionHandler.__SENTRY_LOADER__) { return _oldOnUnhandledRejectionHandler.apply(this, arguments); } return true; }; GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true; } var _oldOnUnhandledRejectionHandler; var init_globalUnhandledRejection = __esm({ "node_modules/@sentry/utils/esm/instrument/globalUnhandledRejection.js"() { init_worldwide(); init_handlers(); _oldOnUnhandledRejectionHandler = null; } }); // node_modules/@sentry/utils/esm/vendor/supportsHistory.js function supportsHistory() { const chromeVar = WINDOW4.chrome; const isChromePackagedApp = chromeVar && chromeVar.app && chromeVar.app.runtime; const hasHistoryApi = "history" in WINDOW4 && !!WINDOW4.history.pushState && !!WINDOW4.history.replaceState; return !isChromePackagedApp && hasHistoryApi; } var WINDOW4; var init_supportsHistory = __esm({ "node_modules/@sentry/utils/esm/vendor/supportsHistory.js"() { init_worldwide(); WINDOW4 = getGlobalObject(); } }); // node_modules/@sentry/utils/esm/instrument/history.js function addHistoryInstrumentationHandler(handler) { const type = "history"; addHandler(type, handler); maybeInstrument(type, instrumentHistory); } function instrumentHistory() { if (!supportsHistory()) { return; } const oldOnPopState = WINDOW5.onpopstate; WINDOW5.onpopstate = function(...args) { const to = WINDOW5.location.href; const from = lastHref; lastHref = to; const handlerData = { from, to }; triggerHandlers("history", handlerData); if (oldOnPopState) { try { return oldOnPopState.apply(this, args); } catch (_oO) { } } }; function historyReplacementFunction(originalHistoryFunction) { return function(...args) { const url = args.length > 2 ? args[2] : void 0; if (url) { const from = lastHref; const to = String(url); lastHref = to; const handlerData = { from, to }; triggerHandlers("history", handlerData); } return originalHistoryFunction.apply(this, args); }; } fill(WINDOW5.history, "pushState", historyReplacementFunction); fill(WINDOW5.history, "replaceState", historyReplacementFunction); } var WINDOW5, lastHref; var init_history = __esm({ "node_modules/@sentry/utils/esm/instrument/history.js"() { init_object(); init_worldwide(); init_supportsHistory(); init_handlers(); WINDOW5 = GLOBAL_OBJ; } }); // node_modules/@sentry/utils/esm/instrument/xhr.js function addXhrInstrumentationHandler(handler) { const type = "xhr"; addHandler(type, handler); maybeInstrument(type, instrumentXHR); } function instrumentXHR() { if (!WINDOW6.XMLHttpRequest) { return; } const xhrproto = XMLHttpRequest.prototype; fill(xhrproto, "open", function(originalOpen) { return function(...args) { const startTimestamp = Date.now(); const method = isString(args[0]) ? args[0].toUpperCase() : void 0; const url = parseUrl(args[1]); if (!method || !url) { return originalOpen.apply(this, args); } this[SENTRY_XHR_DATA_KEY] = { method, url, request_headers: {} }; if (method === "POST" && url.match(/sentry_key/)) { this.__sentry_own_request__ = true; } const onreadystatechangeHandler = () => { const xhrInfo = this[SENTRY_XHR_DATA_KEY]; if (!xhrInfo) { return; } if (this.readyState === 4) { try { xhrInfo.status_code = this.status; } catch (e) { } const handlerData = { args: [method, url], endTimestamp: Date.now(), startTimestamp, xhr: this }; triggerHandlers("xhr", handlerData); } }; if ("onreadystatechange" in this && typeof this.onreadystatechange === "function") { fill(this, "onreadystatechange", function(original) { return function(...readyStateArgs) { onreadystatechangeHandler(); return original.apply(this, readyStateArgs); }; }); } else { this.addEventListener("readystatechange", onreadystatechangeHandler); } fill(this, "setRequestHeader", function(original) { return function(...setRequestHeaderArgs) { const [header, value] = setRequestHeaderArgs; const xhrInfo = this[SENTRY_XHR_DATA_KEY]; if (xhrInfo && isString(header) && isString(value)) { xhrInfo.request_headers[header.toLowerCase()] = value; } return original.apply(this, setRequestHeaderArgs); }; }); return originalOpen.apply(this, args); }; }); fill(xhrproto, "send", function(originalSend) { return function(...args) { const sentryXhrData = this[SENTRY_XHR_DATA_KEY]; if (!sentryXhrData) { return originalSend.apply(this, args); } if (args[0] !== void 0) { sentryXhrData.body = args[0]; } const handlerData = { args: [sentryXhrData.method, sentryXhrData.url], startTimestamp: Date.now(), xhr: this }; triggerHandlers("xhr", handlerData); return originalSend.apply(this, args); }; }); } function parseUrl(url) { if (isString(url)) { return url; } try { return url.toString(); } catch (e2) { } return void 0; } var WINDOW6, SENTRY_XHR_DATA_KEY; var init_xhr = __esm({ "node_modules/@sentry/utils/esm/instrument/xhr.js"() { init_is(); init_object(); init_worldwide(); init_handlers(); WINDOW6 = GLOBAL_OBJ; SENTRY_XHR_DATA_KEY = "__sentry_xhr_v3__"; } }); // node_modules/@sentry/utils/esm/memo.js function memoBuilder() { const hasWeakSet = typeof WeakSet === "function"; const inner = hasWeakSet ? /* @__PURE__ */ new WeakSet() : []; function memoize(obj) { if (hasWeakSet) { if (inner.has(obj)) { return true; } inner.add(obj); return false; } for (let i = 0; i < inner.length; i++) { const value = inner[i]; if (value === obj) { return true; } } inner.push(obj); return false; } function unmemoize(obj) { if (hasWeakSet) { inner.delete(obj); } else { for (let i = 0; i < inner.length; i++) { if (inner[i] === obj) { inner.splice(i, 1); break; } } } } return [memoize, unmemoize]; } var init_memo = __esm({ "node_modules/@sentry/utils/esm/memo.js"() { } }); // node_modules/@sentry/utils/esm/normalize.js function normalize(input, depth = 100, maxProperties = Infinity) { try { return visit("", input, depth, maxProperties); } catch (err) { return { ERROR: `**non-serializable** (${err})` }; } } function normalizeToSize(object, depth = 3, maxSize = 100 * 1024) { const normalized = normalize(object, depth); if (jsonSize(normalized) > maxSize) { return normalizeToSize(object, depth - 1, maxSize); } return normalized; } function visit(key, value, depth = Infinity, maxProperties = Infinity, memo = memoBuilder()) { const [memoize, unmemoize] = memo; if (value == null || // this matches null and undefined -> eqeq not eqeqeq ["number", "boolean", "string"].includes(typeof value) && !isNaN2(value)) { return value; } const stringified = stringifyValue(key, value); if (!stringified.startsWith("[object ")) { return stringified; } if (value["__sentry_skip_normalization__"]) { return value; } const remainingDepth = typeof value["__sentry_override_normalization_depth__"] === "number" ? value["__sentry_override_normalization_depth__"] : depth; if (remainingDepth === 0) { return stringified.replace("object ", ""); } if (memoize(value)) { return "[Circular ~]"; } const valueWithToJSON = value; if (valueWithToJSON && typeof valueWithToJSON.toJSON === "function") { try { const jsonValue = valueWithToJSON.toJSON(); return visit("", jsonValue, remainingDepth - 1, maxProperties, memo); } catch (err) { } } const normalized = Array.isArray(value) ? [] : {}; let numAdded = 0; const visitable = convertToPlainObject(value); for (const visitKey in visitable) { if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) { continue; } if (numAdded >= maxProperties) { normalized[visitKey] = "[MaxProperties ~]"; break; } const visitValue = visitable[visitKey]; normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo); numAdded++; } unmemoize(value); return normalized; } function stringifyValue(key, value) { try { if (key === "domain" && value && typeof value === "object" && value._events) { return "[Domain]"; } if (key === "domainEmitter") { return "[DomainEmitter]"; } if (typeof global !== "undefined" && value === global) { return "[Global]"; } if (typeof window !== "undefined" && value === window) { return "[Window]"; } if (typeof document !== "undefined" && value === document) { return "[Document]"; } if (isVueViewModel(value)) { return "[VueViewModel]"; } if (isSyntheticEvent(value)) { return "[SyntheticEvent]"; } if (typeof value === "number" && value !== value) { return "[NaN]"; } if (typeof value === "function") { return `[Function: ${getFunctionName(value)}]`; } if (typeof value === "symbol") { return `[${String(value)}]`; } if (typeof value === "bigint") { return `[BigInt: ${String(value)}]`; } const objName = getConstructorName(value); if (/^HTML(\w*)Element$/.test(objName)) { return `[HTMLElement: ${objName}]`; } return `[object ${objName}]`; } catch (err) { return `**non-serializable** (${err})`; } } function getConstructorName(value) { const prototype = Object.getPrototypeOf(value); return prototype ? prototype.constructor.name : "null prototype"; } function utf8Length(value) { return ~-encodeURI(value).split(/%..|./).length; } function jsonSize(value) { return utf8Length(JSON.stringify(value)); } var init_normalize = __esm({ "node_modules/@sentry/utils/esm/normalize.js"() { init_is(); init_memo(); init_object(); init_stacktrace(); } }); // node_modules/@sentry/utils/esm/syncpromise.js var States, SyncPromise; var init_syncpromise = __esm({ "node_modules/@sentry/utils/esm/syncpromise.js"() { init_is(); (function(States2) { const PENDING = 0; States2[States2["PENDING"] = PENDING] = "PENDING"; const RESOLVED = 1; States2[States2["RESOLVED"] = RESOLVED] = "RESOLVED"; const REJECTED = 2; States2[States2["REJECTED"] = REJECTED] = "REJECTED"; })(States || (States = {})); SyncPromise = class _SyncPromise { constructor(executor) { _SyncPromise.prototype.__init.call(this); _SyncPromise.prototype.__init2.call(this); _SyncPromise.prototype.__init3.call(this); _SyncPromise.prototype.__init4.call(this); this._state = States.PENDING; this._handlers = []; try { executor(this._resolve, this._reject); } catch (e) { this._reject(e); } } /** JSDoc */ then(onfulfilled, onrejected) { return new _SyncPromise((resolve, reject2) => { this._handlers.push([ false, (result) => { if (!onfulfilled) { resolve(result); } else { try { resolve(onfulfilled(result)); } catch (e) { reject2(e); } } }, (reason) => { if (!onrejected) { reject2(reason); } else { try { resolve(onrejected(reason)); } catch (e) { reject2(e); } } } ]); this._executeHandlers(); }); } /** JSDoc */ catch(onrejected) { return this.then((val) => val, onrejected); } /** JSDoc */ finally(onfinally) { return new _SyncPromise((resolve, reject2) => { let val; let isRejected; return this.then( (value) => { isRejected = false; val = value; if (onfinally) { onfinally(); } }, (reason) => { isRejected = true; val = reason; if (onfinally) { onfinally(); } } ).then(() => { if (isRejected) { reject2(val); return; } resolve(val); }); }); } /** JSDoc */ __init() { this._resolve = (value) => { this._setResult(States.RESOLVED, value); }; } /** JSDoc */ __init2() { this._reject = (reason) => { this._setResult(States.REJECTED, reason); }; } /** JSDoc */ __init3() { this._setResult = (state, value) => { if (this._state !== States.PENDING) { return; } if (isThenable(value)) { void value.then(this._resolve, this._reject); return; } this._state = state; this._value = value; this._executeHandlers(); }; } /** JSDoc */ __init4() { this._executeHandlers = () => { if (this._state === States.PENDING) { return; } const cachedHandlers = this._handlers.slice(); this._handlers = []; cachedHandlers.forEach((handler) => { if (handler[0]) { return; } if (this._state === States.RESOLVED) { handler[1](this._value); } if (this._state === States.REJECTED) { handler[2](this._value); } handler[0] = true; }); }; } }; } }); // node_modules/@sentry/utils/esm/url.js function parseUrl2(url) { if (!url) { return {}; } const match = url.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/); if (!match) { return {}; } const query = match[6] || ""; const fragment = match[8] || ""; return { host: match[4], path: match[5], protocol: match[2], search: query, hash: fragment, relative: match[5] + query + fragment // everything minus origin }; } var init_url = __esm({ "node_modules/@sentry/utils/esm/url.js"() { } }); // node_modules/@sentry/utils/esm/severity.js function severityLevelFromString(level) { return level === "warn" ? "warning" : validSeverityLevels.includes(level) ? level : "log"; } var validSeverityLevels; var init_severity = __esm({ "node_modules/@sentry/utils/esm/severity.js"() { validSeverityLevels = ["fatal", "error", "warning", "log", "info", "debug"]; } }); // node_modules/@sentry/utils/esm/time.js function dateTimestampInSeconds() { return Date.now() / ONE_SECOND_IN_MS; } function createUnixTimestampInSecondsFunc() { const { performance } = GLOBAL_OBJ; if (!performance || !performance.now) { return dateTimestampInSeconds; } const approxStartingTimeOrigin = Date.now() - performance.now(); const timeOrigin = performance.timeOrigin == void 0 ? approxStartingTimeOrigin : performance.timeOrigin; return () => { return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS; }; } var ONE_SECOND_IN_MS, timestampInSeconds, _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin; var init_time = __esm({ "node_modules/@sentry/utils/esm/time.js"() { init_worldwide(); ONE_SECOND_IN_MS = 1e3; timestampInSeconds = createUnixTimestampInSecondsFunc(); browserPerformanceTimeOrigin = (() => { const { performance } = GLOBAL_OBJ; if (!performance || !performance.now) { _browserPerformanceTimeOriginMode = "none"; return void 0; } const threshold = 3600 * 1e3; const performanceNow = performance.now(); const dateNow = Date.now(); const timeOriginDelta = performance.timeOrigin ? Math.abs(performance.timeOrigin + performanceNow - dateNow) : threshold; const timeOriginIsReliable = timeOriginDelta < threshold; const navigationStart = performance.timing && performance.timing.navigationStart; const hasNavigationStart = typeof navigationStart === "number"; const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold; const navigationStartIsReliable = navigationStartDelta < threshold; if (timeOriginIsReliable || navigationStartIsReliable) { if (timeOriginDelta <= navigationStartDelta) { _browserPerformanceTimeOriginMode = "timeOrigin"; return performance.timeOrigin; } else { _browserPerformanceTimeOriginMode = "navigationStart"; return navigationStart; } } _browserPerformanceTimeOriginMode = "dateNow"; return dateNow; })(); } }); // node_modules/@sentry/utils/esm/eventbuilder.js function parseStackFrames(stackParser, error) { return stackParser(error.stack || "", 1); } function exceptionFromError(stackParser, error) { const exception = { type: error.name || error.constructor.name, value: error.message }; const frames = parseStackFrames(stackParser, error); if (frames.length) { exception.stacktrace = { frames }; } return exception; } var init_eventbuilder = __esm({ "node_modules/@sentry/utils/esm/eventbuilder.js"() { } }); // node_modules/@sentry/utils/esm/index.js var init_esm = __esm({ "node_modules/@sentry/utils/esm/index.js"() { init_aggregate_errors(); init_browser(); init_worldwide(); init_is(); init_logger(); init_misc(); init_normalize(); init_object(); init_severity(); init_stacktrace(); init_string(); init_syncpromise(); init_time(); init_url(); init_eventbuilder(); init_console(); init_dom(); init_xhr(); init_fetch(); init_history(); init_globalError(); init_globalUnhandledRejection(); } }); // node_modules/@sentry/core/esm/debug-build.js var DEBUG_BUILD2; var init_debug_build2 = __esm({ "node_modules/@sentry/core/esm/debug-build.js"() { DEBUG_BUILD2 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__; } }); // node_modules/@sentry/core/esm/constants.js var DEFAULT_ENVIRONMENT; var init_constants = __esm({ "node_modules/@sentry/core/esm/constants.js"() { DEFAULT_ENVIRONMENT = "production"; } }); // node_modules/@sentry/core/esm/eventProcessors.js function getGlobalEventProcessors() { return getGlobalSingleton("globalEventProcessors", () => []); } function notifyEventProcessors(processors, event, hint, index = 0) { return new SyncPromise((resolve, reject2) => { const processor = processors[index]; if (event === null || typeof processor !== "function") { resolve(event); } else { const result = processor(__spreadValues({}, event), hint); DEBUG_BUILD2 && processor.id && result === null && logger.log(`Event processor "${processor.id}" dropped event`); if (isThenable(result)) { void result.then((final) => notifyEventProcessors(processors, final, hint, index + 1).then(resolve)).then(null, reject2); } else { void notifyEventProcessors(processors, result, hint, index + 1).then(resolve).then(null, reject2); } } }); } var init_eventProcessors = __esm({ "node_modules/@sentry/core/esm/eventProcessors.js"() { init_esm(); init_debug_build2(); } }); // node_modules/@sentry/core/esm/session.js function makeSession(context) { const startingTime2 = timestampInSeconds(); const session = { sid: uuid4(), init: true, timestamp: startingTime2, started: startingTime2, duration: 0, status: "ok", errors: 0, ignoreDuration: false, toJSON: () => sessionToJSON(session) }; if (context) { updateSession(session, context); } return session; } function updateSession(session, context = {}) { if (context.user) { if (!session.ipAddress && context.user.ip_address) { session.ipAddress = context.user.ip_address; } if (!session.did && !context.did) { session.did = context.user.id || context.user.email || context.user.username; } } session.timestamp = context.timestamp || timestampInSeconds(); if (context.abnormal_mechanism) { session.abnormal_mechanism = context.abnormal_mechanism; } if (context.ignoreDuration) { session.ignoreDuration = context.ignoreDuration; } if (context.sid) { session.sid = context.sid.length === 32 ? context.sid : uuid4(); } if (context.init !== void 0) { session.init = context.init; } if (!session.did && context.did) { session.did = `${context.did}`; } if (typeof context.started === "number") { session.started = context.started; } if (session.ignoreDuration) { session.duration = void 0; } else if (typeof context.duration === "number") { session.duration = context.duration; } else { const duration = session.timestamp - session.started; session.duration = duration >= 0 ? duration : 0; } if (context.release) { session.release = context.release; } if (context.environment) { session.environment = context.environment; } if (!session.ipAddress && context.ipAddress) { session.ipAddress = context.ipAddress; } if (!session.userAgent && context.userAgent) { session.userAgent = context.userAgent; } if (typeof context.errors === "number") { session.errors = context.errors; } if (context.status) { session.status = context.status; } } function closeSession(session, status) { let context = {}; if (status) { context = { status }; } else if (session.status === "ok") { context = { status: "exited" }; } updateSession(session, context); } function sessionToJSON(session) { return dropUndefinedKeys({ sid: `${session.sid}`, init: session.init, // Make sure that sec is converted to ms for date constructor started: new Date(session.started * 1e3).toISOString(), timestamp: new Date(session.timestamp * 1e3).toISOString(), status: session.status, errors: session.errors, did: typeof session.did === "number" || typeof session.did === "string" ? `${session.did}` : void 0, duration: session.duration, abnormal_mechanism: session.abnormal_mechanism, attrs: { release: session.release, environment: session.environment, ip_address: session.ipAddress, user_agent: session.userAgent } }); } var init_session = __esm({ "node_modules/@sentry/core/esm/session.js"() { init_esm(); } }); // node_modules/@sentry/core/esm/utils/spanUtils.js function spanToTraceContext(span) { const { spanId: span_id, traceId: trace_id } = span.spanContext(); const { data, op, parent_span_id, status, tags, origin } = spanToJSON(span); return dropUndefinedKeys({ data, op, parent_span_id, span_id, status, tags, trace_id, origin }); } function spanToJSON(span) { if (spanIsSpanClass(span)) { return span.getSpanJSON(); } if (typeof span.toJSON === "function") { return span.toJSON(); } return {}; } function spanIsSpanClass(span) { return typeof span.getSpanJSON === "function"; } function spanIsSampled(span) { const { traceFlags } = span.spanContext(); return Boolean(traceFlags & TRACE_FLAG_SAMPLED); } var TRACE_FLAG_SAMPLED; var init_spanUtils = __esm({ "node_modules/@sentry/core/esm/utils/spanUtils.js"() { init_esm(); TRACE_FLAG_SAMPLED = 1; } }); // node_modules/@sentry/core/esm/utils/prepareEvent.js function parseEventHintOrCaptureContext(hint) { if (!hint) { return void 0; } if (hintIsScopeOrFunction(hint)) { return { captureContext: hint }; } if (hintIsScopeContext(hint)) { return { captureContext: hint }; } return hint; } function hintIsScopeOrFunction(hint) { return hint instanceof Scope || typeof hint === "function"; } function hintIsScopeContext(hint) { return Object.keys(hint).some((key) => captureContextKeys.includes(key)); } var captureContextKeys; var init_prepareEvent = __esm({ "node_modules/@sentry/core/esm/utils/prepareEvent.js"() { init_scope(); captureContextKeys = [ "user", "level", "extra", "contexts", "tags", "fingerprint", "requestSession", "propagationContext" ]; } }); // node_modules/@sentry/core/esm/exports.js function captureException(exception, hint) { return getCurrentHub().captureException(exception, parseEventHintOrCaptureContext(hint)); } function captureEvent(event, hint) { return getCurrentHub().captureEvent(event, hint); } function addBreadcrumb(breadcrumb, hint) { getCurrentHub().addBreadcrumb(breadcrumb, hint); } function withScope(...rest) { const hub = getCurrentHub(); if (rest.length === 2) { const [scope, callback] = rest; if (!scope) { return hub.withScope(callback); } return hub.withScope(() => { hub.getStackTop().scope = scope; return callback(scope); }); } return hub.withScope(rest[0]); } function getClient() { return getCurrentHub().getClient(); } function getCurrentScope() { return getCurrentHub().getScope(); } var init_exports = __esm({ "node_modules/@sentry/core/esm/exports.js"() { init_hub(); init_prepareEvent(); } }); // node_modules/@sentry/core/esm/utils/getRootSpan.js function getRootSpan(span) { return span.transaction; } var init_getRootSpan = __esm({ "node_modules/@sentry/core/esm/utils/getRootSpan.js"() { } }); // node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js function getDynamicSamplingContextFromClient(trace_id, client, scope) { const options = client.getOptions(); const { publicKey: public_key } = client.getDsn() || {}; const { segment: user_segment } = scope && scope.getUser() || {}; const dsc = dropUndefinedKeys({ environment: options.environment || DEFAULT_ENVIRONMENT, release: options.release, user_segment, public_key, trace_id }); client.emit && client.emit("createDsc", dsc); return dsc; } function getDynamicSamplingContextFromSpan(span) { const client = getClient(); if (!client) { return {}; } const dsc = getDynamicSamplingContextFromClient(spanToJSON(span).trace_id || "", client, getCurrentScope()); const txn = getRootSpan(span); if (!txn) { return dsc; } const v7FrozenDsc = txn && txn._frozenDynamicSamplingContext; if (v7FrozenDsc) { return v7FrozenDsc; } const { sampleRate: maybeSampleRate, source } = txn.metadata; if (maybeSampleRate != null) { dsc.sample_rate = `${maybeSampleRate}`; } const jsonSpan = spanToJSON(txn); if (source && source !== "url") { dsc.transaction = jsonSpan.description; } dsc.sampled = String(spanIsSampled(txn)); client.emit && client.emit("createDsc", dsc); return dsc; } var init_dynamicSamplingContext = __esm({ "node_modules/@sentry/core/esm/tracing/dynamicSamplingContext.js"() { init_esm(); init_constants(); init_exports(); init_getRootSpan(); init_spanUtils(); } }); // node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js function applyScopeDataToEvent(event, data) { const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data; applyDataToEvent(event, data); if (span) { applySpanToEvent(event, span); } applyFingerprintToEvent(event, fingerprint); applyBreadcrumbsToEvent(event, breadcrumbs); applySdkMetadataToEvent(event, sdkProcessingMetadata); } function applyDataToEvent(event, data) { const { extra, tags, user: user2, contexts, level, // eslint-disable-next-line deprecation/deprecation transactionName } = data; const cleanedExtra = dropUndefinedKeys(extra); if (cleanedExtra && Object.keys(cleanedExtra).length) { event.extra = __spreadValues(__spreadValues({}, cleanedExtra), event.extra); } const cleanedTags = dropUndefinedKeys(tags); if (cleanedTags && Object.keys(cleanedTags).length) { event.tags = __spreadValues(__spreadValues({}, cleanedTags), event.tags); } const cleanedUser = dropUndefinedKeys(user2); if (cleanedUser && Object.keys(cleanedUser).length) { event.user = __spreadValues(__spreadValues({}, cleanedUser), event.user); } const cleanedContexts = dropUndefinedKeys(contexts); if (cleanedContexts && Object.keys(cleanedContexts).length) { event.contexts = __spreadValues(__spreadValues({}, cleanedContexts), event.contexts); } if (level) { event.level = level; } if (transactionName) { event.transaction = transactionName; } } function applyBreadcrumbsToEvent(event, breadcrumbs) { const mergedBreadcrumbs = [...event.breadcrumbs || [], ...breadcrumbs]; event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : void 0; } function applySdkMetadataToEvent(event, sdkProcessingMetadata) { event.sdkProcessingMetadata = __spreadValues(__spreadValues({}, event.sdkProcessingMetadata), sdkProcessingMetadata); } function applySpanToEvent(event, span) { event.contexts = __spreadValues({ trace: spanToTraceContext(span) }, event.contexts); const rootSpan = getRootSpan(span); if (rootSpan) { event.sdkProcessingMetadata = __spreadValues({ dynamicSamplingContext: getDynamicSamplingContextFromSpan(span) }, event.sdkProcessingMetadata); const transactionName = spanToJSON(rootSpan).description; if (transactionName) { event.tags = __spreadValues({ transaction: transactionName }, event.tags); } } } function applyFingerprintToEvent(event, fingerprint) { event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : []; if (fingerprint) { event.fingerprint = event.fingerprint.concat(fingerprint); } if (event.fingerprint && !event.fingerprint.length) { delete event.fingerprint; } } var init_applyScopeDataToEvent = __esm({ "node_modules/@sentry/core/esm/utils/applyScopeDataToEvent.js"() { init_esm(); init_dynamicSamplingContext(); init_getRootSpan(); init_spanUtils(); } }); // node_modules/@sentry/core/esm/scope.js function generatePropagationContext() { return { traceId: uuid4(), spanId: uuid4().substring(16) }; } var DEFAULT_MAX_BREADCRUMBS, Scope; var init_scope = __esm({ "node_modules/@sentry/core/esm/scope.js"() { init_esm(); init_eventProcessors(); init_session(); init_applyScopeDataToEvent(); DEFAULT_MAX_BREADCRUMBS = 100; Scope = class _Scope { /** Flag if notifying is happening. */ /** Callback for client to receive scope changes. */ /** Callback list that will be called after {@link applyToEvent}. */ /** Array of breadcrumbs. */ /** User */ /** Tags */ /** Extra */ /** Contexts */ /** Attachments */ /** Propagation Context for distributed tracing */ /** * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get * sent to Sentry */ /** Fingerprint */ /** Severity */ // eslint-disable-next-line deprecation/deprecation /** * Transaction Name */ /** Span */ /** Session */ /** Request Mode Session Status */ /** The client on this scope */ // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method. constructor() { this._notifyingListeners = false; this._scopeListeners = []; this._eventProcessors = []; this._breadcrumbs = []; this._attachments = []; this._user = {}; this._tags = {}; this._extra = {}; this._contexts = {}; this._sdkProcessingMetadata = {}; this._propagationContext = generatePropagationContext(); } /** * Inherit values from the parent scope. * @deprecated Use `scope.clone()` and `new Scope()` instead. */ static clone(scope) { return scope ? scope.clone() : new _Scope(); } /** * Clone this scope instance. */ clone() { const newScope = new _Scope(); newScope._breadcrumbs = [...this._breadcrumbs]; newScope._tags = __spreadValues({}, this._tags); newScope._extra = __spreadValues({}, this._extra); newScope._contexts = __spreadValues({}, this._contexts); newScope._user = this._user; newScope._level = this._level; newScope._span = this._span; newScope._session = this._session; newScope._transactionName = this._transactionName; newScope._fingerprint = this._fingerprint; newScope._eventProcessors = [...this._eventProcessors]; newScope._requestSession = this._requestSession; newScope._attachments = [...this._attachments]; newScope._sdkProcessingMetadata = __spreadValues({}, this._sdkProcessingMetadata); newScope._propagationContext = __spreadValues({}, this._propagationContext); newScope._client = this._client; return newScope; } /** Update the client on the scope. */ setClient(client) { this._client = client; } /** * Get the client assigned to this scope. * * It is generally recommended to use the global function `Sentry.getClient()` instead, unless you know what you are doing. */ getClient() { return this._client; } /** * Add internal on change listener. Used for sub SDKs that need to store the scope. * @hidden */ addScopeListener(callback) { this._scopeListeners.push(callback); } /** * @inheritDoc */ addEventProcessor(callback) { this._eventProcessors.push(callback); return this; } /** * @inheritDoc */ setUser(user2) { this._user = user2 || { email: void 0, id: void 0, ip_address: void 0, segment: void 0, username: void 0 }; if (this._session) { updateSession(this._session, { user: user2 }); } this._notifyScopeListeners(); return this; } /** * @inheritDoc */ getUser() { return this._user; } /** * @inheritDoc */ getRequestSession() { return this._requestSession; } /** * @inheritDoc */ setRequestSession(requestSession) { this._requestSession = requestSession; return this; } /** * @inheritDoc */ setTags(tags) { this._tags = __spreadValues(__spreadValues({}, this._tags), tags); this._notifyScopeListeners(); return this; } /** * @inheritDoc */ setTag(key, value) { this._tags = __spreadProps(__spreadValues({}, this._tags), { [key]: value }); this._notifyScopeListeners(); return this; } /** * @inheritDoc */ setExtras(extras) { this._extra = __spreadValues(__spreadValues({}, this._extra), extras); this._notifyScopeListeners(); return this; } /** * @inheritDoc */ setExtra(key, extra) { this._extra = __spreadProps(__spreadValues({}, this._extra), { [key]: extra }); this._notifyScopeListeners(); return this; } /** * @inheritDoc */ setFingerprint(fingerprint) { this._fingerprint = fingerprint; this._notifyScopeListeners(); return this; } /** * @inheritDoc */ setLevel(level) { this._level = level; this._notifyScopeListeners(); return this; } /** * Sets the transaction name on the scope for future events. */ setTransactionName(name) { this._transactionName = name; this._notifyScopeListeners(); return this; } /** * @inheritDoc */ setContext(key, context) { if (context === null) { delete this._contexts[key]; } else { this._contexts[key] = context; } this._notifyScopeListeners(); return this; } /** * Sets the Span on the scope. * @param span Span * @deprecated Instead of setting a span on a scope, use `startSpan()`/`startSpanManual()` instead. */ setSpan(span) { this._span = span; this._notifyScopeListeners(); return this; } /** * Returns the `Span` if there is one. * @deprecated Use `getActiveSpan()` instead. */ getSpan() { return this._span; } /** * Returns the `Transaction` attached to the scope (if there is one). * @deprecated You should not rely on the transaction, but just use `startSpan()` APIs instead. */ getTransaction() { const span = this._span; return span && span.transaction; } /** * @inheritDoc */ setSession(session) { if (!session) { delete this._session; } else { this._session = session; } this._notifyScopeListeners(); return this; } /** * @inheritDoc */ getSession() { return this._session; } /** * @inheritDoc */ update(captureContext) { if (!captureContext) { return this; } const scopeToMerge = typeof captureContext === "function" ? captureContext(this) : captureContext; if (scopeToMerge instanceof _Scope) { const scopeData = scopeToMerge.getScopeData(); this._tags = __spreadValues(__spreadValues({}, this._tags), scopeData.tags); this._extra = __spreadValues(__spreadValues({}, this._extra), scopeData.extra); this._contexts = __spreadValues(__spreadValues({}, this._contexts), scopeData.contexts); if (scopeData.user && Object.keys(scopeData.user).length) { this._user = scopeData.user; } if (scopeData.level) { this._level = scopeData.level; } if (scopeData.fingerprint.length) { this._fingerprint = scopeData.fingerprint; } if (scopeToMerge.getRequestSession()) { this._requestSession = scopeToMerge.getRequestSession(); } if (scopeData.propagationContext) { this._propagationContext = scopeData.propagationContext; } } else if (isPlainObject(scopeToMerge)) { const scopeContext = captureContext; this._tags = __spreadValues(__spreadValues({}, this._tags), scopeContext.tags); this._extra = __spreadValues(__spreadValues({}, this._extra), scopeContext.extra); this._contexts = __spreadValues(__spreadValues({}, this._contexts), scopeContext.contexts); if (scopeContext.user) { this._user = scopeContext.user; } if (scopeContext.level) { this._level = scopeContext.level; } if (scopeContext.fingerprint) { this._fingerprint = scopeContext.fingerprint; } if (scopeContext.requestSession) { this._requestSession = scopeContext.requestSession; } if (scopeContext.propagationContext) { this._propagationContext = scopeContext.propagationContext; } } return this; } /** * @inheritDoc */ clear() { this._breadcrumbs = []; this._tags = {}; this._extra = {}; this._user = {}; this._contexts = {}; this._level = void 0; this._transactionName = void 0; this._fingerprint = void 0; this._requestSession = void 0; this._span = void 0; this._session = void 0; this._notifyScopeListeners(); this._attachments = []; this._propagationContext = generatePropagationContext(); return this; } /** * @inheritDoc */ addBreadcrumb(breadcrumb, maxBreadcrumbs) { const maxCrumbs = typeof maxBreadcrumbs === "number" ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS; if (maxCrumbs <= 0) { return this; } const mergedBreadcrumb = __spreadValues({ timestamp: dateTimestampInSeconds() }, breadcrumb); const breadcrumbs = this._breadcrumbs; breadcrumbs.push(mergedBreadcrumb); this._breadcrumbs = breadcrumbs.length > maxCrumbs ? breadcrumbs.slice(-maxCrumbs) : breadcrumbs; this._notifyScopeListeners(); return this; } /** * @inheritDoc */ getLastBreadcrumb() { return this._breadcrumbs[this._breadcrumbs.length - 1]; } /** * @inheritDoc */ clearBreadcrumbs() { this._breadcrumbs = []; this._notifyScopeListeners(); return this; } /** * @inheritDoc */ addAttachment(attachment) { this._attachments.push(attachment); return this; } /** * @inheritDoc * @deprecated Use `getScopeData()` instead. */ getAttachments() { const data = this.getScopeData(); return data.attachments; } /** * @inheritDoc */ clearAttachments() { this._attachments = []; return this; } /** @inheritDoc */ getScopeData() { const { _breadcrumbs, _attachments, _contexts, _tags, _extra, _user, _level, _fingerprint, _eventProcessors, _propagationContext, _sdkProcessingMetadata, _transactionName, _span } = this; return { breadcrumbs: _breadcrumbs, attachments: _attachments, contexts: _contexts, tags: _tags, extra: _extra, user: _user, level: _level, fingerprint: _fingerprint || [], eventProcessors: _eventProcessors, propagationContext: _propagationContext, sdkProcessingMetadata: _sdkProcessingMetadata, transactionName: _transactionName, span: _span }; } /** * Applies data from the scope to the event and runs all event processors on it. * * @param event Event * @param hint Object containing additional information about the original exception, for use by the event processors. * @hidden * @deprecated Use `applyScopeDataToEvent()` directly */ applyToEvent(event, hint = {}, additionalEventProcessors = []) { applyScopeDataToEvent(event, this.getScopeData()); const eventProcessors = [ ...additionalEventProcessors, // eslint-disable-next-line deprecation/deprecation ...getGlobalEventProcessors(), ...this._eventProcessors ]; return notifyEventProcessors(eventProcessors, event, hint); } /** * Add data which will be accessible during event processing but won't get sent to Sentry */ setSDKProcessingMetadata(newData) { this._sdkProcessingMetadata = __spreadValues(__spreadValues({}, this._sdkProcessingMetadata), newData); return this; } /** * @inheritDoc */ setPropagationContext(context) { this._propagationContext = context; return this; } /** * @inheritDoc */ getPropagationContext() { return this._propagationContext; } /** * Capture an exception for this scope. * * @param exception The exception to capture. * @param hint Optinal additional data to attach to the Sentry event. * @returns the id of the captured Sentry event. */ captureException(exception, hint) { const eventId = hint && hint.event_id ? hint.event_id : uuid4(); if (!this._client) { logger.warn("No client configured on scope - will not capture exception!"); return eventId; } const syntheticException = new Error("Sentry syntheticException"); this._client.captureException( exception, __spreadProps(__spreadValues({ originalException: exception, syntheticException }, hint), { event_id: eventId }), this ); return eventId; } /** * Capture a message for this scope. * * @param message The message to capture. * @param level An optional severity level to report the message with. * @param hint Optional additional data to attach to the Sentry event. * @returns the id of the captured message. */ captureMessage(message, level, hint) { const eventId = hint && hint.event_id ? hint.event_id : uuid4(); if (!this._client) { logger.warn("No client configured on scope - will not capture message!"); return eventId; } const syntheticException = new Error(message); this._client.captureMessage( message, level, __spreadProps(__spreadValues({ originalException: message, syntheticException }, hint), { event_id: eventId }), this ); return eventId; } /** * Captures a manually created event for this scope and sends it to Sentry. * * @param exception The event to capture. * @param hint Optional additional data to attach to the Sentry event. * @returns the id of the captured event. */ captureEvent(event, hint) { const eventId = hint && hint.event_id ? hint.event_id : uuid4(); if (!this._client) { logger.warn("No client configured on scope - will not capture event!"); return eventId; } this._client.captureEvent(event, __spreadProps(__spreadValues({}, hint), { event_id: eventId }), this); return eventId; } /** * This will be called on every set call. */ _notifyScopeListeners() { if (!this._notifyingListeners) { this._notifyingListeners = true; this._scopeListeners.forEach((callback) => { callback(this); }); this._notifyingListeners = false; } } }; } }); // node_modules/@sentry/core/esm/version.js var SDK_VERSION; var init_version = __esm({ "node_modules/@sentry/core/esm/version.js"() { SDK_VERSION = "7.110.1"; } }); // node_modules/@sentry/core/esm/hub.js function getMainCarrier() { GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || { extensions: {}, hub: void 0 }; return GLOBAL_OBJ; } function makeMain(hub) { const registry = getMainCarrier(); const oldHub = getHubFromCarrier(registry); setHubOnCarrier(registry, hub); return oldHub; } function getCurrentHub() { const registry = getMainCarrier(); if (registry.__SENTRY__ && registry.__SENTRY__.acs) { const hub = registry.__SENTRY__.acs.getCurrentHub(); if (hub) { return hub; } } return getGlobalHub(registry); } function getGlobalHub(registry = getMainCarrier()) { if (!hasHubOnCarrier(registry) || // eslint-disable-next-line deprecation/deprecation getHubFromCarrier(registry).isOlderThan(API_VERSION)) { setHubOnCarrier(registry, new Hub()); } return getHubFromCarrier(registry); } function hasHubOnCarrier(carrier) { return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub); } function getHubFromCarrier(carrier) { return getGlobalSingleton("hub", () => new Hub(), carrier); } function setHubOnCarrier(carrier, hub) { if (!carrier) return false; const __SENTRY__ = carrier.__SENTRY__ = carrier.__SENTRY__ || {}; __SENTRY__.hub = hub; return true; } var API_VERSION, DEFAULT_BREADCRUMBS, Hub; var init_hub = __esm({ "node_modules/@sentry/core/esm/hub.js"() { init_esm(); init_constants(); init_debug_build2(); init_scope(); init_session(); init_version(); API_VERSION = parseFloat(SDK_VERSION); DEFAULT_BREADCRUMBS = 100; Hub = class { /** Is a {@link Layer}[] containing the client and scope */ /** Contains the last event id of a captured event. */ /** * Creates a new instance of the hub, will push one {@link Layer} into the * internal stack on creation. * * @param client bound to the hub. * @param scope bound to the hub. * @param version number, higher number means higher priority. * * @deprecated Instantiation of Hub objects is deprecated and the constructor will be removed in version 8 of the SDK. * * If you are currently using the Hub for multi-client use like so: * * ``` * // OLD * const hub = new Hub(); * hub.bindClient(client); * makeMain(hub) * ``` * * instead initialize the client as follows: * * ``` * // NEW * Sentry.withIsolationScope(() => { * Sentry.setCurrentClient(client); * client.init(); * }); * ``` * * If you are using the Hub to capture events like so: * * ``` * // OLD * const client = new Client(); * const hub = new Hub(client); * hub.captureException() * ``` * * instead capture isolated events as follows: * * ``` * // NEW * const client = new Client(); * const scope = new Scope(); * scope.setClient(client); * scope.captureException(); * ``` */ constructor(client, scope, isolationScope, _version = API_VERSION) { this._version = _version; let assignedScope; if (!scope) { assignedScope = new Scope(); assignedScope.setClient(client); } else { assignedScope = scope; } let assignedIsolationScope; if (!isolationScope) { assignedIsolationScope = new Scope(); assignedIsolationScope.setClient(client); } else { assignedIsolationScope = isolationScope; } this._stack = [{ scope: assignedScope }]; if (client) { this.bindClient(client); } this._isolationScope = assignedIsolationScope; } /** * Checks if this hub's version is older than the given version. * * @param version A version number to compare to. * @return True if the given version is newer; otherwise false. * * @deprecated This will be removed in v8. */ isOlderThan(version) { return this._version < version; } /** * This binds the given client to the current scope. * @param client An SDK client (client) instance. * * @deprecated Use `initAndBind()` directly, or `setCurrentClient()` and/or `client.init()` instead. */ bindClient(client) { const top = this.getStackTop(); top.client = client; top.scope.setClient(client); if (client && client.setupIntegrations) { client.setupIntegrations(); } } /** * @inheritDoc * * @deprecated Use `withScope` instead. */ pushScope() { const scope = this.getScope().clone(); this.getStack().push({ // eslint-disable-next-line deprecation/deprecation client: this.getClient(), scope }); return scope; } /** * @inheritDoc * * @deprecated Use `withScope` instead. */ popScope() { if (this.getStack().length <= 1) return false; return !!this.getStack().pop(); } /** * @inheritDoc * * @deprecated Use `Sentry.withScope()` instead. */ withScope(callback) { const scope = this.pushScope(); let maybePromiseResult; try { maybePromiseResult = callback(scope); } catch (e) { this.popScope(); throw e; } if (isThenable(maybePromiseResult)) { return maybePromiseResult.then( (res) => { this.popScope(); return res; }, (e) => { this.popScope(); throw e; } ); } this.popScope(); return maybePromiseResult; } /** * @inheritDoc * * @deprecated Use `Sentry.getClient()` instead. */ getClient() { return this.getStackTop().client; } /** * Returns the scope of the top stack. * * @deprecated Use `Sentry.getCurrentScope()` instead. */ getScope() { return this.getStackTop().scope; } /** * @deprecated Use `Sentry.getIsolationScope()` instead. */ getIsolationScope() { return this._isolationScope; } /** * Returns the scope stack for domains or the process. * @deprecated This will be removed in v8. */ getStack() { return this._stack; } /** * Returns the topmost scope layer in the order domain > local > process. * @deprecated This will be removed in v8. */ getStackTop() { return this._stack[this._stack.length - 1]; } /** * @inheritDoc * * @deprecated Use `Sentry.captureException()` instead. */ captureException(exception, hint) { const eventId = this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4(); const syntheticException = new Error("Sentry syntheticException"); this.getScope().captureException(exception, __spreadProps(__spreadValues({ originalException: exception, syntheticException }, hint), { event_id: eventId })); return eventId; } /** * @inheritDoc * * @deprecated Use `Sentry.captureMessage()` instead. */ captureMessage(message, level, hint) { const eventId = this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4(); const syntheticException = new Error(message); this.getScope().captureMessage(message, level, __spreadProps(__spreadValues({ originalException: message, syntheticException }, hint), { event_id: eventId })); return eventId; } /** * @inheritDoc * * @deprecated Use `Sentry.captureEvent()` instead. */ captureEvent(event, hint) { const eventId = hint && hint.event_id ? hint.event_id : uuid4(); if (!event.type) { this._lastEventId = eventId; } this.getScope().captureEvent(event, __spreadProps(__spreadValues({}, hint), { event_id: eventId })); return eventId; } /** * @inheritDoc * * @deprecated This will be removed in v8. */ lastEventId() { return this._lastEventId; } /** * @inheritDoc * * @deprecated Use `Sentry.addBreadcrumb()` instead. */ addBreadcrumb(breadcrumb, hint) { const { scope, client } = this.getStackTop(); if (!client) return; const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions && client.getOptions() || {}; if (maxBreadcrumbs <= 0) return; const timestamp = dateTimestampInSeconds(); const mergedBreadcrumb = __spreadValues({ timestamp }, breadcrumb); const finalBreadcrumb = beforeBreadcrumb ? consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) : mergedBreadcrumb; if (finalBreadcrumb === null) return; if (client.emit) { client.emit("beforeAddBreadcrumb", finalBreadcrumb, hint); } scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs); } /** * @inheritDoc * @deprecated Use `Sentry.setUser()` instead. */ setUser(user2) { this.getScope().setUser(user2); this.getIsolationScope().setUser(user2); } /** * @inheritDoc * @deprecated Use `Sentry.setTags()` instead. */ setTags(tags) { this.getScope().setTags(tags); this.getIsolationScope().setTags(tags); } /** * @inheritDoc * @deprecated Use `Sentry.setExtras()` instead. */ setExtras(extras) { this.getScope().setExtras(extras); this.getIsolationScope().setExtras(extras); } /** * @inheritDoc * @deprecated Use `Sentry.setTag()` instead. */ setTag(key, value) { this.getScope().setTag(key, value); this.getIsolationScope().setTag(key, value); } /** * @inheritDoc * @deprecated Use `Sentry.setExtra()` instead. */ setExtra(key, extra) { this.getScope().setExtra(key, extra); this.getIsolationScope().setExtra(key, extra); } /** * @inheritDoc * @deprecated Use `Sentry.setContext()` instead. */ // eslint-disable-next-line @typescript-eslint/no-explicit-any setContext(name, context) { this.getScope().setContext(name, context); this.getIsolationScope().setContext(name, context); } /** * @inheritDoc * * @deprecated Use `getScope()` directly. */ configureScope(callback) { const { scope, client } = this.getStackTop(); if (client) { callback(scope); } } /** * @inheritDoc */ // eslint-disable-next-line deprecation/deprecation run(callback) { const oldHub = makeMain(this); try { callback(this); } finally { makeMain(oldHub); } } /** * @inheritDoc * @deprecated Use `Sentry.getClient().getIntegrationByName()` instead. */ getIntegration(integration) { const client = this.getClient(); if (!client) return null; try { return client.getIntegration(integration); } catch (_oO) { DEBUG_BUILD2 && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`); return null; } } /** * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation. * * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a * new child span within the transaction or any span, call the respective `.startChild()` method. * * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded. * * The transaction must be finished with a call to its `.end()` method, at which point the transaction with all its * finished child spans will be sent to Sentry. * * @param context Properties of the new `Transaction`. * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent * default values). See {@link Options.tracesSampler}. * * @returns The transaction which was just started * * @deprecated Use `startSpan()`, `startSpanManual()` or `startInactiveSpan()` instead. */ startTransaction(context, customSamplingContext) { const result = this._callExtensionMethod("startTransaction", context, customSamplingContext); if (DEBUG_BUILD2 && !result) { const client = this.getClient(); if (!client) { logger.warn( "Tracing extension 'startTransaction' is missing. You should 'init' the SDK before calling 'startTransaction'" ); } else { logger.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init': Sentry.addTracingExtensions(); Sentry.init({...}); `); } } return result; } /** * @inheritDoc * @deprecated Use `spanToTraceHeader()` instead. */ traceHeaders() { return this._callExtensionMethod("traceHeaders"); } /** * @inheritDoc * * @deprecated Use top level `captureSession` instead. */ captureSession(endSession2 = false) { if (endSession2) { return this.endSession(); } this._sendSessionUpdate(); } /** * @inheritDoc * @deprecated Use top level `endSession` instead. */ endSession() { const layer = this.getStackTop(); const scope = layer.scope; const session = scope.getSession(); if (session) { closeSession(session); } this._sendSessionUpdate(); scope.setSession(); } /** * @inheritDoc * @deprecated Use top level `startSession` instead. */ startSession(context) { const { scope, client } = this.getStackTop(); const { release, environment = DEFAULT_ENVIRONMENT } = client && client.getOptions() || {}; const { userAgent } = GLOBAL_OBJ.navigator || {}; const session = makeSession(__spreadValues(__spreadValues({ release, environment, user: scope.getUser() }, userAgent && { userAgent }), context)); const currentSession = scope.getSession && scope.getSession(); if (currentSession && currentSession.status === "ok") { updateSession(currentSession, { status: "exited" }); } this.endSession(); scope.setSession(session); return session; } /** * Returns if default PII should be sent to Sentry and propagated in ourgoing requests * when Tracing is used. * * @deprecated Use top-level `getClient().getOptions().sendDefaultPii` instead. This function * only unnecessarily increased API surface but only wrapped accessing the option. */ shouldSendDefaultPii() { const client = this.getClient(); const options = client && client.getOptions(); return Boolean(options && options.sendDefaultPii); } /** * Sends the current Session on the scope */ _sendSessionUpdate() { const { scope, client } = this.getStackTop(); const session = scope.getSession(); if (session && client && client.captureSession) { client.captureSession(session); } } /** * Calls global extension method and binding current instance to the function call */ // @ts-expect-error Function lacks ending return statement and return type does not include 'undefined'. ts(2366) // eslint-disable-next-line @typescript-eslint/no-explicit-any _callExtensionMethod(method, ...args) { const carrier = getMainCarrier(); const sentry = carrier.__SENTRY__; if (sentry && sentry.extensions && typeof sentry.extensions[method] === "function") { return sentry.extensions[method].apply(this, args); } DEBUG_BUILD2 && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`); } }; } }); // node_modules/@sentry/core/esm/integration.js function convertIntegrationFnToClass(name, fn) { return Object.assign( function ConvertedIntegration(...args) { return fn(...args); }, { id: name } ); } function defineIntegration(fn) { return fn; } var init_integration = __esm({ "node_modules/@sentry/core/esm/integration.js"() { } }); // node_modules/@sentry/core/esm/integrations/inboundfilters.js function _mergeOptions(internalOptions = {}, clientOptions = {}) { return { allowUrls: [...internalOptions.allowUrls || [], ...clientOptions.allowUrls || []], denyUrls: [...internalOptions.denyUrls || [], ...clientOptions.denyUrls || []], ignoreErrors: [ ...internalOptions.ignoreErrors || [], ...clientOptions.ignoreErrors || [], ...internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS ], ignoreTransactions: [ ...internalOptions.ignoreTransactions || [], ...clientOptions.ignoreTransactions || [], ...internalOptions.disableTransactionDefaults ? [] : DEFAULT_IGNORE_TRANSACTIONS ], ignoreInternal: internalOptions.ignoreInternal !== void 0 ? internalOptions.ignoreInternal : true }; } function _shouldDropEvent(event, options) { if (options.ignoreInternal && _isSentryError(event)) { DEBUG_BUILD2 && logger.warn(`Event dropped due to being internal Sentry Error. Event: ${getEventDescription(event)}`); return true; } if (_isIgnoredError(event, options.ignoreErrors)) { DEBUG_BUILD2 && logger.warn( `Event dropped due to being matched by \`ignoreErrors\` option. Event: ${getEventDescription(event)}` ); return true; } if (_isIgnoredTransaction(event, options.ignoreTransactions)) { DEBUG_BUILD2 && logger.warn( `Event dropped due to being matched by \`ignoreTransactions\` option. Event: ${getEventDescription(event)}` ); return true; } if (_isDeniedUrl(event, options.denyUrls)) { DEBUG_BUILD2 && logger.warn( `Event dropped due to being matched by \`denyUrls\` option. Event: ${getEventDescription( event )}. Url: ${_getEventFilterUrl(event)}` ); return true; } if (!_isAllowedUrl(event, options.allowUrls)) { DEBUG_BUILD2 && logger.warn( `Event dropped due to not being matched by \`allowUrls\` option. Event: ${getEventDescription( event )}. Url: ${_getEventFilterUrl(event)}` ); return true; } return false; } function _isIgnoredError(event, ignoreErrors) { if (event.type || !ignoreErrors || !ignoreErrors.length) { return false; } return _getPossibleEventMessages(event).some((message) => stringMatchesSomePattern(message, ignoreErrors)); } function _isIgnoredTransaction(event, ignoreTransactions) { if (event.type !== "transaction" || !ignoreTransactions || !ignoreTransactions.length) { return false; } const name = event.transaction; return name ? stringMatchesSomePattern(name, ignoreTransactions) : false; } function _isDeniedUrl(event, denyUrls) { if (!denyUrls || !denyUrls.length) { return false; } const url = _getEventFilterUrl(event); return !url ? false : stringMatchesSomePattern(url, denyUrls); } function _isAllowedUrl(event, allowUrls) { if (!allowUrls || !allowUrls.length) { return true; } const url = _getEventFilterUrl(event); return !url ? true : stringMatchesSomePattern(url, allowUrls); } function _getPossibleEventMessages(event) { const possibleMessages = []; if (event.message) { possibleMessages.push(event.message); } let lastException; try { lastException = event.exception.values[event.exception.values.length - 1]; } catch (e) { } if (lastException) { if (lastException.value) { possibleMessages.push(lastException.value); if (lastException.type) { possibleMessages.push(`${lastException.type}: ${lastException.value}`); } } } if (DEBUG_BUILD2 && possibleMessages.length === 0) { logger.error(`Could not extract message for event ${getEventDescription(event)}`); } return possibleMessages; } function _isSentryError(event) { try { return event.exception.values[0].type === "SentryError"; } catch (e) { } return false; } function _getLastValidUrl(frames = []) { for (let i = frames.length - 1; i >= 0; i--) { const frame = frames[i]; if (frame && frame.filename !== "<anonymous>" && frame.filename !== "[native code]") { return frame.filename || null; } } return null; } function _getEventFilterUrl(event) { try { let frames; try { frames = event.exception.values[0].stacktrace.frames; } catch (e) { } return frames ? _getLastValidUrl(frames) : null; } catch (oO) { DEBUG_BUILD2 && logger.error(`Cannot extract url for event ${getEventDescription(event)}`); return null; } } var DEFAULT_IGNORE_ERRORS, DEFAULT_IGNORE_TRANSACTIONS, INTEGRATION_NAME, _inboundFiltersIntegration, inboundFiltersIntegration, InboundFilters; var init_inboundfilters = __esm({ "node_modules/@sentry/core/esm/integrations/inboundfilters.js"() { init_esm(); init_debug_build2(); init_integration(); DEFAULT_IGNORE_ERRORS = [ /^Script error\.?$/, /^Javascript error: Script error\.? on line 0$/, /^ResizeObserver loop completed with undelivered notifications.$/, /^Cannot redefine property: googletag$/ ]; DEFAULT_IGNORE_TRANSACTIONS = [ /^.*\/healthcheck$/, /^.*\/healthy$/, /^.*\/live$/, /^.*\/ready$/, /^.*\/heartbeat$/, /^.*\/health$/, /^.*\/healthz$/ ]; INTEGRATION_NAME = "InboundFilters"; _inboundFiltersIntegration = (options = {}) => { return { name: INTEGRATION_NAME, // TODO v8: Remove this setupOnce() { }, // eslint-disable-line @typescript-eslint/no-empty-function processEvent(event, _hint, client) { const clientOptions = client.getOptions(); const mergedOptions = _mergeOptions(options, clientOptions); return _shouldDropEvent(event, mergedOptions) ? null : event; } }; }; inboundFiltersIntegration = defineIntegration(_inboundFiltersIntegration); InboundFilters = convertIntegrationFnToClass( INTEGRATION_NAME, inboundFiltersIntegration ); } }); // node_modules/@sentry/core/esm/integrations/functiontostring.js var originalFunctionToString, INTEGRATION_NAME2, SETUP_CLIENTS, _functionToStringIntegration, functionToStringIntegration, FunctionToString; var init_functiontostring = __esm({ "node_modules/@sentry/core/esm/integrations/functiontostring.js"() { init_esm(); init_exports(); init_integration(); INTEGRATION_NAME2 = "FunctionToString"; SETUP_CLIENTS = /* @__PURE__ */ new WeakMap(); _functionToStringIntegration = () => { return { name: INTEGRATION_NAME2, setupOnce() { originalFunctionToString = Function.prototype.toString; try { Function.prototype.toString = function(...args) { const originalFunction = getOriginalFunction(this); const context = SETUP_CLIENTS.has(getClient()) && originalFunction !== void 0 ? originalFunction : this; return originalFunctionToString.apply(context, args); }; } catch (e) { } }, setup(client) { SETUP_CLIENTS.set(client, true); } }; }; functionToStringIntegration = defineIntegration(_functionToStringIntegration); FunctionToString = convertIntegrationFnToClass( INTEGRATION_NAME2, functionToStringIntegration ); } }); // node_modules/@sentry/core/esm/integrations/linkederrors.js var DEFAULT_KEY, DEFAULT_LIMIT, INTEGRATION_NAME3, _linkedErrorsIntegration, linkedErrorsIntegration, LinkedErrors; var init_linkederrors = __esm({ "node_modules/@sentry/core/esm/integrations/linkederrors.js"() { init_esm(); init_integration(); DEFAULT_KEY = "cause"; DEFAULT_LIMIT = 5; INTEGRATION_NAME3 = "LinkedErrors"; _linkedErrorsIntegration = (options = {}) => { const limit2 = options.limit || DEFAULT_LIMIT; const key = options.key || DEFAULT_KEY; return { name: INTEGRATION_NAME3, // TODO v8: Remove this setupOnce() { }, // eslint-disable-line @typescript-eslint/no-empty-function preprocessEvent(event, hint, client) { const options2 = client.getOptions(); applyAggregateErrorsToEvent( exceptionFromError, options2.stackParser, options2.maxValueLength, key, limit2, event, hint ); } }; }; linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration); LinkedErrors = convertIntegrationFnToClass(INTEGRATION_NAME3, linkedErrorsIntegration); } }); // node_modules/@sentry/core/esm/integrations/index.js var integrations_exports = {}; __export(integrations_exports, { FunctionToString: () => FunctionToString, InboundFilters: () => InboundFilters, LinkedErrors: () => LinkedErrors }); var init_integrations = __esm({ "node_modules/@sentry/core/esm/integrations/index.js"() { init_functiontostring(); init_inboundfilters(); init_linkederrors(); } }); // node_modules/@sentry/core/esm/index.js var Integrations; var init_esm2 = __esm({ "node_modules/@sentry/core/esm/index.js"() { init_exports(); init_integration(); init_integrations(); Integrations = integrations_exports; } }); // node_modules/@sentry/browser/esm/helpers.js function shouldIgnoreOnError() { return ignoreOnError > 0; } function ignoreNextOnError() { ignoreOnError++; setTimeout(() => { ignoreOnError--; }); } function wrap(fn, options = {}, before) { if (typeof fn !== "function") { return fn; } try { const wrapper = fn.__sentry_wrapped__; if (wrapper) { return wrapper; } if (getOriginalFunction(fn)) { return fn; } } catch (e) { return fn; } const sentryWrapped = function() { const args = Array.prototype.slice.call(arguments); try { if (before && typeof before === "function") { before.apply(this, arguments); } const wrappedArguments = args.map((arg) => wrap(arg, options)); return fn.apply(this, wrappedArguments); } catch (ex) { ignoreNextOnError(); withScope((scope) => { scope.addEventProcessor((event) => { if (options.mechanism) { addExceptionTypeValue(event, void 0, void 0); addExceptionMechanism(event, options.mechanism); } event.extra = __spreadProps(__spreadValues({}, event.extra), { arguments: args }); return event; }); captureException(ex); }); throw ex; } }; try { for (const property in fn) { if (Object.prototype.hasOwnProperty.call(fn, property)) { sentryWrapped[property] = fn[property]; } } } catch (_oO) { } markFunctionWrapped(sentryWrapped, fn); addNonEnumerableProperty(fn, "__sentry_wrapped__", sentryWrapped); try { const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, "name"); if (descriptor.configurable) { Object.defineProperty(sentryWrapped, "name", { get() { return fn.name; } }); } } catch (_oO) { } return sentryWrapped; } var WINDOW7, ignoreOnError; var init_helpers = __esm({ "node_modules/@sentry/browser/esm/helpers.js"() { init_esm2(); init_esm(); WINDOW7 = GLOBAL_OBJ; ignoreOnError = 0; } }); // node_modules/@sentry/browser/esm/debug-build.js var DEBUG_BUILD3; var init_debug_build3 = __esm({ "node_modules/@sentry/browser/esm/debug-build.js"() { DEBUG_BUILD3 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__; } }); // node_modules/@sentry/browser/esm/eventbuilder.js function exceptionFromError2(stackParser, ex) { const frames = parseStackFrames2(stackParser, ex); const exception = { type: ex && ex.name, value: extractMessage(ex) }; if (frames.length) { exception.stacktrace = { frames }; } if (exception.type === void 0 && exception.value === "") { exception.value = "Unrecoverable error caught"; } return exception; } function eventFromPlainObject(stackParser, exception, syntheticException, isUnhandledRejection) { const client = getClient(); const normalizeDepth = client && client.getOptions().normalizeDepth; const event = { exception: { values: [ { type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? "UnhandledRejection" : "Error", value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }) } ] }, extra: { __serialized__: normalizeToSize(exception, normalizeDepth) } }; if (syntheticException) { const frames = parseStackFrames2(stackParser, syntheticException); if (frames.length) { event.exception.values[0].stacktrace = { frames }; } } return event; } function eventFromError(stackParser, ex) { return { exception: { values: [exceptionFromError2(stackParser, ex)] } }; } function parseStackFrames2(stackParser, ex) { const stacktrace = ex.stacktrace || ex.stack || ""; const popSize = getPopSize(ex); try { return stackParser(stacktrace, popSize); } catch (e) { } return []; } function getPopSize(ex) { if (ex) { if (typeof ex.framesToPop === "number") { return ex.framesToPop; } if (reactMinifiedRegexp.test(ex.message)) { return 1; } } return 0; } function extractMessage(ex) { const message = ex && ex.message; if (!message) { return "No error message"; } if (message.error && typeof message.error.message === "string") { return message.error.message; } return message; } function eventFromUnknownInput2(stackParser, exception, syntheticException, attachStacktrace, isUnhandledRejection) { let event; if (isErrorEvent(exception) && exception.error) { const errorEvent = exception; return eventFromError(stackParser, errorEvent.error); } if (isDOMError(exception) || isDOMException(exception)) { const domException = exception; if ("stack" in exception) { event = eventFromError(stackParser, exception); } else { const name = domException.name || (isDOMError(domException) ? "DOMError" : "DOMException"); const message = domException.message ? `${name}: ${domException.message}` : name; event = eventFromString(stackParser, message, syntheticException, attachStacktrace); addExceptionTypeValue(event, message); } if ("code" in domException) { event.tags = __spreadProps(__spreadValues({}, event.tags), { "DOMException.code": `${domException.code}` }); } return event; } if (isError(exception)) { return eventFromError(stackParser, exception); } if (isPlainObject(exception) || isEvent(exception)) { const objectException = exception; event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection); addExceptionMechanism(event, { synthetic: true }); return event; } event = eventFromString(stackParser, exception, syntheticException, attachStacktrace); addExceptionTypeValue(event, `${exception}`, void 0); addExceptionMechanism(event, { synthetic: true }); return event; } function eventFromString(stackParser, message, syntheticException, attachStacktrace) { const event = {}; if (attachStacktrace && syntheticException) { const frames = parseStackFrames2(stackParser, syntheticException); if (frames.length) { event.exception = { values: [{ value: message, stacktrace: { frames } }] }; } } if (isParameterizedString(message)) { const { __sentry_template_string__, __sentry_template_values__ } = message; event.logentry = { message: __sentry_template_string__, params: __sentry_template_values__ }; return event; } event.message = message; return event; } function getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }) { const keys = extractExceptionKeysForMessage(exception); const captureType = isUnhandledRejection ? "promise rejection" : "exception"; if (isErrorEvent(exception)) { return `Event \`ErrorEvent\` captured as ${captureType} with message \`${exception.message}\``; } if (isEvent(exception)) { const className = getObjectClassName(exception); return `Event \`${className}\` (type=${exception.type}) captured as ${captureType}`; } return `Object captured as ${captureType} with keys: ${keys}`; } function getObjectClassName(obj) { try { const prototype = Object.getPrototypeOf(obj); return prototype ? prototype.constructor.name : void 0; } catch (e) { } } var reactMinifiedRegexp; var init_eventbuilder2 = __esm({ "node_modules/@sentry/browser/esm/eventbuilder.js"() { init_esm2(); init_esm(); reactMinifiedRegexp = /Minified React error #\d+;/i; } }); // node_modules/@sentry/browser/esm/integrations/breadcrumbs.js function _getSentryBreadcrumbHandler(client) { return function addSentryBreadcrumb(event) { if (getClient() !== client) { return; } addBreadcrumb( { category: `sentry.${event.type === "transaction" ? "transaction" : "event"}`, event_id: event.event_id, level: event.level, message: getEventDescription(event) }, { event } ); }; } function _getDomBreadcrumbHandler(client, dom) { return function _innerDomBreadcrumb(handlerData) { if (getClient() !== client) { return; } let target; let componentName; let keyAttrs = typeof dom === "object" ? dom.serializeAttribute : void 0; let maxStringLength = typeof dom === "object" && typeof dom.maxStringLength === "number" ? dom.maxStringLength : void 0; if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) { DEBUG_BUILD3 && logger.warn( `\`dom.maxStringLength\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.` ); maxStringLength = MAX_ALLOWED_STRING_LENGTH; } if (typeof keyAttrs === "string") { keyAttrs = [keyAttrs]; } try { const event = handlerData.event; const element = _isEvent(event) ? event.target : event; target = htmlTreeAsString(element, { keyAttrs, maxStringLength }); componentName = getComponentName(element); } catch (e) { target = "<unknown>"; } if (target.length === 0) { return; } const breadcrumb = { category: `ui.${handlerData.name}`, message: target }; if (componentName) { breadcrumb.data = { "ui.component_name": componentName }; } addBreadcrumb(breadcrumb, { event: handlerData.event, name: handlerData.name, global: handlerData.global }); }; } function _getConsoleBreadcrumbHandler(client) { return function _consoleBreadcrumb(handlerData) { if (getClient() !== client) { return; } const breadcrumb = { category: "console", data: { arguments: handlerData.args, logger: "console" }, level: severityLevelFromString(handlerData.level), message: safeJoin(handlerData.args, " ") }; if (handlerData.level === "assert") { if (handlerData.args[0] === false) { breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), " ") || "console.assert"}`; breadcrumb.data.arguments = handlerData.args.slice(1); } else { return; } } addBreadcrumb(breadcrumb, { input: handlerData.args, level: handlerData.level }); }; } function _getXhrBreadcrumbHandler(client) { return function _xhrBreadcrumb(handlerData) { if (getClient() !== client) { return; } const { startTimestamp, endTimestamp } = handlerData; const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY]; if (!startTimestamp || !endTimestamp || !sentryXhrData) { return; } const { method, url, status_code, body } = sentryXhrData; const data = { method, url, status_code }; const hint = { xhr: handlerData.xhr, input: body, startTimestamp, endTimestamp }; addBreadcrumb( { category: "xhr", data, type: "http" }, hint ); }; } function _getFetchBreadcrumbHandler(client) { return function _fetchBreadcrumb(handlerData) { if (getClient() !== client) { return; } const { startTimestamp, endTimestamp } = handlerData; if (!endTimestamp) { return; } if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === "POST") { return; } if (handlerData.error) { const data = handlerData.fetchData; const hint = { data: handlerData.error, input: handlerData.args, startTimestamp, endTimestamp }; addBreadcrumb( { category: "fetch", data, level: "error", type: "http" }, hint ); } else { const response = handlerData.response; const data = __spreadProps(__spreadValues({}, handlerData.fetchData), { status_code: response && response.status }); const hint = { input: handlerData.args, response, startTimestamp, endTimestamp }; addBreadcrumb( { category: "fetch", data, type: "http" }, hint ); } }; } function _getHistoryBreadcrumbHandler(client) { return function _historyBreadcrumb(handlerData) { if (getClient() !== client) { return; } let from = handlerData.from; let to = handlerData.to; const parsedLoc = parseUrl2(WINDOW7.location.href); let parsedFrom = from ? parseUrl2(from) : void 0; const parsedTo = parseUrl2(to); if (!parsedFrom || !parsedFrom.path) { parsedFrom = parsedLoc; } if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) { to = parsedTo.relative; } if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) { from = parsedFrom.relative; } addBreadcrumb({ category: "navigation", data: { from, to } }); }; } function _isEvent(event) { return !!event && !!event.target; } var MAX_ALLOWED_STRING_LENGTH, INTEGRATION_NAME4, _breadcrumbsIntegration, breadcrumbsIntegration, Breadcrumbs; var init_breadcrumbs = __esm({ "node_modules/@sentry/browser/esm/integrations/breadcrumbs.js"() { init_esm2(); init_esm(); init_debug_build3(); init_helpers(); MAX_ALLOWED_STRING_LENGTH = 1024; INTEGRATION_NAME4 = "Breadcrumbs"; _breadcrumbsIntegration = (options = {}) => { const _options = __spreadValues({ console: true, dom: true, fetch: true, history: true, sentry: true, xhr: true }, options); return { name: INTEGRATION_NAME4, // TODO v8: Remove this setupOnce() { }, // eslint-disable-line @typescript-eslint/no-empty-function setup(client) { if (_options.console) { addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client)); } if (_options.dom) { addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom)); } if (_options.xhr) { addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client)); } if (_options.fetch) { addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client)); } if (_options.history) { addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client)); } if (_options.sentry && client.on) { client.on("beforeSendEvent", _getSentryBreadcrumbHandler(client)); } } }; }; breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration); Breadcrumbs = convertIntegrationFnToClass(INTEGRATION_NAME4, breadcrumbsIntegration); } }); // node_modules/@sentry/browser/esm/integrations/dedupe.js function _shouldDropEvent2(currentEvent, previousEvent) { if (!previousEvent) { return false; } if (_isSameMessageEvent(currentEvent, previousEvent)) { return true; } if (_isSameExceptionEvent(currentEvent, previousEvent)) { return true; } return false; } function _isSameMessageEvent(currentEvent, previousEvent) { const currentMessage = currentEvent.message; const previousMessage = previousEvent.message; if (!currentMessage && !previousMessage) { return false; } if (currentMessage && !previousMessage || !currentMessage && previousMessage) { return false; } if (currentMessage !== previousMessage) { return false; } if (!_isSameFingerprint(currentEvent, previousEvent)) { return false; } if (!_isSameStacktrace(currentEvent, previousEvent)) { return false; } return true; } function _isSameExceptionEvent(currentEvent, previousEvent) { const previousException = _getExceptionFromEvent(previousEvent); const currentException = _getExceptionFromEvent(currentEvent); if (!previousException || !currentException) { return false; } if (previousException.type !== currentException.type || previousException.value !== currentException.value) { return false; } if (!_isSameFingerprint(currentEvent, previousEvent)) { return false; } if (!_isSameStacktrace(currentEvent, previousEvent)) { return false; } return true; } function _isSameStacktrace(currentEvent, previousEvent) { let currentFrames = _getFramesFromEvent(currentEvent); let previousFrames = _getFramesFromEvent(previousEvent); if (!currentFrames && !previousFrames) { return true; } if (currentFrames && !previousFrames || !currentFrames && previousFrames) { return false; } currentFrames = currentFrames; previousFrames = previousFrames; if (previousFrames.length !== currentFrames.length) { return false; } for (let i = 0; i < previousFrames.length; i++) { const frameA = previousFrames[i]; const frameB = currentFrames[i]; if (frameA.filename !== frameB.filename || frameA.lineno !== frameB.lineno || frameA.colno !== frameB.colno || frameA.function !== frameB.function) { return false; } } return true; } function _isSameFingerprint(currentEvent, previousEvent) { let currentFingerprint = currentEvent.fingerprint; let previousFingerprint = previousEvent.fingerprint; if (!currentFingerprint && !previousFingerprint) { return true; } if (currentFingerprint && !previousFingerprint || !currentFingerprint && previousFingerprint) { return false; } currentFingerprint = currentFingerprint; previousFingerprint = previousFingerprint; try { return !!(currentFingerprint.join("") === previousFingerprint.join("")); } catch (_oO) { return false; } } function _getExceptionFromEvent(event) { return event.exception && event.exception.values && event.exception.values[0]; } function _getFramesFromEvent(event) { const exception = event.exception; if (exception) { try { return exception.values[0].stacktrace.frames; } catch (_oO) { return void 0; } } return void 0; } var INTEGRATION_NAME5, _dedupeIntegration, dedupeIntegration, Dedupe; var init_dedupe = __esm({ "node_modules/@sentry/browser/esm/integrations/dedupe.js"() { init_esm2(); init_esm(); init_debug_build3(); INTEGRATION_NAME5 = "Dedupe"; _dedupeIntegration = () => { let previousEvent; return { name: INTEGRATION_NAME5, // TODO v8: Remove this setupOnce() { }, // eslint-disable-line @typescript-eslint/no-empty-function processEvent(currentEvent) { if (currentEvent.type) { return currentEvent; } try { if (_shouldDropEvent2(currentEvent, previousEvent)) { DEBUG_BUILD3 && logger.warn("Event dropped due to being a duplicate of previously captured event."); return null; } } catch (_oO) { } return previousEvent = currentEvent; } }; }; dedupeIntegration = defineIntegration(_dedupeIntegration); Dedupe = convertIntegrationFnToClass(INTEGRATION_NAME5, dedupeIntegration); } }); // node_modules/@sentry/browser/esm/integrations/globalhandlers.js function _installGlobalOnErrorHandler(client) { addGlobalErrorInstrumentationHandler((data) => { const { stackParser, attachStacktrace } = getOptions(); if (getClient() !== client || shouldIgnoreOnError()) { return; } const { msg, url, line, column, error } = data; const event = error === void 0 && isString(msg) ? _eventFromIncompleteOnError(msg, url, line, column) : _enhanceEventWithInitialFrame( eventFromUnknownInput2(stackParser, error || msg, void 0, attachStacktrace, false), url, line, column ); event.level = "error"; captureEvent(event, { originalException: error, mechanism: { handled: false, type: "onerror" } }); }); } function _installGlobalOnUnhandledRejectionHandler(client) { addGlobalUnhandledRejectionInstrumentationHandler((e) => { const { stackParser, attachStacktrace } = getOptions(); if (getClient() !== client || shouldIgnoreOnError()) { return; } const error = _getUnhandledRejectionError(e); const event = isPrimitive(error) ? _eventFromRejectionWithPrimitive(error) : eventFromUnknownInput2(stackParser, error, void 0, attachStacktrace, true); event.level = "error"; captureEvent(event, { originalException: error, mechanism: { handled: false, type: "onunhandledrejection" } }); }); } function _getUnhandledRejectionError(error) { if (isPrimitive(error)) { return error; } const e = error; try { if ("reason" in e) { return e.reason; } else if ("detail" in e && "reason" in e.detail) { return e.detail.reason; } } catch (e2) { } return error; } function _eventFromRejectionWithPrimitive(reason) { return { exception: { values: [ { type: "UnhandledRejection", // String() is needed because the Primitive type includes symbols (which can't be automatically stringified) value: `Non-Error promise rejection captured with value: ${String(reason)}` } ] } }; } function _eventFromIncompleteOnError(msg, url, line, column) { const ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i; let message = isErrorEvent(msg) ? msg.message : msg; let name = "Error"; const groups2 = message.match(ERROR_TYPES_RE); if (groups2) { name = groups2[1]; message = groups2[2]; } const event = { exception: { values: [ { type: name, value: message } ] } }; return _enhanceEventWithInitialFrame(event, url, line, column); } function _enhanceEventWithInitialFrame(event, url, line, column) { const e = event.exception = event.exception || {}; const ev = e.values = e.values || []; const ev0 = ev[0] = ev[0] || {}; const ev0s = ev0.stacktrace = ev0.stacktrace || {}; const ev0sf = ev0s.frames = ev0s.frames || []; const colno = isNaN(parseInt(column, 10)) ? void 0 : column; const lineno = isNaN(parseInt(line, 10)) ? void 0 : line; const filename = isString(url) && url.length > 0 ? url : getLocationHref(); if (ev0sf.length === 0) { ev0sf.push({ colno, filename, function: "?", in_app: true, lineno }); } return event; } function globalHandlerLog(type) { DEBUG_BUILD3 && logger.log(`Global Handler attached: ${type}`); } function getOptions() { const client = getClient(); const options = client && client.getOptions() || { stackParser: () => [], attachStacktrace: false }; return options; } var INTEGRATION_NAME6, _globalHandlersIntegration, globalHandlersIntegration, GlobalHandlers; var init_globalhandlers = __esm({ "node_modules/@sentry/browser/esm/integrations/globalhandlers.js"() { init_esm2(); init_esm(); init_debug_build3(); init_eventbuilder2(); init_helpers(); INTEGRATION_NAME6 = "GlobalHandlers"; _globalHandlersIntegration = (options = {}) => { const _options = __spreadValues({ onerror: true, onunhandledrejection: true }, options); return { name: INTEGRATION_NAME6, setupOnce() { Error.stackTraceLimit = 50; }, setup(client) { if (_options.onerror) { _installGlobalOnErrorHandler(client); globalHandlerLog("onerror"); } if (_options.onunhandledrejection) { _installGlobalOnUnhandledRejectionHandler(client); globalHandlerLog("onunhandledrejection"); } } }; }; globalHandlersIntegration = defineIntegration(_globalHandlersIntegration); GlobalHandlers = convertIntegrationFnToClass( INTEGRATION_NAME6, globalHandlersIntegration ); } }); // node_modules/@sentry/browser/esm/integrations/httpcontext.js var INTEGRATION_NAME7, _httpContextIntegration, httpContextIntegration, HttpContext; var init_httpcontext = __esm({ "node_modules/@sentry/browser/esm/integrations/httpcontext.js"() { init_esm2(); init_helpers(); INTEGRATION_NAME7 = "HttpContext"; _httpContextIntegration = () => { return { name: INTEGRATION_NAME7, // TODO v8: Remove this setupOnce() { }, // eslint-disable-line @typescript-eslint/no-empty-function preprocessEvent(event) { if (!WINDOW7.navigator && !WINDOW7.location && !WINDOW7.document) { return; } const url = event.request && event.request.url || WINDOW7.location && WINDOW7.location.href; const { referrer } = WINDOW7.document || {}; const { userAgent } = WINDOW7.navigator || {}; const headers = __spreadValues(__spreadValues(__spreadValues({}, event.request && event.request.headers), referrer && { Referer: referrer }), userAgent && { "User-Agent": userAgent }); const request = __spreadProps(__spreadValues(__spreadValues({}, event.request), url && { url }), { headers }); event.request = request; } }; }; httpContextIntegration = defineIntegration(_httpContextIntegration); HttpContext = convertIntegrationFnToClass(INTEGRATION_NAME7, httpContextIntegration); } }); // node_modules/@sentry/browser/esm/integrations/linkederrors.js var DEFAULT_KEY2, DEFAULT_LIMIT2, INTEGRATION_NAME8, _linkedErrorsIntegration2, linkedErrorsIntegration2, LinkedErrors2; var init_linkederrors2 = __esm({ "node_modules/@sentry/browser/esm/integrations/linkederrors.js"() { init_esm2(); init_esm(); init_eventbuilder2(); DEFAULT_KEY2 = "cause"; DEFAULT_LIMIT2 = 5; INTEGRATION_NAME8 = "LinkedErrors"; _linkedErrorsIntegration2 = (options = {}) => { const limit2 = options.limit || DEFAULT_LIMIT2; const key = options.key || DEFAULT_KEY2; return { name: INTEGRATION_NAME8, // TODO v8: Remove this setupOnce() { }, // eslint-disable-line @typescript-eslint/no-empty-function preprocessEvent(event, hint, client) { const options2 = client.getOptions(); applyAggregateErrorsToEvent( // This differs from the LinkedErrors integration in core by using a different exceptionFromError function exceptionFromError2, options2.stackParser, options2.maxValueLength, key, limit2, event, hint ); } }; }; linkedErrorsIntegration2 = defineIntegration(_linkedErrorsIntegration2); LinkedErrors2 = convertIntegrationFnToClass(INTEGRATION_NAME8, linkedErrorsIntegration2); } }); // node_modules/@sentry/browser/esm/integrations/trycatch.js function _wrapTimeFunction(original) { return function(...args) { const originalCallback = args[0]; args[0] = wrap(originalCallback, { mechanism: { data: { function: getFunctionName(original) }, handled: false, type: "instrument" } }); return original.apply(this, args); }; } function _wrapRAF(original) { return function(callback) { return original.apply(this, [ wrap(callback, { mechanism: { data: { function: "requestAnimationFrame", handler: getFunctionName(original) }, handled: false, type: "instrument" } }) ]); }; } function _wrapXHR(originalSend) { return function(...args) { const xhr = this; const xmlHttpRequestProps = ["onload", "onerror", "onprogress", "onreadystatechange"]; xmlHttpRequestProps.forEach((prop) => { if (prop in xhr && typeof xhr[prop] === "function") { fill(xhr, prop, function(original) { const wrapOptions = { mechanism: { data: { function: prop, handler: getFunctionName(original) }, handled: false, type: "instrument" } }; const originalFunction = getOriginalFunction(original); if (originalFunction) { wrapOptions.mechanism.data.handler = getFunctionName(originalFunction); } return wrap(original, wrapOptions); }); } }); return originalSend.apply(this, args); }; } function _wrapEventTarget(target) { const globalObject = WINDOW7; const proto = globalObject[target] && globalObject[target].prototype; if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty("addEventListener")) { return; } fill(proto, "addEventListener", function(original) { return function(eventName, fn, options) { try { if (typeof fn.handleEvent === "function") { fn.handleEvent = wrap(fn.handleEvent, { mechanism: { data: { function: "handleEvent", handler: getFunctionName(fn), target }, handled: false, type: "instrument" } }); } } catch (err) { } return original.apply(this, [ eventName, // eslint-disable-next-line @typescript-eslint/no-explicit-any wrap(fn, { mechanism: { data: { function: "addEventListener", handler: getFunctionName(fn), target }, handled: false, type: "instrument" } }), options ]); }; }); fill( proto, "removeEventListener", function(originalRemoveEventListener) { return function(eventName, fn, options) { const wrappedEventHandler = fn; try { const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__; if (originalEventHandler) { originalRemoveEventListener.call(this, eventName, originalEventHandler, options); } } catch (e) { } return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options); }; } ); } var DEFAULT_EVENT_TARGET, INTEGRATION_NAME9, _browserApiErrorsIntegration, browserApiErrorsIntegration, TryCatch; var init_trycatch = __esm({ "node_modules/@sentry/browser/esm/integrations/trycatch.js"() { init_esm2(); init_esm(); init_helpers(); DEFAULT_EVENT_TARGET = [ "EventTarget", "Window", "Node", "ApplicationCache", "AudioTrackList", "BroadcastChannel", "ChannelMergerNode", "CryptoOperation", "EventSource", "FileReader", "HTMLUnknownElement", "IDBDatabase", "IDBRequest", "IDBTransaction", "KeyOperation", "MediaController", "MessagePort", "ModalWindow", "Notification", "SVGElementInstance", "Screen", "SharedWorker", "TextTrack", "TextTrackCue", "TextTrackList", "WebSocket", "WebSocketWorker", "Worker", "XMLHttpRequest", "XMLHttpRequestEventTarget", "XMLHttpRequestUpload" ]; INTEGRATION_NAME9 = "TryCatch"; _browserApiErrorsIntegration = (options = {}) => { const _options = __spreadValues({ XMLHttpRequest: true, eventTarget: true, requestAnimationFrame: true, setInterval: true, setTimeout: true }, options); return { name: INTEGRATION_NAME9, // TODO: This currently only works for the first client this is setup // We may want to adjust this to check for client etc. setupOnce() { if (_options.setTimeout) { fill(WINDOW7, "setTimeout", _wrapTimeFunction); } if (_options.setInterval) { fill(WINDOW7, "setInterval", _wrapTimeFunction); } if (_options.requestAnimationFrame) { fill(WINDOW7, "requestAnimationFrame", _wrapRAF); } if (_options.XMLHttpRequest && "XMLHttpRequest" in WINDOW7) { fill(XMLHttpRequest.prototype, "send", _wrapXHR); } const eventTargetOption = _options.eventTarget; if (eventTargetOption) { const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET; eventTarget.forEach(_wrapEventTarget); } } }; }; browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration); TryCatch = convertIntegrationFnToClass( INTEGRATION_NAME9, browserApiErrorsIntegration ); } }); // node_modules/@sentry/browser/esm/integrations/index.js var integrations_exports2 = {}; __export(integrations_exports2, { Breadcrumbs: () => Breadcrumbs, Dedupe: () => Dedupe, GlobalHandlers: () => GlobalHandlers, HttpContext: () => HttpContext, LinkedErrors: () => LinkedErrors2, TryCatch: () => TryCatch }); var init_integrations2 = __esm({ "node_modules/@sentry/browser/esm/integrations/index.js"() { init_globalhandlers(); init_trycatch(); init_breadcrumbs(); init_linkederrors2(); init_httpcontext(); init_dedupe(); } }); // node_modules/@sentry/browser/esm/index.js var windowIntegrations, INTEGRATIONS; var init_esm3 = __esm({ "node_modules/@sentry/browser/esm/index.js"() { init_esm2(); init_esm2(); init_helpers(); init_integrations2(); windowIntegrations = {}; if (WINDOW7.Sentry && WINDOW7.Sentry.Integrations) { windowIntegrations = WINDOW7.Sentry.Integrations; } INTEGRATIONS = __spreadValues(__spreadValues(__spreadValues({}, windowIntegrations), Integrations), integrations_exports2); } }); // src/utils/settings.js var getSettingDirect, saveSettingDirect, getGroupAndKey, getSetting, deleteSetting, getSettings, saveSetting; var init_settings = __esm({ "src/utils/settings.js"() { getSettingDirect = (key = null, defaultValue = null, identifier = "mousehunt-improved-settings") => { const settings = JSON.parse(localStorage.getItem(identifier)) || {}; if (!key) { return settings; } if (!key.includes(".")) { if (settings[key] === void 0) { return defaultValue; } return settings[key]; } const groupAndKey = getGroupAndKey(key); if (!groupAndKey.group) { if (settings[groupAndKey.key] === void 0) { return defaultValue; } return settings[groupAndKey.key]; } const groupSettings = settings[groupAndKey.group] || {}; if (groupSettings[groupAndKey.key] === void 0) { return defaultValue; } return groupSettings[groupAndKey.key]; }; saveSettingDirect = (key, value, identifier = "mousehunt-improved-settings") => { const settings = getSettingDirect(null, {}, identifier); const groupAndKey = getGroupAndKey(key); if (groupAndKey.group) { if (!settings[groupAndKey.group]) { settings[groupAndKey.group] = {}; } settings[groupAndKey.group][groupAndKey.key] = value; } else { settings[key] = value; } localStorage.setItem(identifier, JSON.stringify(settings)); }; getGroupAndKey = (key) => { const split = key.split("."); if (split.length === 1) { return { group: null, key: split[0] }; } if (split[0] === "location-huds-enabled") { return { group: "location-huds-enabled", key: split[1] }; } return { group: `${split[0]}-settings`, key: split[1] }; }; getSetting = (key, defaultValue = false) => { return getSettingDirect(key, defaultValue, "mousehunt-improved-settings"); }; deleteSetting = (key) => { const settings = getSettings(); const groupAndKey = getGroupAndKey(key); if (groupAndKey.group) { if (settings[groupAndKey.group]) { delete settings[groupAndKey.group][groupAndKey.key]; } else { delete settings[groupAndKey.key]; } } else { delete settings[key]; } localStorage.setItem("mousehunt-improved-settings", JSON.stringify(settings)); }; getSettings = () => { const settings = localStorage.getItem("mousehunt-improved-settings"); if (!settings) { return {}; } return JSON.parse(settings); }; saveSetting = (key, value) => { saveSettingDirect(key, value, "mousehunt-improved-settings"); return value; }; } }); // src/utils/elements.js var makeElement, makeButton, makeMhButton, makeLink, makeFavoriteButton, createPopup, makeTooltip, makePage, makeMathButton, makeMathButtons; var init_elements = __esm({ "src/utils/elements.js"() { init_settings(); makeElement = (tag, classes = "", text = "", appendTo = null) => { const element = document.createElement(tag); if (Array.isArray(classes)) { classes = classes.join(" "); } if (classes && classes.length) { element.className = classes; } element.innerHTML = text; if (appendTo) { appendTo.append(element); return appendTo; } return element; }; makeButton = (text, href, tiny = true, extraClasses = [], encodeAsSpace = false) => { href = href.replaceAll(/\s/g, "_"); href = encodeAsSpace ? href.replaceAll("_", "%20") : href.replaceAll(/\s/g, "_"); href = href.replaceAll("$", "_"); return `<a href="${href}" class="mousehuntActionButton ${tiny ? "tiny" : ""} ${extraClasses.join(" ")}"><span>${text}</span></a>`; }; makeMhButton = (opts) => { const { text = "", size = "small", className = "", callback = () => { }, appendTo = null } = opts; const button = makeElement("a", ["mousehuntActionButton", size, className]); makeElement("span", "", text, button); button.title = opts.title || text; button.addEventListener("click", () => { callback(); }); if (appendTo) { appendTo.append(button); } return button; }; makeLink = (text, href, encodeAsSpace = false) => { if (encodeAsSpace) { href = href.replaceAll("_", "%20"); } return `<a href="${href}" target="_mouse" class="mousehuntActionButton tiny"><span>${text}</span></a>`; }; makeFavoriteButton = (options) => __async(void 0, null, function* () { const { id = null, target = null, size = "small", state = false, isSetting = true, defaultState = false, onChange = null, onActivate = null, onDeactivate = null } = options; const existing = document.querySelector(`#${id}`); if (existing) { existing.remove(); } const star = document.createElement("a"); star.classList.add("custom-favorite-button"); if (size === "small") { star.classList.add("custom-favorite-button-small"); } star.id = id; star.setAttribute("data-item-id", id); star.setAttribute("href", "#"); star.style.display = "inline-block"; let currentSetting = false; currentSetting = isSetting ? getSetting(id, defaultState) : state; if (currentSetting) { star.classList.add("active"); } else { star.classList.add("inactive"); } star.addEventListener("click", (e) => __async(void 0, null, function* () { star.classList.add("busy"); e.preventDefault(); e.stopPropagation(); const currentStar = e.target; const currentState = !currentStar.classList.contains("active"); if (onChange !== null) { yield onChange(currentState); } else if (isSetting) { saveSetting(id, currentState); } currentStar.classList.remove("inactive"); currentStar.classList.remove("active"); if (currentState) { currentStar.classList.add("active"); if (onActivate !== null) { yield onActivate(currentState); } } else { currentStar.classList.add("inactive"); if (onDeactivate !== null) { yield onDeactivate(currentState); } } setTimeout(() => { currentStar.classList.remove("busy"); }, 300); })); if (target) { target.append(star); } return star; }); createPopup = (options) => { if ("undefined" === typeof jsDialog || !jsDialog) { return false; } const settings = Object.assign({}, { title: "", content: "", hasCloseButton: true, template: "default", show: true, className: "" }, options); const popup = new jsDialog(); popup.setIsModal(!settings.hasCloseButton); popup.setTemplate(settings.template); popup.addToken("{*title*}", settings.title); popup.addToken("{*content*}", settings.content); popup.setAttributes({ className: settings.className }); if (settings.show) { popup.show(); } return popup; }; makeTooltip = (options) => { if (!options.appendTo) { return false; } const { appendTo, className = "", text = "" } = options; const tooltip = makeElement("div", ["PreferencesPage__blackTooltip", "mh-improved-tooltip", className]); makeElement("span", "PreferencesPage__blackTooltipText", text, tooltip); appendTo.append(tooltip); return tooltip; }; makePage = (content) => { var _a, _b; const setContent = () => { const pageContainer = document.querySelector(".mousehuntHud-page-tabContentContainer"); if (!pageContainer) { return; } if (typeof content === "function") { pageContainer.innerHTML = ""; content(pageContainer); } else if (typeof content === "object" && content instanceof HTMLElement) { pageContainer.innerHTML = ""; pageContainer.append(content); } else { pageContainer.innerHTML = content; } }; if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPage)) { return; } hg.utils.PageUtil.setPage("PrivacyPolicy", {}, setContent, setContent); }; makeMathButton = (amount, opts) => { const { appendTo = null, input = null, maxQty = 0, classNames = [] } = opts; const button = makeElement("a", ["mousehuntActionButton", "mh-improved-math-button", ...classNames]); const plusText = amount > 0 ? `+${amount}` : amount; const minusText = amount > 0 ? `-${amount}` : amount; const buttonText = makeElement("span", "", plusText); const updateButtonText = (e) => { const currentText = buttonText.innerText; if (e.shiftKey && currentText !== minusText) { buttonText.innerText = minusText; } else if (!e.shiftKey && currentText !== plusText) { buttonText.innerText = plusText; } }; buttonText.addEventListener("mouseover", updateButtonText); window.addEventListener("keydown", updateButtonText); window.addEventListener("keyup", updateButtonText); button.append(buttonText); button.addEventListener("click", (e) => { e.preventDefault(); let current = Number.parseInt(input.value, 10); if (Number.isNaN(current)) { current = 0; } const tempAmount = e.shiftKey ? -amount : amount; if (current + tempAmount >= maxQty) { input.value = maxQty; } else if (current + tempAmount <= 0) { input.value = 0; } else { input.value = current + tempAmount; } const event = new Event("keyup"); input.dispatchEvent(event); }); if (appendTo) { appendTo.append(button); } return button; }; makeMathButtons = (amounts, opts) => { amounts.forEach((amount) => { makeMathButton(amount, opts); }); }; } }); // src/utils/event-registry.js var addEvent, doEvent2, eventsAdded, onEvent, onSettingsChange; var init_event_registry = __esm({ "src/utils/event-registry.js"() { addEvent = (eventName, eventCallback, args) => { const { eventScope = null, removeAfterFire = false, weight = 0, id = null } = args || {}; if (!eventRegistry) { return; } eventRegistry.addEventListener(eventName, eventCallback, eventScope, removeAfterFire, weight, id); }; doEvent2 = (eventName, params) => { if (!eventRegistry) { return; } eventRegistry.doEvent(eventName, params); }; eventsAdded = {}; onEvent = (event, callback, remove = false) => { if (!eventRegistry) { return; } const id = `${event}-${remove.toString()}-${callback.toString()}`; if (eventsAdded[id]) { return; } eventsAdded[id] = true; eventRegistry.addEventListener(event, callback, null, remove); }; onSettingsChange = (key, callback) => { onEvent("mh-improved-settings-changed", (args) => { if (args.key !== key) { return; } if (typeof callback === "function") { callback(args); } else if (typeof callback === "object") { if (args.value) { callback.enable(args); } else { callback.disable(args); } } }); }; } }); // src/utils/blueprint.js var activeBlueprint, addedEvent, toggleBlueprint; var init_blueprint = __esm({ "src/utils/blueprint.js"() { init_elements(); init_event_registry(); activeBlueprint = null; addedEvent = false; toggleBlueprint = (id, content) => { const container = document.querySelector("#mousehuntContainer"); if (!container) { return; } const blueprint = document.querySelector(".trapSelectorView__blueprint"); if (!blueprint) { return; } const browserStateParent = document.querySelector(".trapSelectorView__browserStateParent"); if (!browserStateParent) { return; } const existing = document.querySelector(`#mh-improved-blueprint--${id}`); if (existing) { existing.remove(); } const wrapper = makeElement("div", ["trapSelectorView__browserState", "trapSelectorView__browserContainer", "mh-improved-blueprint", `mh-improved-blueprint--${id}`]); wrapper.id = `mh-improved-blueprint--${id}`; const inner = makeElement("div", "trapSelectorView__outerBlock"); inner.append(content); wrapper.append(inner); browserStateParent.append(wrapper); if (activeBlueprint === id) { activeBlueprint = null; container.classList.remove("showBlueprint"); blueprint.classList.remove("trapSelectorView__blueprint--active", "mh-improved-blueprint--active"); browserStateParent.classList.remove(`trapSelectorView__browserStateParent--${id}`); } else { const close2 = document.querySelector(".campPage-trap-blueprint-closeButton"); if (close2) { close2.click(); } activeBlueprint = id; container.classList.add("showBlueprint"); blueprint.classList.add("trapSelectorView__blueprint--active", "mh-improved-blueprint--active"); browserStateParent.classList.add(`trapSelectorView__browserStateParent--${id}`); } if (!addedEvent) { onEvent("camp_page_toggle_blueprint", () => { activeBlueprint = null; }); addedEvent = true; } }; } }); // src/utils/db.js var database, databaseDelete, dbGet, dbSet, dbDelete, dbGetAll, dbDeleteAll; var init_db = __esm({ "src/utils/db.js"() { database = (databaseName) => __async(void 0, null, function* () { return new Promise((resolve, reject2) => { const request = indexedDB.open(`mh-improved-${databaseName}`, 7); request.onerror = (event) => { reject2(event.target.error); }; request.onsuccess = (event) => { resolve(event.target.result); }; request.onupgradeneeded = (event) => { const db = event.target.result; if (!db.objectStoreNames.contains(databaseName)) { db.createObjectStore(databaseName, { keyPath: "id" }); } }; }); }); databaseDelete = (databaseName) => __async(void 0, null, function* () { databaseName = `mh-improved-${databaseName}`; return new Promise((resolve, reject2) => { const request = indexedDB.deleteDatabase(databaseName); request.onerror = (event) => { reject2(event.target.error); }; request.onsuccess = (event) => { resolve(event.target.result); }; }); }); dbGet = (databaseName, id) => __async(void 0, null, function* () { const db = yield database(databaseName); const transaction = db.transaction(databaseName, "readonly"); transaction.onerror = (event) => { throw new Error(event.target.error); }; const objectStore = transaction.objectStore(databaseName); const request = objectStore.get(id); return new Promise((resolve, reject2) => { request.onsuccess = () => { resolve(request.result); }; request.onerror = () => { reject2(request.error); }; transaction.oncomplete = () => { db.close(); }; }); }); dbSet = (databaseName, data) => __async(void 0, null, function* () { const db = yield database(databaseName); const transaction = db.transaction(databaseName, "readwrite"); const objectStore = transaction.objectStore(databaseName); data = { data, id: data.id || Date.now() }; const request = objectStore.put(data); return new Promise((resolve, reject2) => { request.onsuccess = () => { resolve(request.result); }; request.onerror = () => { reject2(request.error); }; transaction.oncomplete = () => { db.close(); }; }); }); dbDelete = (databaseName, id) => __async(void 0, null, function* () { const db = yield database(databaseName); const transaction = db.transaction(databaseName, "readwrite"); const objectStore = transaction.objectStore(databaseName); const request = objectStore.delete(id); return new Promise((resolve, reject2) => { request.onsuccess = () => { resolve(request.result); }; request.onerror = () => { reject2(request.error); }; transaction.oncomplete = () => { db.close(); }; }); }); dbGetAll = (databaseName) => __async(void 0, null, function* () { const db = yield database(databaseName); const transaction = db.transaction(databaseName, "readonly"); const objectStore = transaction.objectStore(databaseName); const request = objectStore.getAll(); return new Promise((resolve, reject2) => { request.onsuccess = () => { resolve(request.result); }; request.onerror = () => { reject2(request.error); }; transaction.oncomplete = () => { db.close(); }; }); }); dbDeleteAll = (databaseName) => __async(void 0, null, function* () { const db = yield database(databaseName); const transaction = db.transaction(databaseName, "readwrite"); const objectStore = transaction.objectStore(databaseName); const request = objectStore.clear(); return new Promise((resolve, reject2) => { request.onsuccess = () => { resolve(request.result); }; request.onerror = () => { reject2(request.error); }; transaction.oncomplete = () => { db.close(); }; }); }); } }); // src/utils/global.js var setGlobal, getGlobal; var init_global = __esm({ "src/utils/global.js"() { setGlobal = (key, value) => { if (!window.mhui) { window.mhui = {}; } window.mhui[key] = value; app.mhui = mhui; }; getGlobal = (key) => { if (window && window.mhui) { return window.mhui[key] || false; } if ("undefined" !== typeof app && app && app.mhui) { return app.mhui[key] || false; } return false; }; } }); // src/utils/debug.js var debug, debuglog; var init_debug = __esm({ "src/utils/debug.js"() { init_global(); init_settings(); debug = (message, ...args) => { if (getSetting("debug.module", false) || getGlobal("mh-improved-updating") || getGlobal("mh-improved-debug")) { console.log( `%cMH Improved%c: ${message}`, "color: #90588c; font-weight: 900", "color: inherit; font-weight: inherit", ...args ); } }; debuglog = (module, message, ...args) => { if (getSetting("debug.all", false) || getSetting(`debug.${module}`, false) || getGlobal("mh-improved-updating")) { console.log( `%cMH Improved %c${module}%c ${message}`, "color: #90588c; font-weight: 900", "color: #90588c; font-weight: 400", "color: inherit; font-weight: inherit", ...args ); } }; } }); // src/utils/data.js var validDataFiles, isValidDataFile, getCacheExpiration, setCacheExpiration, isCacheExpired, fetchData, getData, clearCaches, updateCaches, getHeaders, sessionSet, sessionGet, sessionDelete, sessionsDelete, cacheSet, dataCacheSet, cacheGetHelper, cacheGet, dataCacheGet, cacheDelete; var init_data = __esm({ "src/utils/data.js"() { init_db(); init_debug(); init_settings(); validDataFiles = /* @__PURE__ */ new Set([ "community-map-data", "effs", "environments-events", "environments", "item-thumbnails", "items-tradable", "m400-locations", "marketplace-hidden-items", "mice-groups", "mice-regions", "mice-thumbnails", "minlucks", "relic-hunter-hints", "scoreboards", "ultimate-checkmark", "upscaled-images", "wisdom" ]); isValidDataFile = (file) => { return validDataFiles.has(file); }; getCacheExpiration = (key = null) => __async(void 0, null, function* () { return yield cacheGet(`expiration-${key}`, false); }); setCacheExpiration = (key) => __async(void 0, null, function* () { debuglog("utils-data", `Setting cache expiration for ${key}`); cacheSet(`expiration-${key}`, Date.now() + (Math.floor(Math.random() * 7) + 7) * 24 * 60 * 60 * 1e3); }); isCacheExpired = (key) => __async(void 0, null, function* () { const expiration = yield getCacheExpiration(key); if (!expiration) { return true; } return expiration.date < Date.now(); }); fetchData = (key, retries = 0) => __async(void 0, null, function* () { try { const data = yield fetch(`https://api.mouse.rip/${key}`, { method: "GET", headers: getHeaders() }); return yield data.json(); } catch (error) { console.error(`Error fetching data for ${key}:`, error); if (retries >= 3) { return false; } yield new Promise((resolve) => setTimeout(resolve, 500 * retries)); return fetchData(key, retries + 1); } }); getData = (key) => __async(void 0, null, function* () { if (!isValidDataFile(key)) { debuglog("utils-data", `Cannot get data for ${key}, invalid key`); return false; } const isExpired = yield isCacheExpired(key); if (!isExpired) { const cachedData = yield dataCacheGet(key, false); if (cachedData) { return cachedData; } } debuglog("utils-data", `Fetching data for ${key}\u2026`); const data = yield fetchData(key); debuglog("utils-data", `Fetched data for ${key}`, data); if (data) { dataCacheSet(key, data); setCacheExpiration(key); } return data; }); clearCaches = () => __async(void 0, null, function* () { dbDeleteAll("ar-cache"); for (const key of Object.keys(localStorage)) { if (key.startsWith("mh-improved-cache")) { localStorage.removeItem(key); } } for (const key of Object.keys(sessionStorage)) { if (key.startsWith("mh-improved")) { sessionStorage.removeItem(key); } } yield dbDelete("cache", "expirations"); }); updateCaches = () => __async(void 0, null, function* () { for (const file of validDataFiles) { yield getData(file); } }); getHeaders = () => { return { "Content-Type": "application/json", "X-MH-Improved": "true", "X-MH-Improved-Version": mhImprovedVersion || "unknown", "X-MH-Improved-Platform": mhImprovedPlatform || "unknown" }; }; sessionSet = (key, value, retry = false) => { if (getSetting("debug.no-cache")) { return; } key = `mh-improved-${key}`; const stringified = JSON.stringify(value); try { sessionStorage.setItem(key, stringified); } catch (error) { if ("QuotaExceededError" === error.name && !retry) { clearCaches(); sessionSet(key, value, true); } } }; sessionGet = (key, defaultValue = false) => { if (getSetting("debug.no-cache")) { return defaultValue; } key = `mh-improved-${key}`; const value = sessionStorage.getItem(key); if (!value) { return defaultValue; } return JSON.parse(value); }; sessionDelete = (key) => { key = `mh-improved-${key}`; sessionStorage.removeItem(key); }; sessionsDelete = (prefix) => { for (const key of Object.keys(sessionStorage)) { if (key.startsWith(prefix)) { sessionStorage.removeItem(key); } } }; cacheSet = (key, value) => { dbSet("cache", { id: key, value }); }; dataCacheSet = (key, value) => { dbSet("data", { id: key, value }); }; cacheGetHelper = (key, defaultValue = false, db = "cache") => __async(void 0, null, function* () { var _a; const cached = yield dbGet(db, key); if (!((_a = cached == null ? void 0 : cached.data) == null ? void 0 : _a.value)) { return defaultValue; } return cached.data.value; }); cacheGet = (key, defaultValue = false) => __async(void 0, null, function* () { return yield cacheGetHelper(key, defaultValue, "cache"); }); dataCacheGet = (key, defaultValue = false) => __async(void 0, null, function* () { return yield cacheGetHelper(key, defaultValue, "data"); }); cacheDelete = (key) => { dbDelete("cache", key); }; } }); // src/utils/draggable.js var makeElementDraggable; var init_draggable = __esm({ "src/utils/draggable.js"() { makeElementDraggable = (dragTarget, dragHandle, defaultX = null, defaultY = null, storageKey = null, savePosition = true) => { const modal = document.querySelector(dragTarget); if (!modal) { return; } const handle = document.querySelector(dragHandle); if (!handle) { return; } const keepWithinLimits = (type, value) => { if ("top" === type) { return value < -20 ? -20 : value; } if (value < handle.offsetWidth * -1 + 20) { return handle.offsetWidth * -1 + 20; } if (value > document.body.clientWidth - 20) { return document.body.clientWidth - 20; } return value; }; const onMouseDown = (e) => { e.preventDefault(); setTimeout(() => { x1 = e.clientX; y1 = e.clientY; modal.classList.add("mh-is-dragging"); document.onmousemove = onDrag; document.onmouseup = finishDrag; }, 50); }; const finishDrag = () => { document.onmouseup = null; document.onmousemove = null; modal.classList.remove("mh-is-dragging"); if (storageKey) { localStorage.setItem(storageKey, JSON.stringify({ x: modal.offsetLeft, y: modal.offsetTop })); } }; const onDrag = (e) => { e.preventDefault(); x2 = x1 - e.clientX; y2 = y1 - e.clientY; x1 = e.clientX; y1 = e.clientY; const newLeft = keepWithinLimits("left", modal.offsetLeft - x2); const newTop = keepWithinLimits("top", modal.offsetTop - y2); modal.style.left = `${newLeft}px`; modal.style.top = `${newTop}px`; }; let startX = defaultX || 0; let startY2 = defaultY || 0; if (!storageKey) { storageKey = `mh-draggable-${dragTarget}-${dragHandle}`; } if (savePosition) { const storedPosition = localStorage.getItem(storageKey); if (storedPosition) { const position = JSON.parse(storedPosition); startX = keepWithinLimits("left", position.x); startY2 = keepWithinLimits("top", position.y); } } modal.style.left = `${startX}px`; modal.style.top = `${startY2}px`; let x1 = 0, y1 = 0, x2 = 0, y2 = 0; handle.onmousedown = onMouseDown; }; } }); // src/utils/page.js var getCurrentPage, setPage, setTab, getCurrentTab, getCurrentSubtab, getCurrentDialog, isCurrentPage; var init_page = __esm({ "src/utils/page.js"() { getCurrentPage = () => { var _a, _b, _c, _d; if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getCurrentPage)) { return null; } const page = hg.utils.PageUtil.getCurrentPage(); if (!page) { const query = ((_d = (_c = hg == null ? void 0 : hg.utils) == null ? void 0 : _c.PageUtil) == null ? void 0 : _d.getQueryParams()) || {}; if ((query == null ? void 0 : query.switch_to) && "mobile" === query.switch_to) { return "camp"; } return null; } return page.toLowerCase(); }; setPage = (page, ...args) => { var _a, _b; if ("wiki" === page.toLowerCase()) { doEvent("mh-improved-open-wiki"); return; } page = page.charAt(0).toUpperCase() + page.slice(1); if ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPage) { hg.utils.PageUtil.setPage(page, ...args); } }; setTab = (tab, ...args) => { var _a, _b; if ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPageTab) { hg.utils.PageUtil.setPageTab(tab, ...args); } }; getCurrentTab = () => { var _a, _b; if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getCurrentPageTab)) { return getCurrentPage(); } const tab = hg.utils.PageUtil.getCurrentPageTab() || ""; if (tab.length <= 0) { return getCurrentPage(); } return tab.toLowerCase(); }; getCurrentSubtab = () => { const subtab = hg.utils.PageUtil.getCurrentPageSubTab(); if (!subtab || subtab.length <= 0) { return getCurrentTab(); } return subtab.toLowerCase(); }; getCurrentDialog = () => { const overlay = document.querySelector("#overlayPopup"); if (!overlay || !overlay.classList || overlay.classList.length <= 0) { return null; } let overlayType = overlay.classList.value; overlayType = overlayType.replace("jsDialogFixed", ""); overlayType = overlayType.replace("default", ""); overlayType = overlayType.replace("wide", ""); overlayType = overlayType.replace("ajax", ""); overlayType = overlayType.replace("overlay", ""); overlayType = overlayType.replace("treasureMapPopup", "map"); overlayType = overlayType.replace("itemViewPopup", "item"); overlayType = overlayType.replace("mouseViewPopup", "mouse"); overlayType = overlayType.replace("largerImage", "image"); overlayType = overlayType.replace("convertibleOpenViewPopup", "convertible"); overlayType = overlayType.replace("adventureBookPopup", "adventureBook"); overlayType = overlayType.replace("marketplaceViewPopup", "marketplace"); overlayType = overlayType.replace("giftSelectorViewPopup", "gifts"); overlayType = overlayType.replace("supportPageContactUsForm", "support"); overlayType = overlayType.replace("MHCheckout", "premiumShop"); overlayType = overlayType.trim(); if ("Popup" === overlayType) { return false; } return overlayType; }; isCurrentPage = (targetPage = null, targetTab = null, targetSubtab = null, forceCurrentPage = null, forceCurrentTab = null, forceCurrentSubtab = null) => { if (!targetPage) { return false; } const currentPage = forceCurrentPage || getCurrentPage(); if (!targetTab) { return currentPage === targetPage; } const currentTab = forceCurrentTab || getCurrentTab(); if (!targetSubtab) { return currentPage === targetPage && currentTab === targetTab; } const currentSubtab = forceCurrentSubtab || getCurrentSubtab(); if (currentSubtab === currentTab) { return currentPage === targetPage && currentTab === targetTab; } return currentPage === targetPage && currentTab === targetTab && currentSubtab === targetSubtab; }; } }); // src/utils/location.js var getCurrentLocation, getCurrentLocationName, getRelicHunterLocation, travelTo; var init_location = __esm({ "src/utils/location.js"() { init_data(); init_elements(); getCurrentLocation = () => { const location = (user == null ? void 0 : user.environment_type) || ""; return location.toLowerCase(); }; getCurrentLocationName = () => { return (user == null ? void 0 : user.environment_name) || getCurrentLocation(); }; getRelicHunterLocation = () => { const cacheExpiry = 5 * 60 * 1e3; const cacheKey = "mh-improved-relic-hunter-location"; let cached = sessionGet(cacheKey); if (cached) { cached = JSON.parse(cached); } if (cached && cached.expiry > Date.now()) { return cached.data; } return fetch("https://rh-api.mouse.rip/", { headers: getHeaders() }).then((response) => response.json()).then((data) => { const expiry = Date.now() + cacheExpiry; sessionSet(cacheKey, JSON.stringify({ expiry, data })); return data; }).catch((error) => { console.error(error); }); }; travelTo = (location) => { var _a, _b; const header = document.querySelector(".mousehuntHeaderView"); if (header) { const existing = header.querySelector(".mh-improved-travel-message"); if (existing) { existing.remove(); } makeElement("div", ["mh-improved-travel-message", "travelPage-map-message"], "Traveling...", header); } if ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.TravelPage) == null ? void 0 : _b.travel) { app.pages.TravelPage.travel(location); } }; } }); // src/utils/horn.js var showHornMessage; var init_horn = __esm({ "src/utils/horn.js"() { init_elements(); showHornMessage = (options) => { const huntersHornView = document.querySelector(".huntersHornView__messageContainer"); if (!huntersHornView) { return; } const settings = { title: options.title || "Hunters Horn", text: options.text || "This is a message from the Hunters Horn", button: options.button || "OK", action: options.action || (() => { }), dismiss: options.dismiss || null, type: options.type || "recent_linked_turn", classname: options.classname || "", image: options.image || null, imageLink: options.imageLink || null, imageCallback: options.imageCallback || null }; const backdrop = document.querySelector(".huntersHornView__backdrop"); if (backdrop) { backdrop.classList.add("huntersHornView__backdrop--active"); } const gameInfo = document.querySelector(".mousehuntHud-gameInfo"); if (gameInfo) { gameInfo.classList.add("blur"); } const messageWrapper = makeElement("div", ["huntersHornView__message huntersHornView__message--active", settings.classname]); const message = makeElement("div", ["huntersHornMessageView", `huntersHornMessageView--${settings.type}`]); makeElement("div", "huntersHornMessageView__title", settings.title, message); const content = makeElement("div", "huntersHornMessageView__content"); if (settings.image) { const imgWrapper = makeElement("div", "huntersHornMessageView__friend"); const img = makeElement("a", "huntersHornMessageView__friendProfilePic"); if (settings.imageLink) { img.href = settings.imageLink; } else if (settings.imageCallback) { img.addEventListener("click", settings.imageCallback); } else { img.href = "#"; } img.style.backgroundImage = `url(${settings.image})`; imgWrapper.append(img); content.append(imgWrapper); } makeElement("div", "huntersHornMessageView__text", settings.text, content); const buttonSpacer = makeElement("div", "huntersHornMessageView__buttonSpacer"); const button = makeElement("button", "huntersHornMessageView__action"); const buttonLabel = makeElement("div", "huntersHornMessageView__actionLabel"); makeElement("span", "huntersHornMessageView__actionText", settings.button, buttonLabel); button.append(buttonLabel); button.addEventListener("click", () => { if (settings.action) { settings.action(); } messageWrapper.innerHTML = ""; backdrop.classList.remove("huntersHornView__backdrop--active"); gameInfo.classList.remove("blur"); }); buttonSpacer.append(button); content.append(buttonSpacer); message.append(content); if (settings.dismiss) { const countdown = makeElement("button", ["huntersHornMessageView__countdown"]); makeElement("div", "huntersHornMessageView__countdownButtonImage", "", countdown); const svgMarkup = `<svg class="huntersHornMessageView__countdownSVG"> <circle r="46%" cx="50%" cy="50%" class="huntersHornMessageView__countdownCircleTrack"></circle> <circle r="46%" cx="50%" cy="50%" class="huntersHornMessageView__countdownCircle" style="animation-duration: ${settings.dismiss}ms;"></circle> </svg>`; countdown.innerHTML += svgMarkup; countdown.addEventListener("click", () => { countdown.classList.add("huntersHornMessageView__countdown--complete"); messageWrapper.innerHTML = ""; backdrop.classList.remove("huntersHornView__backdrop--active"); gameInfo.classList.remove("blur"); }); message.append(countdown); } messageWrapper.append(message); const existingMessages = huntersHornView.querySelector(".huntersHornView__message"); if (existingMessages) { existingMessages.remove(); } huntersHornView.append(messageWrapper); if (settings.dismiss) { setTimeout(() => { const countdown = messageWrapper.querySelector(".huntersHornMessageView__countdown"); if (countdown) { countdown.classList.add("huntersHornMessageView__countdown--complete"); } messageWrapper.innerHTML = ""; backdrop.classList.remove("huntersHornView__backdrop--active"); gameInfo.classList.remove("blur"); }, settings.dismiss); } }; } }); // src/utils/events.js var requestCallbacks, onRequestHolder, onRequest, runCallbacks, overlayMutationObserver, overlayCallbacks, onOverlayChange, getDialogMapping, onDialogShow, dialogHideCallbacks, lastDialog, onDialogHide, pageChangeCallbacks, pageChangeObserver, onPageChange, onTravel, onTravelCallback, callbacks, hasAddedNavigationListener, onNavigation, addNavigationListeners, onActivation, onDeactivation, onTurn, onTrapChange; var init_events = __esm({ "src/utils/events.js"() { init_page(); init_location(); init_event_registry(); init_horn(); requestCallbacks = {}; onRequestHolder = null; onRequest = (url = null, callback = null, skipSuccess = false, ignore = [], priority = false) => { url = "*" === url ? "*" : `managers/ajax/${url}`; if (ignore.includes(url)) { return; } if (!callback) { return; } if (!requestCallbacks[url]) { requestCallbacks[url] = []; } if (priority) { requestCallbacks[url].unshift({ callback, skipSuccess }); } else { requestCallbacks[url].push({ callback, skipSuccess }); } if (onRequestHolder) { return; } const req = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function() { const send = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function(data) { const params = new URLSearchParams(data); this._data = Object.fromEntries(params); delete this._data.hg_is_ajax; delete this._data.sn; delete this._data.uh; delete this._data.last_read_journal_entry_id; return Reflect.apply(send, this, arguments); }; this.addEventListener("load", function() { if (this.responseText) { let response = {}; try { response = JSON.parse(this.responseText); } catch (e) { return; } Object.keys(requestCallbacks).forEach((key) => { if ("*" === key || this.responseURL.includes(key)) { requestCallbacks[key].forEach((item) => { if (item.callback && typeof item.callback === "function" && (item.skipSuccess || (response == null ? void 0 : response.success))) { item.callback(response, this._data); } }); } }); } }); Reflect.apply(req, this, arguments); }; onRequestHolder = true; }; runCallbacks = (settings, parentNode, callbacks2) => { Object.keys(settings).forEach((key) => { if (parentNode && parentNode.classList && parentNode.classList.contains(settings[key].selector)) { settings[key].isVisible = true; if (callbacks2[key] && callbacks2[key].show) { callbacks2[key].show(); } } else if (settings[key].isVisible) { settings[key].isVisible = false; if (callbacks2[key] && callbacks2[key].hide) { callbacks2[key].hide(); } } }); return settings; }; overlayMutationObserver = null; overlayCallbacks = []; onOverlayChange = (callbacks2) => { let overlayData = { map: { isVisible: false, selector: "treasureMapPopup" }, item: { isVisible: false, selector: "itemViewPopup" }, mouse: { isVisible: false, selector: "mouseViewPopup" }, image: { isVisible: false, selector: "largerImage" }, convertible: { isVisible: false, selector: "convertibleOpenViewPopup" }, adventureBook: { isVisible: false, selector: "adventureBookPopup" }, marketplace: { isVisible: false, selector: "marketplaceViewPopup" }, gifts: { isVisible: false, selector: "giftSelectorViewPopup" }, support: { isVisible: false, selector: "supportPageContactUsForm" }, premiumShop: { isVisible: false, selector: "MHCheckout" } }; overlayCallbacks.push(callbacks2); if (overlayMutationObserver) { return; } overlayMutationObserver = true; const observer = new MutationObserver(() => { overlayCallbacks.forEach((callback) => { if (callback.change) { callback.change(); } const overlayType = document.querySelector("#overlayPopup"); if (overlayType && overlayType.classList.length <= 0) { return; } const overlayBg = document.querySelector("#overlayBg"); if (overlayBg && overlayBg.classList.length > 0) { if (callback.show) { callback.show(); } } else if (callback.hide) { callback.hide(); } overlayData = runCallbacks(overlayData, overlayType, callback); }); }); const observeTarget = document.querySelector("#overlayPopup"); if (observeTarget) { observer.observe(observeTarget, { attributes: true, attributeFilter: ["class"] }); } }; getDialogMapping = () => { return { treasureMapPopup: "map", itemViewPopup: "item", mouseViewPopup: "mouse", largerImage: "image", convertibleOpenViewPopup: "convertible", adventureBookPopup: "adventureBook", marketplaceViewPopup: "marketplace", giftSelectorViewPopup: "gifts", supportPageContactUsForm: "support", MHCheckout: "premiumShop" }; }; onDialogShow = (overlay = null, callback = null, once = false) => { const identifier = callback.toString().replaceAll(/[^\w-]/gi, ""); eventRegistry.addEventListener("js_dialog_show", () => { if (!activejsDialog) { return; } const tokens = activejsDialog.getAllTokens(); if (!tokens || !tokens["{*content*}"] || !tokens["{*content*}"].value || tokens["{*content*}"].value === "" || tokens["{*content*}"].value.includes('data-item-type=""') || // Item view. tokens["{*content*}"].value.includes('data-mouse-id=""')) { return; } const atts = activejsDialog.getAttributes(); let dialogType = atts.className.replace("jsDialogFixed", "").replace("wide", "").replace("default", "").replaceAll(" ", " ").replaceAll(" ", ".").trim(); if (dialogType.endsWith(".")) { dialogType = dialogType.slice(0, -1); } window.mhutils = window.mhutils ? __spreadProps(__spreadValues({}, window.mhutils), { lastDialog: { overlay: dialogType } }) : { lastDialog: { overlay: dialogType } }; lastDialog = dialogType; if ((!overlay || "all" === overlay) && "function" === typeof callback) { return callback(); } const dialogMapping = getDialogMapping(); if ("function" === typeof callback && (overlay === dialogType || overlay === dialogMapping[dialogType])) { return callback(); } }, null, once, 0, identifier); }; dialogHideCallbacks = []; lastDialog = null; onDialogHide = (callback, overlay = null) => { const dialogMapping = getDialogMapping(); if (overlay in dialogMapping && !dialogHideCallbacks.some((item) => item.callback === callback)) { dialogHideCallbacks.push({ overlay: dialogMapping[overlay], callback }); } else if (!dialogHideCallbacks.some((item) => item.callback === callback)) { dialogHideCallbacks.push({ overlay: "all", callback }); } eventRegistry.addEventListener("js_dialog_hide", () => { if (!lastDialog) { return; } dialogHideCallbacks.forEach((item) => { if (lastDialog === item.overlay || "all" === item.overlay) { item.callback(); } }); }); }; pageChangeCallbacks = []; pageChangeObserver = null; onPageChange = (callbacks2) => { let tabData = { blueprint: { isVisible: null, selector: "showBlueprint" }, tem: { isVisible: false, selector: "showTrapEffectiveness" }, trap: { isVisible: false, selector: "editTrap" }, camp: { isVisible: false, selector: "PageCamp" }, travel: { isVisible: false, selector: "PageTravel" }, inventory: { isVisible: false, selector: "PageInventory" }, shop: { isVisible: false, selector: "PageShops" }, mice: { isVisible: false, selector: "PageAdversaries" }, friends: { isVisible: false, selector: "PageFriends" }, sendSupplies: { isVisible: false, selector: "PageSupplyTransfer" }, team: { isVisible: false, selector: "PageTeam" }, tournament: { isVisible: false, selector: "PageTournament" }, news: { isVisible: false, selector: "PageNews" }, scoreboards: { isVisible: false, selector: "PageScoreboards" }, discord: { isVisible: false, selector: "PageJoinDiscord" }, preferences: { isVisible: false, selector: "PagePreferences" }, profile: { isVisible: false, selector: "HunterProfile" } }; pageChangeCallbacks.push(callbacks2); if (pageChangeObserver) { return; } pageChangeObserver = true; const observer = new MutationObserver(() => { pageChangeCallbacks.forEach((callback) => { if (callback.change) { callback.change(); } const mhContainer = document.querySelector("#mousehuntContainer"); if (mhContainer && mhContainer.classList.length > 0) { tabData = runCallbacks(tabData, mhContainer, callback); } }); }); const observeTarget = document.querySelector("#mousehuntContainer"); if (observeTarget) { observer.observe(observeTarget, { attributes: true, attributeFilter: ["class"] }); } }; onTravel = (location, options) => { eventRegistry.addEventListener("travel_complete", () => onTravelCallback(location, options)); }; onTravelCallback = (location, options) => { if (location && location !== getCurrentLocation()) { return; } if (options == null ? void 0 : options.shouldAddReminder) { showHornMessage({ title: options.title || "", text: options.text || "", button: options.button || "Dismiss", action: options.action || null }); } if (options.callback) { options.callback(); } }; callbacks = []; hasAddedNavigationListener = false; onNavigation = (callback, options = {}) => { const defaults = { page: false, tab: false, subtab: false, onLoad: true, anyTab: false, anySubtab: false }; const { page, tab, subtab, onLoad, anyTab, anySubtab } = Object.assign(defaults, options); const bypassMatch = !page; if (onLoad && (bypassMatch || isCurrentPage( page, anyTab ? getCurrentTab() : tab, anySubtab ? getCurrentSubtab() : subtab ))) { callback(); } callbacks.push({ callback, page, tab, subtab, bypassMatch }); if (!hasAddedNavigationListener) { addNavigationListeners(); hasAddedNavigationListener = true; } }; addNavigationListeners = () => { eventRegistry.addEventListener("set_page", (e) => { var _a; const tabs = ((_a = e == null ? void 0 : e.data) == null ? void 0 : _a.tabs) || {}; const currentTab = Object.keys(tabs).find((key) => tabs[key].is_active_tab); const forceCurrentTab = currentTab == null ? void 0 : currentTab.type; callbacks.forEach(({ callback, page, tab, subtab, bypassMatch }) => { if (bypassMatch) { callback(); return; } if (!subtab) { if (isCurrentPage(page, tab, false, getCurrentPage(), forceCurrentTab)) { callback(); } return; } if ((currentTab == null ? void 0 : currentTab.subtabs) && (currentTab == null ? void 0 : currentTab.subtabs.length) > 0) { const forceSubtab = currentTab.subtabs.find((searchTab) => searchTab.is_active_subtab).subtab_type; if (isCurrentPage(page, tab, subtab, getCurrentPage(), forceCurrentTab, forceSubtab)) { callback(); } } }); }); eventRegistry.addEventListener("set_tab", (e) => { callbacks.forEach(({ callback, page, tab, subtab, bypassMatch }) => { if (bypassMatch) { callback(); return; } if (isCurrentPage(page, tab, subtab, getCurrentPage(), e.page_arguments.tab, e.page_arguments.sub_tab)) { callback(); } }); }); }; onActivation = (module, callback) => { onEvent("mh-improved-settings-changed", ({ key, value }) => { if (key === module && value) { callback(); } }); }; onDeactivation = (module, callback) => { onEvent("mh-improved-settings-changed", ({ key, value }) => { if (key === module && !value) { callback(); } }); }; onTurn = (callback, delay = null) => { onRequest("turns/activeturn.php", () => { delay = delay || Math.floor(Math.random() * 1e3) + 1e3; setTimeout(callback, delay); }, true); }; onTrapChange = (callback, opts) => { const defaults = { runOnLoad: true, runOnGetTrapComponents: true }; const options = Object.assign(defaults, opts); if (options == null ? void 0 : options.runOnLoad) { callback(); } onRequest("users/changetrap.php", callback); if (options == null ? void 0 : options.runOnGetTrapComponents) { onRequest("users/gettrapcomponents.php", callback); } }; } }); // src/utils/flags.js var getFlag, getFlags; var init_flags = __esm({ "src/utils/flags.js"() { init_settings(); getFlag = (flag) => { return getSetting(`experiments.${flag}`, getFlags().includes(flag)); }; getFlags = () => { return getSetting("override-flags", "").toLowerCase().replaceAll(" ", "").split(","); }; } }); // src/utils/journal.js var replaceJournalEntry, makeJournalEntry, getLatestJournalEntryId, addJournalEntry; var init_journal = __esm({ "src/utils/journal.js"() { init_db(); init_location(); init_event_registry(); replaceJournalEntry = (entry, opts = {}) => { const { classes = ["short"], image = false, text = "Hello, world!", time = false, location = false, callback = () => { } } = opts; let date = false; if (time && location) { date = `${time} - ${location}`; } else if (time) { date = time; } else if (location) { date = location; } entry.outerHTML = `<div class="entry ${classes.join(" ")}" data-entry-id="journal-entry-${opts.id}"> ${image ? `<div class="journalimage"><img src="${image}" border="0"></div>` : ""} <div class="journalbody"> ${date ? `<div class="journaldate">${date}</div>` : ""} <div class="journaltext">${text}</div> </div> </div>`; callback(entry); }; makeJournalEntry = (opts = {}) => { const existingEntry = document.querySelector(`.journalEntries .entry[data-entry-id="journal-entry-${opts.id}"]`); if (existingEntry) { return; } const entry = document.querySelector(`.journalEntries .entry${opts.before ? `[data-entry-id="${opts.before}"]` : ""}`); if (!entry) { return; } const newEntry = entry.cloneNode(true); entry.before(newEntry); replaceJournalEntry(newEntry, opts); }; getLatestJournalEntryId = () => { const entries = document.querySelectorAll(".journalEntries .entry"); const entry = [...entries].find((search) => search.getAttribute("data-entry-id")); return entry ? entry.getAttribute("data-entry-id") : 0; }; addJournalEntry = (..._0) => __async(void 0, [..._0], function* (opts = {}) { var _a; const previousEntryData = yield dbGet("data", `journal-entry-${opts.id}`); const previousEntryId = previousEntryData ? (_a = previousEntryData.data) == null ? void 0 : _a.previous : null; if (!previousEntryId) { const data = { id: `journal-entry-${opts.id}`, previous: getLatestJournalEntryId() }; if (!opts.noDate) { if (!opts.time) { const now = /* @__PURE__ */ new Date(); opts.time = `${now.getHours()}:${now.getMinutes()} ${now.getHours() >= 12 ? "pm" : "am"}`; } if (!opts.location) { opts.location = getCurrentLocationName(); } } makeJournalEntry(opts); yield dbSet("data", data); } onEvent("journal-entry", (entry) => { if (entry && entry.getAttribute("data-entry-id") === previousEntryId) { const existingEntry = document.querySelector(`.journalEntries .entry[data-entry-id="journal-entry-${opts.id}"]`); if (existingEntry) { return; } makeJournalEntry(__spreadProps(__spreadValues(__spreadValues({}, opts), previousEntryData.data), { id: `journal-entry-${opts.id}`, before: previousEntryId })); } }); }); } }); // src/utils/links.js var addItemToGameInfoBar, getCleanSubmenuLabel, addSubmenuItem, removeSubmenuItem, addSubmenuDivider, addIconToMenu, removeIconFromMenu, replaceIconInMenu; var init_links = __esm({ "src/utils/links.js"() { init_elements(); addItemToGameInfoBar = (options) => { const settings = Object.assign({}, { label: "", href: "", class: "", callback: null, external: false, title: "" }, options); const safeLabel = settings.label.replaceAll(/[^\da-z]/gi, "_").toLowerCase(); const exists = document.querySelector(`#mh-custom-topmenu-${safeLabel}`); if (exists) { return; } const menu = document.querySelector(".mousehuntHud-gameInfo"); if (!menu) { return; } const item = document.createElement("a"); item.id = `mh-custom-topmenu-${safeLabel}`; item.classList.add("mousehuntHud-gameInfo-item"); item.classList.add("mousehuntHud-custom-menu-item"); item.title = settings.title || settings.label; item.href = settings.href || "#"; const name = document.createElement("div"); name.classList.add("name"); if (settings.label) { name.innerText = settings.label; } item.append(name); if (settings.class) { item.classList.add(settings.class); } if (settings.href) { item.href = settings.href; } if (settings.callback) { item.addEventListener("click", settings.callback); } if (settings.external) { const externalLinkIconWrapper = document.createElement("div"); externalLinkIconWrapper.classList.add("mousehuntHud-menu"); const externalLinkIcon = document.createElement("div"); externalLinkIcon.classList.add("external_icon"); externalLinkIconWrapper.append(externalLinkIcon); item.append(externalLinkIconWrapper); } menu.insertBefore(item, menu.firstChild); }; getCleanSubmenuLabel = (label) => { return label.toLowerCase().replaceAll(/[^\da-z]/g, "-"); }; addSubmenuItem = (options) => { const settings = Object.assign({}, { id: null, menu: "kingdom", label: "", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/special.png", href: "", class: "", callback: null, external: false }, options); const menuTarget = document.querySelector(`.mousehuntHud-menu .${settings.menu}`); if (!menuTarget) { return; } if (!menuTarget.classList.contains("hasChildren")) { menuTarget.classList.add("hasChildren"); } let hasSubmenu = true; let submenu = menuTarget.querySelector("ul"); if (!submenu) { hasSubmenu = false; submenu = document.createElement("ul"); } const item = document.createElement("li"); item.classList.add("custom-submenu-item"); const label = settings.label.length > 0 ? settings.label : settings.id; const cleanLabel = getCleanSubmenuLabel(label); const exists = document.querySelector(`#custom-submenu-item-${cleanLabel}`); if (exists) { exists.remove(); } item.id = settings.id ? `custom-submenu-item-${settings.id}` : `custom-submenu-item-${cleanLabel}`; if (settings.class) { const classes = settings.class.split(" "); item.classList.add(...classes); } const link = document.createElement("a"); link.href = settings.href || "#"; if (settings.callback) { link.addEventListener("click", (e) => { e.preventDefault(); settings.callback(); }); } const icon = document.createElement("div"); icon.classList.add("icon"); icon.style = `background-image: url(${settings.icon});`; const name = document.createElement("div"); name.classList.add("name"); name.innerHTML = settings.label; link.append(icon); link.append(name); if (settings.external) { const externalLinkIcon = document.createElement("div"); externalLinkIcon.classList.add("external_icon"); link.append(externalLinkIcon); link.target = "_blank"; link.rel = "noopener noreferrer"; } item.append(link); submenu.append(item); if (!hasSubmenu) { menuTarget.append(submenu); } }; removeSubmenuItem = (id) => { id = getCleanSubmenuLabel(id); const item = document.querySelector(`#custom-submenu-item-${id}`); if (item) { item.remove(); } }; addSubmenuDivider = (menu, className = "") => { addSubmenuItem({ menu, id: `mh-improved-submenu-divider-${className}`, label: "", icon: "", href: "", class: `mh-improved-submenu-divider ${className}` }); }; addIconToMenu = (opts) => { const menu = document.querySelector(".mousehuntHeaderView-gameTabs .mousehuntHeaderView-dropdownContainer"); if (!menu) { return; } const defaults = { id: "", classname: "", href: false, title: "", text: "", action: null, position: "prepend" }; const settings = Object.assign({}, defaults, opts); if (!settings.classname) { settings.classname = settings.id; } const icon = makeElement("a", ["menuItem", settings.classname], settings.text); icon.id = settings.id; if (settings.href) { icon.href = settings.href; icon.title = settings.title; } if (settings.action) { icon.addEventListener("click", (e) => { settings.action(e, icon); }); } if (settings.id) { const exists = document.querySelector(`#${settings.id}`); if (exists) { exists.replaceWith(icon); return; } } if ("prepend" === settings.position) { menu.prepend(icon); } else if ("append" === settings.position) { menu.append(icon); } }; removeIconFromMenu = (id) => { const icon = document.querySelector(`#${id}`); if (icon) { icon.remove(); } }; replaceIconInMenu = (id, opts) => { removeIconFromMenu(id); addIconToMenu(opts); }; } }); // src/utils/maps.js var mapper, mapData, mapModel, getMapData, setMapData, getLastMaptain, setLastMaptain, cacheFinishedMap, showTravelConfirmation, showTravelConfirmationForMice, showTravelConfirmationNoDetails, addMHCTData, getCachedValue, setCachedValue, getArEl, getHighestArText, getArForMouse, getArText, getHighestArForMouse, getLocationForMouse; var init_maps = __esm({ "src/utils/maps.js"() { init_db(); init_data(); init_location(); init_global(); init_elements(); mapper = (key = false) => { if (key) { const mapperData = getGlobal("mapper"); if (!mapperData || !mapperData[key]) { return false; } return mapperData[key]; } return getGlobal("mapper"); }; mapData = () => { const m = mapper(); if (!m) { return {}; } return m.mapData; }; mapModel = () => { const m = mapper(); if (!m) { return {}; } return m.mapModel; }; getMapData = (mapId = false, strict = false) => { if (mapId !== false) { const sessionMap = sessionGet(`mh-improved-map-cache-${mapId}`); if (sessionMap) { return sessionMap; } } if (strict) { return false; } const localStorageMap = sessionGet("map-cache-last-map"); if (localStorageMap) { return localStorageMap; } return false; }; setMapData = (mapId, theMapData) => { sessionSet(`mh-improved-map-cache-${mapId}`, theMapData); sessionSet("map-cache-last-map", theMapData); }; getLastMaptain = () => { return sessionGet("last-maptain"); }; setLastMaptain = (id) => { sessionSet("last-maptain", id); }; cacheFinishedMap = () => __async(void 0, null, function* () { const completedMap = user.quests.QuestRelicHunter.maps.find((map) => map.is_complete); if (!(completedMap == null ? void 0 : completedMap.map_id)) { return; } const data = getMapData(completedMap.map_id); if (!data) { return; } const maptain = data.hunters.find((hunter) => hunter.captain); setLastMaptain(maptain.user_id || ""); }); showTravelConfirmation = (environment, theMapModel) => { if (!(environment == null ? void 0 : environment.id) || !(environment == null ? void 0 : environment.type)) { return; } const environmentData = theMapModel.getEnvironmentById(environment.id); const environmentGoals = theMapModel.getGoalsByEnvironment(environment.id); const noun = environmentData.num_missing_goals === 1 ? "mouse" : "mice"; showTravelConfirmationForMice({ title: `Travel to ${environmentData.name}?`, description: `This area has ${environmentData.num_missing_goals} missing ${noun}.`, environment: environment.type, templateData: { environment: environmentData, goals: environmentGoals } }); }; showTravelConfirmationForMice = ({ title, description, environment, templateData }) => { const dialog = new hg.views.TreasureMapDialogView(); dialog.setTitle(title); dialog.setDescription(description); dialog.setContent(hg.utils.TemplateUtil.renderFromFile("TreasureMapDialogView", "travel", templateData)); dialog.setCssClass("confirm"); dialog.setContinueAction("Travel", () => { app.pages.TravelPage.travel(environment); dialog.hide(); setTimeout(() => { jsDialog().hide(); }, 250); }); hg.controllers.TreasureMapController.showDialog(dialog); }; showTravelConfirmationNoDetails = (environment) => __async(void 0, null, function* () { const templateData = { environment: { name: environment.name, id: environment.id, type: environment.id, thumb: environment.image, header: environment.header, goals: environment.goals || [], num_completed_goals: 0, num_total_goals: 0, hunters: [], is_current_environment: getCurrentLocation() === environment.id, can_travel: true, num_missing_goals: 0 }, goals: [] }; showTravelConfirmationForMice({ title: `Travel to ${environment.name}?`, description: "", environment: environment.id, templateData }); }); addMHCTData = (mouse, appendTo, type = "mouse") => __async(void 0, null, function* () { const existingMhct = appendTo.querySelector(`#mhct-${mouse.unique_id}-${type}`); if (existingMhct) { return; } const mhctJson = yield getArForMouse(mouse.unique_id, type); const mhctDiv = makeElement("div", "mhct-data"); mhctDiv.id = `mhct-${mouse.unique_id}-${type}`; const header = makeElement("div", "mhct-title"); makeElement("span", "mhct-title-text", "item" === type ? "Drop Rates" : "Attraction Rates", header); const mhctLink = makeElement("a", "mhct-link", "View on MHCT \u2192"); mhctLink.target = "_mhct"; if (!mouse.name) { const nameEl = document.querySelector(".treasureMapView-highlight-name"); mouse.name = nameEl ? nameEl.innerText : mouse.unique_id; } mhctLink.href = "item" === type ? `https://www.mhct.win/loot.php?item=${mouse.unique_id}` : `https://www.mhct.win/attractions.php?mouse_name=${mouse.name}`; header.append(mhctLink); mhctDiv.append(header); if (!mhctJson.slice) { return; } const environments5 = yield getData("environments"); const amountOfLocationsToShow = 5; mhctJson.slice(0, amountOfLocationsToShow).forEach((mhct) => { const mhctRow = makeElement("div", "mhct-row"); const location = makeElement("div", "mhct-location"); makeElement("span", "mhct-location-text", mhct.location, location); if (mhct.stage) { makeElement("span", "mhct-stage", mhct.stage, location); } const environment = environments5.find((env) => { return env.name === mhct.location; }); if (!environment) { mhctRow.classList.add("mhct-row-no-env"); } mhctRow.append(location); makeElement("div", "mhct-bait", mhct.cheese, mhctRow); const mhctRate = Number.parseInt("item" === type ? mhct.drop_pct : mhct.rate / 100, 10).toFixed(1); makeElement("div", "mhct-rate", `${mhctRate}%`, mhctRow); mhctRow.addEventListener("click", () => { var _a, _b; if (environment.id === getCurrentLocation() && ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.CampPage) == null ? void 0 : _b.showTrapSelector)) { app.pages.CampPage.showTrapSelector("bait"); jsDialog().hide(); return; } const travelEnvironment = mapper("mapData").environments.find((env) => { return env.type === environment.id; }); showTravelConfirmation(travelEnvironment, mapModel()); }); mhctDiv.append(mhctRow); }); if (0 === mhctJson.length) { const mhctRow = makeElement("div", "mhct-row"); makeElement("div", "mhct-no-data", "No data available", mhctRow); mhctDiv.append(mhctRow); } appendTo.append(mhctDiv); }); getCachedValue = (key) => __async(void 0, null, function* () { var _a; const value = yield dbGet("ar-cache", key); if (!((_a = value == null ? void 0 : value.data) == null ? void 0 : _a.value)) { return null; } return value.data.value; }); setCachedValue = (key, value) => __async(void 0, null, function* () { yield dbSet("ar-cache", { id: key, value }); }); getArEl = (id, type = "mouse") => __async(void 0, null, function* () { let ar = yield getArText(id, type); let arType = "location"; if (!ar) { ar = yield getHighestArText(id, type); if (!ar || ar.length === 0) { return makeElement("div", ["mh-ui-ar", "mh-ui-no-ar"], "?"); } arType = "highest"; } let arDifficulty = "easy"; if (ar >= 99) { arDifficulty = "guaranteed"; } else if (ar >= 59) { arDifficulty = "super-easy"; } else if (ar >= 49) { arDifficulty = "easy"; } else if (ar >= 39) { arDifficulty = "medium"; } else if (ar >= 27) { arDifficulty = "hard"; } else if (ar >= 14) { arDifficulty = "kinda-hard"; } else if (ar >= 5) { arDifficulty = "super-hard"; } else if (ar >= 2) { arDifficulty = "extreme"; } else { arDifficulty = "impossible"; } if (ar.toString().slice(-3) === ".00") { ar = ar.toString().slice(0, -3); } const arEl = makeElement("div", ["mh-ui-ar", `mh-ui-ar-${arType}`, `mh-ui-ar-${arDifficulty}`], `${ar}%`); arEl.title = `Attraction rate: ${ar}%`; arEl.setAttribute("data-ar", ar); return arEl; }); getHighestArText = (id, type = "mouse") => __async(void 0, null, function* () { const highest = yield getHighestArForMouse(id, type); return highest != null ? highest : false; }); getArForMouse = (id, type = "mouse") => __async(void 0, null, function* () { let mhctJson = []; const cacheKey = `${type}-${id}`; const cachedAr = yield getCachedValue(cacheKey); if (cachedAr) { return cachedAr; } const isItem = "item" === type; const mhctPath = isItem ? "mhct-item" : "mhct"; let mhctData = []; const data = mapData() || {}; const mapType = (data == null ? void 0 : data.map_type) || ""; let url = `https://api.mouse.rip/${mhctPath}/${id}`; if (mapType.toLowerCase().includes("halloween")) { url = `https://api.mouse.rip/${mhctPath}/${id}-hlw_22`; } try { mhctData = yield fetch(url, { headers: getHeaders() }); } catch (error) { console.error("Error fetching MHCT data:", error); yield new Promise((resolve) => setTimeout(resolve, 500)); try { mhctData = yield fetch(url, { headers: getHeaders() }); } catch (errorRetry) { console.error("Error fetching MHCT data:", errorRetry); return []; } } if (!mhctData.ok) { return []; } mhctJson = yield mhctData.json(); if (!mhctJson || mhctJson.length === 0) { return []; } if (isItem) { for (const rate of mhctJson) { rate.rate = Number.parseInt(rate.drop_pct * 100); delete rate.drop_ct; } } if (mhctJson.error) { return []; } mhctJson = mhctJson.filter((rate) => { if (rate.rate === 0) { return false; } if (rate.rate === 9999) { rate.rate = 1e4; } return true; }); yield setCachedValue(cacheKey, mhctJson); return mhctJson; }); getArText = (id, type = "mouse") => __async(void 0, null, function* () { const rates = yield getArForMouse(id, type); if (!rates || rates.length === 0) { return false; } const rate = rates[0]; if (!rate) { return false; } return (rate.rate / 100).toFixed(2); }); getHighestArForMouse = (id, type = "mouse") => __async(void 0, null, function* () { const rates = yield getArForMouse(id, type); if (!rates || rates.length === 0) { return 0; } if (Object.keys(rates).length === 0 && rates.constructor === Object) { return 0; } if (!rates.sort) { return 0; } rates.sort((a, b) => b.rate - a.rate); const rate = rates[0]; if (!rate) { return 0; } return rate.rate / 100; }); getLocationForMouse = (mouse, type = "mouse") => __async(void 0, null, function* () { const environments5 = yield getData("environments"); const rates = yield getArForMouse(mouse, type); if (!rates || rates.length === 0) { return false; } const rate = rates[0]; if (!rate) { return false; } const originalName = rate.location; const twistedMap = { "Twisted Garden": "Living Garden", "Sand Crypts": "Sand Dunes", "Cursed City": "Lost City" }; if (twistedMap[rate.location]) { rate.location = twistedMap[rate.location]; } const environment = environments5.find((env) => { return env.name === rate.location; }); if (!environment) { return false; } environment.name = originalName; return environment; }); } }); // src/utils/styles/page-error.css var page_error_default; var init_page_error = __esm({ "src/utils/styles/page-error.css"() { page_error_default = 'body.PageError .pageFrameView,body.PageLockError .pageFrameView{grid-template-rows:[page-start] auto [page-end];grid-template-columns:[first] auto [content-start] 400px [content-end] auto [last]}body.PageError .pageFrameView-column.right,body.PageLockError .pageFrameView-column.right{background:#bad4ed url(https://www.mousehuntgame.com/images/ui/backgrounds/app_frame_right.gif) repeat-y 0% 0%!important;border:none}body.PageError .pageFrameView-column.left,body.PageLockError .pageFrameView-column.left{background:#bad4ed url(https://www.mousehuntgame.com/images/ui/backgrounds/app_frame_left.gif) repeat-y 100% 0%!important;border:none}body.PageError,body.PageLockError{background:url(https://www.mousehuntgame.com/images/map/login-page/standard/1.jpg) no-repeat top center}body.PageError .pageFrameView-content,body.PageLockError .pageFrameView-content{min-height:calc(80vh - 110px);background:transparent}body.PageError .pageFrameView-footer,body.PageLockError .pageFrameView-footer{display:flex;flex-flow:row wrap;row-gap:20px;align-items:center;justify-content:center;background-color:#ffffffb3;transition:.3s}body.PageError .pageFrameView-footer-linksContainer,body.PageLockError .pageFrameView-footer-linksContainer{flex:0 0 100%}body.PageError .pageFrameView-footer a img,body.PageLockError .pageFrameView-footer a img{opacity:.4;transition:.3s;transform:scale(.8)}body.PageError .pageFrameView-footer-links.terms,body.PageLockError .pageFrameView-footer-links.terms{text-align:center}body.PageError .pageFrameView-footer a:hover img,body.PageLockError .pageFrameView-footer a:hover img{opacity:1;transform:scale(1)}body.PageError .maintenanceMessage:hover:after,body.PageLockError .maintenanceMessage:hover:after{transform:rotate(-3deg) scale(1.2)}body.PageError .pageFrameView-contentContainer,body.PageLockError .pageFrameView-contentContainer{background:none}body.PageError .container,body.PageLockError .container{background-color:transparent;box-shadow:none}@media screen and (min-width: 501px){body.PageError .pageFrameView,body.PageLockError .pageFrameView{grid-template-columns:[first] auto [content-start] 500px [content-end] auto [last]}}@media only screen and (min-width: 801px){body.PageError .pageFrameView,body.PageLockError .pageFrameView{grid-template-columns:[first] auto [content-start] 800px [content-end] auto [last]}}@media only screen and (max-width: 810px){body.PageError.noSidebar .pageFrameView,body.PageLockError.noSidebar .pageFrameView{background:none!important}}div[style*="margin:12px 0px 12px 0px; padding:12px; border:1px solid #ccc;"]{margin:10px!important;margin-top:20vh!important;background-color:#ffffffd9;border:2px solid #000!important}div[style*="float:left"]{width:230px;height:230px;background-image:url(https://i.mouse.rip/error-mouse.png)}div[style*="float:left"] img{display:none}.PageError div[style*="float:left"]{background:none}.PageError div[style*="float:left"] img{display:block;mix-blend-mode:darken}div[style*="margin:24px 0px 0px 230px;"]{display:flex;flex-direction:column;justify-content:space-evenly;float:none;height:190px}.PageLockError div[style*="float:left"]:hover{transform:translate(10px)}.PageLockError div[style*="float:left"]:active{transform:translate(20px)}\n'; } }); // src/utils/styles/errors.css var errors_default; var init_errors = __esm({ "src/utils/styles/errors.css"() { errors_default = ".mousehunt-improved-error{position:fixed;bottom:50px;left:5%;z-index:20;display:flex;flex-direction:column;align-items:stretch;max-width:375px;padding:10px 20px;background-color:#febebe;border:1px solid #4e2727;border-radius:6px;box-shadow:0 0 10px 1px #bc7b7b}.mousehunt-improved-error h1{margin:0 0 .75em;font-size:1.3em;font-weight:900;color:#9f2323}.mousehunt-improved-error p{margin:.5em 0;font-size:1em;line-height:1.5}textarea.mousehunt-improved-error-message{min-height:50px;font-size:11px;background-color:#f2c4c4;border-color:#cf7676}.mousehunt-improved-error-close{position:absolute;top:5px;right:5px;color:#fff;background-color:#9f2223;border:1px solid #4e2727;border-radius:1px}.mousehunt-improved-error-close:hover,.mousehunt-improved-error-close:focus{background-color:#c22}\n"; } }); // src/utils/styles/page-maintenance.css var page_maintenance_default; var init_page_maintenance = __esm({ "src/utils/styles/page-maintenance.css"() { page_maintenance_default = 'body.PageMaintenance .pageFrameView{grid-template-rows:[page-start] auto [page-end];grid-template-columns:[first] auto [content-start] 400px [content-end] auto [last]}body.PageMaintenance .pageFrameView-column.right{background:#bad4ed url(https://www.mousehuntgame.com/images/ui/backgrounds/app_frame_right.gif) repeat-y 0% 0%!important;border:none}body.PageMaintenance .pageFrameView-column.left{background:#bad4ed url(https://www.mousehuntgame.com/images/ui/backgrounds/app_frame_left.gif) repeat-y 100% 0%!important;border:none}body.PageMaintenance{background:url(https://www.mousehuntgame.com/images/map/login-page/standard/1.jpg) no-repeat top center}body.PageMaintenance .pageFrameView-content{min-height:calc(100vh - 110px);background:transparent}body.PageMaintenance .pageFrameView-footer{display:flex;flex-flow:row wrap;row-gap:20px;align-items:center;justify-content:center;background-color:#ffffffb3;transition:.3s}body.PageMaintenance .pageFrameView-footer-linksContainer{flex:0 0 100%}body.PageMaintenance .pageFrameView-footer a img{opacity:.4;transition:.3s;transform:scale(.8)}body.PageMaintenance .pageFrameView-footer-links.terms{text-align:center}body.PageMaintenance .pageFrameView-footer a:hover img{opacity:1;transform:scale(1)}body.PageMaintenance .maintenanceBody{position:relative;min-height:unset;background:transparent;transition:background-size .3s;animation:mh-improved-hue-rotate 20s 20s linear infinite}body.PageMaintenance .maintenanceMessage{background-color:transparent}body.PageMaintenance .maintenanceMessage:after{position:absolute;top:0;left:0;width:150px;height:150px;content:"";background:url(https://i.mouse.rip/maintenance-mousey.png) no-repeat center / contain;transition:.3s;transform-origin:center}body.PageMaintenance .maintenanceMessage:hover:after{transform:rotate(-3deg) scale(1.2)}body.PageMaintenance .maintenanceHeader{background-image:url(https://i.mouse.rip/maintenance.png)}@keyframes mh-improved-hue-rotate{0%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(360deg)}to{filter:hue-rotate(0deg)}}body.PageMaintenance .maintenanceDebugInfo{position:absolute;right:10px;bottom:10px}body.PageMaintenance .pageFrameView-contentContainer{background:none}body.PageMaintenance .container{background-color:transparent;box-shadow:none}body.PageMaintenance .maintenanceContainer{background-color:#ffffffd9;border:1px solid #000;border-radius:5px;box-shadow:0 1px 3px #383838}@media screen and (min-width: 501px){body.PageMaintenance .pageFrameView{grid-template-columns:[first] auto [content-start] 500px [content-end] auto [last]}body.PageMaintenance .maintenanceMessage:after{width:175px;height:175px}}@media only screen and (min-width: 801px){body.PageMaintenance .pageFrameView{grid-template-columns:[first] auto [content-start] 800px [content-end] auto [last]}body.PageMaintenance .maintenanceMessage:after{top:-80px;left:-10px;width:300px;height:300px}}@media only screen and (max-width: 810px){body.PageMaintenance.noSidebar .pageFrameView{background:none!important}}\n'; } }); // src/utils/messages.js var showErrorMessage, showSuccessMessage, showLoadingError, maybeDoMaintenance, showLoadingPopupError, showLoadingPopup; var init_messages = __esm({ "src/utils/messages.js"() { init_debug(); init_elements(); init_page_error(); init_errors(); init_page_maintenance(); showErrorMessage = (options) => { const { message, append, before = false, after = false, classname = [], type = "error" } = options; const typeClass = `mh-ui-${type}-message`; const existing = document.querySelector(`.${typeClass}`); if (existing) { existing.remove(); } const error = makeElement("div", [`mh-ui-${type}-message`, "mh-ui-fade", classname], message); if (append) { if (before) { append.before(error); } else if (after) { append.after(error); } else { append.append(error); } } setTimeout(() => { error.classList.add("mh-ui-fade-in"); }, 10); setTimeout(() => { error.classList.remove("mh-ui-fade-in"); error.classList.add("mh-ui-fade-out"); }, 2e3); setTimeout(() => { error.remove(); }, 2500); }; showSuccessMessage = (opts) => { opts.type = "success"; showErrorMessage(opts); }; hadAddedErrorStyles = false; showLoadingError = (e) => { debug("Error loading MouseHunt Improved:", e); const errorElement = makeElement("div", "mousehunt-improved-error"); makeElement("h1", "mousehunt-improved-error-title", "Error loading MouseHunt Improved", errorElement); if (e.message) { const errorText = makeElement("textarea", "mousehunt-improved-error-message"); errorText.value = `${e.message} ${e.stack}`; errorElement.append(errorText); } makeElement("p", "mousehunt-improved-error-message", 'There was an error loading MouseHunt Improved. Try refreshing the page. If the error persists, please add an issue to the <a href="https://github.com/MHCommunity/mousehunt-improved">GitHub repo</a>.', errorElement); const closeButton = makeElement("button", "mousehunt-improved-error-close", "Close"); closeButton.addEventListener("click", () => { errorElement.remove(); }); errorElement.append(closeButton); document.body.append(errorElement); if (hadAddedErrorStyles) { return; } const errorStylesEl = makeElement("style", "mh-improved-error-styles", errors_default); document.head.append(errorStylesEl); }; maybeDoMaintenance = () => { const maintenance = document.querySelector("body.PageMaintenance"); if (maintenance) { const maintenanceStylesEl = makeElement("style", "mh-improved-maintenance-styles", page_maintenance_default); document.head.append(maintenanceStylesEl); } const errorLockPage = document.querySelector("body.PageLockError"); const errorPage = document.querySelector("body.PageError"); if (errorLockPage || errorPage) { const errorPageStylesEl = makeElement("style", "mh-improved-error-page-styles", page_error_default); document.head.append(errorPageStylesEl); } }; showLoadingPopupError = (options) => { const popup = new jsDialog(); popup.setTemplate("error"); popup.setAttributes({ className: "error" }); popup.addToken("{*title*}", options.title); popup.addToken("{*content*}", options.content || ""); popup.show(); }; showLoadingPopup = (title) => { const popup = new jsDialog(); popup.setTemplate("loading"); popup.setAttributes({ className: "loading" }); popup.show(); const element = document.querySelector("#overlayPopup .jsDialog .title"); if (!element) { return { popup, title: null, text: null, setText: () => { }, setTitle: () => { }, show: () => { }, hide: () => { } }; } element.textContent = title; const loadingText = makeElement("div", "loading-text", "", element); return { popup, title: element, text: loadingText, setText: (newText) => { loadingText.textContent = newText; }, setTitle: (newTitle) => { element.textContent = newTitle; }, show: () => { popup.show(); }, hide: () => { popup.hide(); } }; }; } }); // src/data/settings.json var settings_default; var init_settings2 = __esm({ "src/data/settings.json"() { settings_default = { "no-reminders": [ "adblock", "better-gifts.ignore-bad-gifts", "better-gifts.send-order", "better-item-view.show-drop-rates", "better-marketplace.search-all", "better-marketplace.show-chart-images", "better-mice.show-attraction-rates", "better-quests.m400-helper", "better-send-supplies.pinned-items", "better-tournaments.time-inline", "better-travel.default-to-simple-travel", "better-travel.show-alphabetized-list", "debug.all", "debug.dialog", "debug.events", "debug.module-loading", "debug.navigation", "debug.request", "debug.utils-data", "debug", "error-reporting", "hide-codices", "hide-daily-reward-popup", "hide-news-ticker", "inline-wiki", "inventory-only-open-multiple", "journal-privacy.show-toggle-icon", "journal-privacy", "larger-codices", "lgs-reminder.new-style", "no-footer", "no-share", "quick-send-supplies.items", "ultimate-checkmark.show" ], icons: [ { category: "better", id: "better-gifts", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21 11.25v8.25a1.5 1.5 0 0 1-1.5 1.5H5.25a1.5 1.5 0 0 1-1.5-1.5v-8.25M12 4.875A2.625 2.625 0 1 0 9.375 7.5H12m0-2.625V7.5m0-2.625A2.625 2.625 0 1 1 14.625 7.5H12m0 0V21m-8.625-9.75h18c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125h-18c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z' /></svg>" }, { category: "better", id: "better-inventory", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m21 7.5-9-5.25L3 7.5m18 0-9 5.25m9-5.25v9l-9 5.25M3 7.5l9 5.25M3 7.5v9l9 5.25m0-9v9' /></svg>" }, { category: "better", id: "better-item-view", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z' /></svg>" }, { category: "better", id: "better-journal", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25' /></svg>" }, { category: "better", id: "better-kings-reward", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -4 24 24' width='28' fill='currentColor'><path d='M2.776 5.106L3.648 11h12.736l.867-5.98-3.493 3.02-3.755-4.827-3.909 4.811-3.318-2.918zm10.038-1.537l-.078.067.141.014 1.167 1.499 1.437-1.242.14.014-.062-.082 2.413-2.086a1 1 0 0 1 1.643.9L18.115 13H1.922L.399 2.7a1 1 0 0 1 1.65-.898L4.35 3.827l-.05.06.109-.008 1.444 1.27 1.212-1.493.109-.009-.06-.052L9.245.976a1 1 0 0 1 1.565.017l2.005 2.576zM2 14h16v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-1z'></path></svg>" }, { category: "better", id: "better-maps", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 24 24' width='28' fill='currentColor'><path d='M2 17.613l3.419-1.14A5 5 0 0 1 6 16.317V2.387L2 3.721v13.892zm-.662 2.328A1 1 0 0 1 0 19V3a1 1 0 0 1 .706-.956L5.419.473a5 5 0 0 1 3.162 0l3.47 1.157a3 3 0 0 0 1.898 0L18.662.059A1 1 0 0 1 20 1v16a1 1 0 0 1-.706.956l-4.713 1.571a5 5 0 0 1-3.162 0l-3.47-1.157a3 3 0 0 0-1.898 0l-4.713 1.571zM18 16.28V2.387l-3.419 1.14a5 5 0 0 1-.581.156v13.93l4-1.334zm-6 1.334V3.683a5 5 0 0 1-.581-.156L8 2.387v13.93a5 5 0 0 1 .581.156L12 17.613z'></path></svg>" }, { category: "better", id: "better-marketplace", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M2.25 3h1.386c.51 0 .955.343 1.087.835l.383 1.437M7.5 14.25a3 3 0 0 0-3 3h15.75m-12.75-3h11.218c1.121-2.3 2.1-4.684 2.924-7.138a60.114 60.114 0 0 0-16.536-1.84M7.5 14.25 5.106 5.272M6 20.25a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm12.75 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z' /></svg>" }, { category: "better", id: "better-mice", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m9 14.25 6-6m4.5-3.493V21.75l-3.75-1.5-3.75 1.5-3.75-1.5-3.75 1.5V4.757c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0c1.1.128 1.907 1.077 1.907 2.185ZM9.75 9h.008v.008H9.75V9Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm4.125 4.5h.008v.008h-.008V13.5Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /></svg>" }, { category: "better", id: "better-quests", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12' /></svg>" }, { category: "better", id: "better-send-supplies", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 18.75a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h6m-9 0H3.375a1.125 1.125 0 0 1-1.125-1.125V14.25m17.25 4.5a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m3 0h1.125c.621 0 1.129-.504 1.09-1.124a17.902 17.902 0 0 0-3.213-9.193 2.056 2.056 0 0 0-1.58-.86H14.25M16.5 18.75h-2.25m0-11.177v-.958c0-.568-.422-1.048-.987-1.106a48.554 48.554 0 0 0-10.026 0 1.106 1.106 0 0 0-.987 1.106v7.635m12-6.677v6.677m0 4.5v-4.5m0 0h-12' /></svg>" }, { category: "better", id: "better-shops", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.5 21v-7.5a.75.75 0 0 1 .75-.75h3a.75.75 0 0 1 .75.75V21m-4.5 0H2.36m11.14 0H18m0 0h3.64m-1.39 0V9.349M3.75 21V9.349m0 0a3.001 3.001 0 0 0 3.75-.615A2.993 2.993 0 0 0 9.75 9.75c.896 0 1.7-.393 2.25-1.016a2.993 2.993 0 0 0 2.25 1.016c.896 0 1.7-.393 2.25-1.015a3.001 3.001 0 0 0 3.75.614m-16.5 0a3.004 3.004 0 0 1-.621-4.72l1.189-1.19A1.5 1.5 0 0 1 5.378 3h13.243a1.5 1.5 0 0 1 1.06.44l1.19 1.189a3 3 0 0 1-.621 4.72M6.75 18h3.75a.75.75 0 0 0 .75-.75V13.5a.75.75 0 0 0-.75-.75H6.75a.75.75 0 0 0-.75.75v3.75c0 .414.336.75.75.75Z' /></svg>" }, { category: "better", id: "better-tournaments", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 18.75h-9m9 0a3 3 0 0 1 3 3h-15a3 3 0 0 1 3-3m9 0v-3.375c0-.621-.503-1.125-1.125-1.125h-.871M7.5 18.75v-3.375c0-.621.504-1.125 1.125-1.125h.872m5.007 0H9.497m5.007 0a7.454 7.454 0 0 1-.982-3.172M9.497 14.25a7.454 7.454 0 0 0 .981-3.172M5.25 4.236c-.982.143-1.954.317-2.916.52A6.003 6.003 0 0 0 7.73 9.728M5.25 4.236V4.5c0 2.108.966 3.99 2.48 5.228M5.25 4.236V2.721C7.456 2.41 9.71 2.25 12 2.25c2.291 0 4.545.16 6.75.47v1.516M7.73 9.728a6.726 6.726 0 0 0 2.748 1.35m8.272-6.842V4.5c0 2.108-.966 3.99-2.48 5.228m2.48-5.492a46.32 46.32 0 0 1 2.916.52 6.003 6.003 0 0 1-5.395 4.972m0 0a6.726 6.726 0 0 1-2.749 1.35m0 0a6.772 6.772 0 0 1-3.044 0' /></svg>" }, { category: "better", id: "better-travel", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -2 24 24' width='28' fill='currentColor'><path d='M12 7A5 5 0 1 0 2 7c0 1.726 1.66 5.031 5 9.653 3.34-4.622 5-7.927 5-9.653zM7 20C2.333 13.91 0 9.577 0 7a7 7 0 1 1 14 0c0 2.577-2.333 6.91-7 13zm0-9a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'></path></svg>" }, { category: "better", id: "better-ui", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z' /></svg>" }, { category: "design", id: "custom-background", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M4.098 19.902a3.75 3.75 0 0 0 5.304 0l6.401-6.402M6.75 21A3.75 3.75 0 0 1 3 17.25V4.125C3 3.504 3.504 3 4.125 3h5.25c.621 0 1.125.504 1.125 1.125v4.072M6.75 21a3.75 3.75 0 0 0 3.75-3.75V8.197M6.75 21h13.125c.621 0 1.125-.504 1.125-1.125v-5.25c0-.621-.504-1.125-1.125-1.125h-4.072M10.5 8.197l2.88-2.88c.438-.439 1.15-.439 1.59 0l3.712 3.713c.44.44.44 1.152 0 1.59l-2.879 2.88M6.75 17.25h.008v.008H6.75v-.008Z' /></svg>" }, { category: "design", id: "custom-horn", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M10.34 15.84c-.688-.06-1.386-.09-2.09-.09H7.5a4.5 4.5 0 1 1 0-9h.75c.704 0 1.402-.03 2.09-.09m0 9.18c.253.962.584 1.892.985 2.783.247.55.06 1.21-.463 1.511l-.657.38c-.551.318-1.26.117-1.527-.461a20.845 20.845 0 0 1-1.44-4.282m3.102.069a18.03 18.03 0 0 1-.59-4.59c0-1.586.205-3.124.59-4.59m0 9.18a23.848 23.848 0 0 1 8.835 2.535M10.34 6.66a23.847 23.847 0 0 0 8.835-2.535m0 0A23.74 23.74 0 0 0 18.795 3m.38 1.125a23.91 23.91 0 0 1 1.014 5.395m-1.014 8.855c-.118.38-.245.754-.38 1.125m.38-1.125a23.91 23.91 0 0 0 1.014-5.395m0-3.46c.495.413.811 1.035.811 1.73 0 .695-.316 1.317-.811 1.73m0-3.46a24.347 24.347 0 0 1 0 3.46' /></svg>" }, { category: "design", id: "custom-hud", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9.53 16.122a3 3 0 0 0-5.78 1.128 2.25 2.25 0 0 1-2.4 2.245 4.5 4.5 0 0 0 8.4-2.245c0-.399-.078-.78-.22-1.128Zm0 0a15.998 15.998 0 0 0 3.388-1.62m-5.043-.025a15.994 15.994 0 0 1 1.622-3.395m3.42 3.42a15.995 15.995 0 0 0 4.764-4.648l3.876-5.814a1.151 1.151 0 0 0-1.597-1.597L14.146 6.32a15.996 15.996 0 0 0-4.649 4.763m3.42 3.42a6.776 6.776 0 0 0-3.42-3.42' /></svg>" }, { category: "design", id: "custom-shield", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z' /></svg>" }, { category: "feature", id: "catch-rate-estimate", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15.75 15.75V18m-7.5-6.75h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V13.5Zm0 2.25h.008v.008H8.25v-.008Zm0 2.25h.008v.008H8.25V18Zm2.498-6.75h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V13.5Zm0 2.25h.007v.008h-.007v-.008Zm0 2.25h.007v.008h-.007V18Zm2.504-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5Zm0 2.25h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V18Zm2.498-6.75h.008v.008h-.008v-.008Zm0 2.25h.008v.008h-.008V13.5ZM8.25 6h7.5v2.25h-7.5V6ZM12 2.25c-1.892 0-3.758.11-5.593.322C5.307 2.7 4.5 3.65 4.5 4.757V19.5a2.25 2.25 0 0 0 2.25 2.25h10.5a2.25 2.25 0 0 0 2.25-2.25V4.757c0-1.108-.806-2.057-1.907-2.185A48.507 48.507 0 0 0 12 2.25Z' /></svg>" }, { category: "feature", id: "copy-id", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 0 0 2.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 0 0-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5A3.375 3.375 0 0 0 6.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0 0 15 2.25h-1.5a2.251 2.251 0 0 0-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 0 0-9-9Z' /></svg>" }, { category: "feature", id: "dark-mode", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z' /></svg>" }, { category: "feature", id: "data-exporters", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125' /></svg>" }, { category: "feature", id: "delayed-tooltips", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15.042 21.672 13.684 16.6m0 0-2.51 2.225.569-9.47 5.227 7.917-3.286-.672ZM12 2.25V4.5m5.834.166-1.591 1.591M20.25 10.5H18M7.757 14.743l-1.59 1.59M6 10.5H3.75m4.007-4.243-1.59-1.59' /></svg>" }, { category: "feature", id: "favorite-setups", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M11.48 3.499a.562.562 0 0 1 1.04 0l2.125 5.111a.563.563 0 0 0 .475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 0 0-.182.557l1.285 5.385a.562.562 0 0 1-.84.61l-4.725-2.885a.562.562 0 0 0-.586 0L6.982 20.54a.562.562 0 0 1-.84-.61l1.285-5.386a.562.562 0 0 0-.182-.557l-4.204-3.602a.562.562 0 0 1 .321-.988l5.518-.442a.563.563 0 0 0 .475-.345L11.48 3.5Z' /></svg>" }, { category: "feature", id: "fixes", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21.75 6.75a4.5 4.5 0 0 1-4.884 4.484c-1.076-.091-2.264.071-2.95.904l-7.152 8.684a2.548 2.548 0 1 1-3.586-3.586l8.684-7.152c.833-.686.995-1.874.904-2.95a4.5 4.5 0 0 1 6.336-4.486l-3.276 3.276a3.004 3.004 0 0 0 2.25 2.25l3.276-3.276c.256.565.398 1.192.398 1.852Z' /><path stroke-linecap='round' stroke-linejoin='round' d='M4.867 19.125h.008v.008h-.008v-.008Z' /></svg>" }, { category: "feature", id: "flrt-helper", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M8.25 9.75h4.875a2.625 2.625 0 0 1 0 5.25H12M8.25 9.75 10.5 7.5M8.25 9.75 10.5 12m9-7.243V21.75l-3.75-1.5-3.75 1.5-3.75-1.5-3.75 1.5V4.757c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0 1 11.186 0c1.1.128 1.907 1.077 1.907 2.185Z' /></svg>" }, { category: "feature", id: "hover-profiles", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15.042 21.672 13.684 16.6m0 0-2.51 2.225.569-9.47 5.227 7.917-3.286-.672Zm-7.518-.267A8.25 8.25 0 1 1 20.25 10.5M8.288 14.212A5.25 5.25 0 1 1 17.25 10.5' /></svg>" }, { category: "feature", id: "image-upscaling", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z' /></svg>" }, { category: "feature", id: "inline-wiki", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5' /></svg>" }, { category: "feature", id: "inventory-lock-and-hide", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -2 24 24' width='28' fill='currentColor'><path d='M2 12v6h10v-6H2zm10-2a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2V5a5 5 0 1 1 10 0v5zm-2 0V5a3 3 0 1 0-6 0v5h6zm-3 7a2 2 0 1 1 0-4 2 2 0 0 1 0 4z'></path></svg>" }, { category: "feature", id: "journal-changer", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125' /></svg>" }, { category: "feature", id: "keyboard-shortcuts", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -5 24 24' width='28' fill='currentColor'><path d='M3 0h14a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H3zm0 4h2v2H3V6zm0-3h2v2H3V3zm0 6h2v2H3V9zm3 0h8v2H6V9zm0-3h2v2H6V6zm0-3h2v2H6V3zm3 3h2v2H9V6zm0-3h2v2H9V3zm6 6h2v2h-2V9zm-3-3h2v2h-2V6zm0-3h2v2h-2V3zm3 0h2v5h-2V3z'></path></svg>" }, { category: "feature", id: "larger-codices", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 24 24' width='28' fill='currentColor'><path d='M12.586 2H11a1 1 0 0 1 0-2h4a1 1 0 0 1 1 1v4a1 1 0 0 1-2 0V3.414L9.414 8 14 12.586V11a1 1 0 0 1 2 0v4a1 1 0 0 1-1 1h-4a1 1 0 0 1 0-2h1.586L8 9.414 3.414 14H5a1 1 0 0 1 0 2H1a1 1 0 0 1-1-1v-4a1 1 0 0 1 2 0v1.586L6.586 8 2 3.414V5a1 1 0 1 1-2 0V1a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2H3.414L8 6.586 12.586 2z'></path></svg>" }, { category: "feature", id: "larger-skin-images", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='m2.25 15.75 5.159-5.159a2.25 2.25 0 0 1 3.182 0l5.159 5.159m-1.5-1.5 1.409-1.409a2.25 2.25 0 0 1 3.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 0 0 1.5-1.5V6a1.5 1.5 0 0 0-1.5-1.5H3.75A1.5 1.5 0 0 0 2.25 6v12a1.5 1.5 0 0 0 1.5 1.5Zm10.5-11.25h.008v.008h-.008V8.25Zm.375 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Z' /></svg>" }, { category: "feature", id: "legacy-hud", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M3.75 9h16.5m-16.5 6.75h16.5' /></svg>" }, { category: "feature", id: "lgs-reminder", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -2 24 24' width='28' fill='currentColor'><path d='M2 4.386V8a9.02 9.02 0 0 0 3.08 6.787L8 17.342l2.92-2.555A9.019 9.019 0 0 0 14 8V4.386l-6-2.25-6 2.25zM.649 2.756L8 0l7.351 2.757a1 1 0 0 1 .649.936V8c0 3.177-1.372 6.2-3.763 8.293L8 20l-4.237-3.707A11.019 11.019 0 0 1 0 8V3.693a1 1 0 0 1 .649-.936z'></path></svg>" }, { category: "feature", id: "location-catch-stats", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z' /></svg>" }, { category: "feature", id: "location-dashboard", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>" }, { category: "feature", id: "metric", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M12 21a9.004 9.004 0 0 0 8.716-6.747M12 21a9.004 9.004 0 0 1-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 0 1 7.843 4.582M12 3a8.997 8.997 0 0 0-7.843 4.582m15.686 0A11.953 11.953 0 0 1 12 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0 1 21 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0 1 12 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 0 1 3 12c0-1.605.42-3.113 1.157-4.418' /></svg>" }, { category: "feature", id: "only-open-multiple", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 10.5V6.75a4.5 4.5 0 1 0-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 0 0 2.25-2.25v-6.75a2.25 2.25 0 0 0-2.25-2.25H6.75a2.25 2.25 0 0 0-2.25 2.25v6.75a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>" }, { category: "feature", id: "open-all-but-one", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M16.5 8.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v8.25A2.25 2.25 0 0 0 6 16.5h2.25m8.25-8.25H18a2.25 2.25 0 0 1 2.25 2.25V18A2.25 2.25 0 0 1 18 20.25h-7.5A2.25 2.25 0 0 1 8.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 0 0-2.25 2.25v6' /></svg>" }, { category: "feature", id: "paste-hunter-id", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 0 0 2.25-2.25V6.75A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25v10.5A2.25 2.25 0 0 0 4.5 19.5Zm6-10.125a1.875 1.875 0 1 1-3.75 0 1.875 1.875 0 0 1 3.75 0Zm1.294 6.336a6.721 6.721 0 0 1-3.17.789 6.721 6.721 0 0 1-3.168-.789 3.376 3.376 0 0 1 6.338 0Z' /></svg>" }, { category: "feature", id: "prestige-base-stats", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-5 -4 24 24' width='28' fill='currentColor'><path d='M1 0a1 1 0 0 1 1 1v14a1 1 0 0 1-2 0V1a1 1 0 0 1 1-1zm12 4a1 1 0 0 1 1 1v10a1 1 0 0 1-2 0V5a1 1 0 0 1 1-1zM7 8a1 1 0 0 1 1 1v6a1 1 0 0 1-2 0V9a1 1 0 0 1 1-1z'></path></svg>" }, { category: "feature", id: "printing-press-paper-counter", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -2 24 24' width='28' fill='currentColor'><path d='M10.298 2H3a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V4.961L10.298 2zM3 0h8l5 4v13a3 3 0 0 1-3 3H3a3 3 0 0 1-3-3V3a3 3 0 0 1 3-3z'></path></svg>" }, { category: "feature", id: "profile-scoreboard-search", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' class='feather feather-award'><circle cx='12' cy='8' r='7'/><path d='M8.21 13.89 7 23l5-3 5 3-1.21-9.12'/></svg>" }, { category: "feature", id: "quick-filters-and-sort", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M10.5 6h9.75M10.5 6a1.5 1.5 0 1 1-3 0m3 0a1.5 1.5 0 1 0-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 0 1-3 0m3 0a1.5 1.5 0 0 0-3 0m-9.75 0h9.75' /></svg>" }, { category: "feature", id: "quick-send-supplies", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M6 12 3.269 3.125A59.769 59.769 0 0 1 21.485 12 59.768 59.768 0 0 1 3.27 20.875L5.999 12Zm0 0h7.5' /></svg>" }, { category: "feature", id: "show-auras", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 24 24' width='28' fill='currentColor'><path d='M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16zm0 2C4.477 20 0 15.523 0 10S4.477 0 10 0s10 4.477 10 10-4.477 10-10 10z'></path></svg>" }, { category: "feature", id: "ssdb-teeth-counter", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M21 10.5h.375c.621 0 1.125.504 1.125 1.125v2.25c0 .621-.504 1.125-1.125 1.125H21M4.5 10.5h6.75V15H4.5v-4.5ZM3.75 18h15A2.25 2.25 0 0 0 21 15.75v-6a2.25 2.25 0 0 0-2.25-2.25h-15A2.25 2.25 0 0 0 1.5 9.75v6A2.25 2.25 0 0 0 3.75 18Z' /></svg>" }, { category: "feature", id: "taller-windows", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M3 8.25V18a2.25 2.25 0 0 0 2.25 2.25h13.5A2.25 2.25 0 0 0 21 18V8.25m-18 0V6a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 6v2.25m-18 0h18M5.25 6h.008v.008H5.25V6ZM7.5 6h.008v.008H7.5V6Zm2.25 0h.008v.008H9.75V6Z' /></svg>" }, { category: "feature", id: "tem-crowns", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M13.5 16.875h3.375m0 0h3.375m-3.375 0V13.5m0 3.375v3.375M6 10.5h2.25a2.25 2.25 0 0 0 2.25-2.25V6a2.25 2.25 0 0 0-2.25-2.25H6A2.25 2.25 0 0 0 3.75 6v2.25A2.25 2.25 0 0 0 6 10.5Zm0 9.75h2.25A2.25 2.25 0 0 0 10.5 18v-2.25a2.25 2.25 0 0 0-2.25-2.25H6a2.25 2.25 0 0 0-2.25 2.25V18A2.25 2.25 0 0 0 6 20.25Zm9.75-9.75H18a2.25 2.25 0 0 0 2.25-2.25V6A2.25 2.25 0 0 0 18 3.75h-2.25A2.25 2.25 0 0 0 13.5 6v2.25a2.25 2.25 0 0 0 2.25 2.25Z' /></svg>" }, { category: "feature", id: "ultimate-checkmark-show", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'></path><polyline points='22 4 12 14.01 9 11.01'></polyline></svg>" }, { category: "feature", id: "wisdom-in-stat-bar", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M4.26 10.147a60.438 60.438 0 0 0-.491 6.347A48.62 48.62 0 0 1 12 20.904a48.62 48.62 0 0 1 8.232-4.41 60.46 60.46 0 0 0-.491-6.347m-15.482 0a50.636 50.636 0 0 0-2.658-.813A59.906 59.906 0 0 1 12 3.493a59.903 59.903 0 0 1 10.399 5.84c-.896.248-1.783.52-2.658.814m-15.482 0A50.717 50.717 0 0 1 12 13.489a50.702 50.702 0 0 1 7.74-3.342M6.75 15a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm0 0v-3.675A55.378 55.378 0 0 1 12 8.443m-7.007 11.55A5.981 5.981 0 0 0 6.75 15.75v-1.5' /></svg>" }, { category: "beta", id: "experiments", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor'><path stroke-linecap='round' stroke-linejoin='round' d='M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23-.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5' /></svg>" }, { category: "beta", id: "native-dark-mode", icon: "data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -2 24 24' width='28' fill='currentColor'><path d='M10 18c.112 0 .112-5.333 0-16a8 8 0 1 0 0 16zm0 2C4.477 20 0 15.523 0 10S4.477 0 10 0s10 4.477 10 10-4.477 10-10 10z'></path></svg>" } ] }; } }); // src/utils/settings-markup.js var saveSettingDirectAndToggleClass, addSettingsTab, addSettingsTabOnce, addSetting, makeToggle, makeSettingToggle, makeSettingRowSelect, makeSettingInput, makeSettingTextArea, makeSettingMultiToggle, makeSettingBlank, addSettingOnce, fadeInTimeout, fadeOutTimeout, removeTimeout, addSettingRefreshReminder, addSettingForModule; var init_settings_markup = __esm({ "src/utils/settings-markup.js"() { init_page(); init_settings(); init_event_registry(); init_elements(); init_events(); init_messages(); init_settings2(); saveSettingDirectAndToggleClass = (node, key, value, identifier = "mh-utils-settings") => { node.parentNode.parentNode.classList.add("busy"); saveSettingDirect(key, value, identifier); doEvent2("mh-improved-settings-changed", { key, value, tab: identifier, type: "toggle" }); doEvent2(`mh-improved-settings-changed-${key}`, value); node.parentNode.parentNode.classList.remove("busy"); node.parentNode.parentNode.classList.add("completed"); setTimeout(() => { node.parentNode.parentNode.classList.remove("completed"); }, 1e3); addSettingRefreshReminder(key); }; addSettingsTab = (identifier = "userscript-settings", name = "Userscript Settings") => { addSettingsTabOnce(identifier, name); onNavigation(() => addSettingsTabOnce(identifier, name), { page: "preferences" }); return identifier; }; addSettingsTabOnce = (identifier = "userscript-settings", name = "Userscript Settings") => { if ("preferences" !== getCurrentPage()) { return; } const existingSettings = document.querySelector(`#${identifier}`); if (existingSettings) { return; } const tabsContainer = document.querySelector(".mousehuntHud-page-tabHeader-container"); if (!tabsContainer) { return; } const tabsContentContainer = document.querySelector(".mousehuntHud-page-tabContentContainer"); if (!tabsContentContainer) { return; } identifier = identifier.replaceAll(/[^\w-]/gi, ""); const settingsTab = document.createElement("a"); settingsTab.id = identifier; settingsTab.href = "#"; settingsTab.classList.add("mousehuntHud-page-tabHeader", identifier); settingsTab.setAttribute("data-tab", identifier); settingsTab.setAttribute("onclick", "hg.utils.PageUtil.onclickPageTabHandler(this); return false;"); const settingsTabText = document.createElement("span"); settingsTabText.innerText = name; settingsTab.append(settingsTabText); tabsContainer.append(settingsTab); const settingsTabContent = document.createElement("div"); settingsTabContent.classList.add("mousehuntHud-page-tabContent", "game_settings", identifier); settingsTabContent.setAttribute("data-tab", identifier); tabsContentContainer.append(settingsTabContent); if (identifier === getCurrentTab()) { const tab = document.querySelector(`#${identifier}`); if (tab) { tab.click(); } } }; addSetting = (options) => { onNavigation(() => addSettingOnce(options), { page: "preferences" }); return addSettingOnce(options); }; makeToggle = (toggleKey, toggleDefaultValue, toggleTab, settingRow = false) => { const settingRowInputCheckbox = makeElement("div", "mousehuntSettingSlider"); const currentSetting = getSettingDirect(toggleKey, null, toggleTab); if (currentSetting) { settingRowInputCheckbox.classList.add("active"); if (settingRow) { settingRow.classList.add("active"); } } else if (null === currentSetting && toggleDefaultValue) { settingRowInputCheckbox.classList.add("active"); if (settingRow) { settingRow.classList.add("active"); } } settingRowInputCheckbox.onclick = (event) => { const isSettingActive = event.target.classList.contains("active"); event.target.classList.toggle("active"); if (settingRow) { settingRow.classList.toggle("active"); } saveSettingDirectAndToggleClass(event.target, toggleKey, !isSettingActive, toggleTab); }; return settingRowInputCheckbox; }; makeSettingToggle = ({ key, defaultValue, tab, settings }) => { const settingRowInput = makeElement("div", "settingRow-action-inputContainer"); const settingRowInputCheckbox = makeToggle(key, defaultValue, tab, settings); settingRowInput.append(settingRowInputCheckbox); return settingRowInput; }; makeSettingRowSelect = ({ key, tab, defaultValue, settingSettings }) => { const settingRowInputWrapper = makeElement("div", "settingRow-action-inputContainer"); const settingRowInput = makeElement("div", "settingRow-action-inputContainer"); const settingRowInputDropdown = document.createElement("div"); settingRowInputDropdown.classList.add("inputBoxContainer"); if (settingSettings.type === "multi-select") { settingRowInputDropdown.classList.add("multiSelect"); settingRowInput.classList.add("multiSelect", "select"); } let amount = 1; if (settingSettings.type === "multi-select" && settingSettings.number) { amount = settingSettings.number; } const makeOption = (option, foundSelected, currentSetting, dValue, i) => { if (option.seperator) { return { settingRowInputDropdownSelectOption: makeElement("hr"), foundSelected }; } const settingRowInputDropdownSelectOption = document.createElement("option"); settingRowInputDropdownSelectOption.value = option.value; settingRowInputDropdownSelectOption.textContent = option.name; settingRowInputDropdownSelectOption.disabled = option.disabled || false; if (currentSetting && currentSetting === option.value) { settingRowInputDropdownSelectOption.selected = true; foundSelected = true; } else if (!foundSelected && dValue && dValue[i] && dValue[i].value === option.value) { settingRowInputDropdownSelectOption.selected = true; foundSelected = true; } return { settingRowInputDropdownSelectOption, foundSelected }; }; for (let i = 0; i < amount; i++) { const settingRowInputDropdownSelect = document.createElement("select"); settingRowInputDropdownSelect.classList.add("inputBox"); if (settingSettings.type === "multi-select") { settingRowInputDropdownSelect.classList.add("multiSelect"); } const currentSetting = getSetting(`${key}-${i}`, null, tab); let foundSelected = false; settingSettings.options.forEach((option) => { if (option.value === "group") { const settingRowInputDropdownSelectOptgroup = document.createElement("optgroup"); settingRowInputDropdownSelectOptgroup.label = option.name; option.options.forEach((optgroupOption) => { const result = makeOption(optgroupOption, foundSelected, currentSetting, defaultValue, i); foundSelected = result.foundSelected; settingRowInputDropdownSelectOptgroup.append(result.settingRowInputDropdownSelectOption); }); settingRowInputDropdownSelect.append(settingRowInputDropdownSelectOptgroup); } else { const result = makeOption(option, foundSelected, currentSetting, defaultValue, i); foundSelected = result.foundSelected; settingRowInputDropdownSelect.append(result.settingRowInputDropdownSelectOption); } }); settingRowInputDropdown.append(settingRowInputDropdownSelect); let timeout = null; settingRowInputDropdownSelect.onchange = (event) => { const parent = settingRowInputDropdownSelect.parentNode.parentNode.parentNode; parent.classList.add("inputDropdownWrapper"); parent.classList.add("busy"); saveSettingDirect(`${key}-${i}`, event.target.value, tab); doEvent2("mh-improved-settings-changed", { key: `${key}-${i}`, value: event.target.value, tab, type: "multi-select" }); parent.classList.remove("busy"); parent.classList.add("completed"); clearTimeout(timeout); timeout = setTimeout(() => { parent.classList.remove("completed"); }, 1e3); }; settingRowInput.append(settingRowInputDropdown); settingRowInputWrapper.append(settingRowInput); } return settingRowInputWrapper; }; makeSettingInput = ({ key, tab, defaultValue }) => { const settingRowInput = makeElement("div", ["settingRow-action-inputContainer", "inputText"]); const settingRowInputText = makeElement("input", "inputBox"); settingRowInputText.value = getSettingDirect(key, defaultValue, tab); const inputSaveButton = makeElement("button", ["mousehuntActionButton", "tiny", "inputSaveButton"]); makeElement("span", "", "Save", inputSaveButton); let timeout = null; inputSaveButton.addEventListener("click", (event) => { const parent = event.target.parentNode.parentNode.parentNode; parent.classList.add("inputDropdownWrapper"); parent.classList.add("inputTextWrapper"); parent.classList.add("busy"); parent.classList.remove("completed"); saveSettingDirect(key, settingRowInputText.value, tab); doEvent2("mh-improved-settings-changed", { key, value: settingRowInputText.value, tab, type: "input" }); parent.classList.remove("busy"); parent.classList.add("completed"); clearTimeout(timeout); timeout = setTimeout(() => { parent.classList.remove("completed"); }, 1e3); addSettingRefreshReminder(key); }); settingRowInput.classList.add("inputText"); settingRowInput.append(settingRowInputText); settingRowInput.append(inputSaveButton); return settingRowInput; }; makeSettingTextArea = ({ key, tab, defaultValue }) => { const settingRowInput = makeElement("div", ["settingRow-action-inputContainer", "textarea"]); const settingRowInputText = makeElement("textarea", "inputBox"); settingRowInputText.value = getSetting(key, defaultValue); const inputSaveButton = makeElement("button", ["mousehuntActionButton", "tiny", "inputSaveButton"]); makeElement("span", "", "Save", inputSaveButton); let timeout = null; inputSaveButton.addEventListener("click", (event) => { const parent = event.target.parentNode.parentNode.parentNode; parent.classList.add("inputDropdownWrapper"); parent.classList.add("inputTextWrapper"); parent.classList.remove("completed"); parent.classList.add("busy"); saveSettingDirect(key, settingRowInputText.value, tab); doEvent2("mh-improved-settings-changed", { key, value: settingRowInputText.value, tab, type: "textarea" }); parent.classList.remove("busy"); parent.classList.add("completed"); clearTimeout(timeout); timeout = setTimeout(() => { parent.classList.remove("completed"); }, 1e3); addSettingRefreshReminder(key); }); settingRowInput.append(settingRowInputText); settingRowInput.append(inputSaveButton); return settingRowInput; }; makeSettingMultiToggle = ({ key, tab, settingSettings }) => { const multiToggleWrapper = makeElement("div", "multi-toggle"); const multiToggleRow = makeElement("div", ["PagePreferences__settingsList", "multi-toggle-row"]); settingSettings.options.forEach((option) => { const optionSettingRow = makeElement("div", "PagePreferences__settingsList"); const optionSettingRowLabel = makeElement("div", "PagePreferences__settingLabel"); makeElement("div", "PagePreferences__settingName", option.name, optionSettingRowLabel); optionSettingRow.append(optionSettingRowLabel); const optionSettingRowAction = makeElement("div", "PagePreferences__settingAction"); const optionSettingRowInput = makeElement("div", "settingRow-action-inputContainer"); const settingRowInputCheckbox = makeToggle(`${key}-${option.id}`, option.value, tab); optionSettingRowInput.append(settingRowInputCheckbox); optionSettingRowAction.append(optionSettingRowInput); optionSettingRow.append(optionSettingRowAction); multiToggleRow.append(optionSettingRow); }); multiToggleWrapper.append(multiToggleRow); return multiToggleWrapper; }; makeSettingBlank = ({ section, key }) => { const action = makeElement("div", ["blank", "blankSetting"], ""); action.id = `${section.id}-${key}-blank`; return action; }; addSettingOnce = (options) => { const name = options.name; const key = options.id; const defaultValue = options.default || null; const description = options.description || ""; const tab = "mousehunt-improved-settings"; const settingSettings = options.subSettings || null; const moduleType = options.moduleType || null; let container = document.querySelector(`.mousehuntHud-page-tabContent.${tab}`); const originalContainer = container; if (!container) { return false; } const section = { id: options.module.id, name: options.module.name || "", description: options.module.description || "", subSetting: options.module.subSetting || false }; let leftSide = container.querySelector(".PagePreferences__settingsLeft"); if (!leftSide) { leftSide = makeElement("div", "PagePreferences__settingsLeft"); container.append(leftSide); container.classList.add("two-column"); } let rightSide = container.querySelector(".PagePreferences__settingsRight"); if (!rightSide) { rightSide = makeElement("div", "PagePreferences__settingsRight"); container.append(rightSide); container.classList.add("two-column"); } if (moduleType && getSetting("experiments.new-settings-styles-columns", false)) { switch (moduleType) { case "better": case "design": case "element-hiding": case "advanced": container = leftSide; break; case "feature": case "location-hud": case "beta": container = rightSide; break; default: container = originalContainer; break; } } section.id = `${tab}-${section.id.replaceAll(/[^\w-]/gi, "")}`; let sectionExists = document.querySelector(`#${section.id}-wrapper`); if (!sectionExists) { const title = makeElement("div", "PagePreferences__section"); title.id = section.id; const titleSection = makeElement("div", "PagePreferences__title"); makeElement("h3", "PagePreferences__titleText", section.name, titleSection); title.append(titleSection); container.append(title); if (section.description) { const settingSubHeader = makeElement("h4", ["settings-subheader", "mh-utils-settings-subheader"], section.description); title.after(settingSubHeader); } const sectionWrapper = makeElement("div", "PagePreferences__sectionWrapper"); sectionWrapper.id = `${section.id}-wrapper`; container.append(sectionWrapper); title.append(sectionWrapper); sectionExists = document.querySelector(`#${section.id}-wrapper`); } const keySafe = key.replaceAll(".", "-"); const settingExists = document.querySelector(`#${section.id}-${keySafe}`); if (settingExists) { return settingExists; } const settings = makeElement("div", ["PagePreferences__settingsList"]); settings.id = `${section.id}-${keySafe}`; if (section.subSetting) { settings.classList.add("PagePreferences__subSetting"); } else { settings.classList.add(`PagePreferences__settingsList-${keySafe}`, `PagePreferences__settingsList-${section.id}`); } if (settingSettings && settingSettings.type) { settings.classList.add(`PagePreferences__settingsList-${settingSettings.type}`); } const settingRow = makeElement("div", "PagePreferences__setting"); const settingRowLabel = makeElement("div", "PagePreferences__settingLabel"); const settingName = makeElement("div", "PagePreferences__settingName"); const settingNameText = makeElement("a", "PagePreferences__settingNameText", name); settingNameText.href = `#${section.id}-${keySafe}`; settingNameText.setAttribute("data-setting", key); settingNameText.setAttribute("data-tab", tab); settingNameText.setAttribute("data-default", JSON.stringify(defaultValue)); settingName.append(settingNameText); if (!section.subSetting) { settingNameText.addEventListener("click", (event) => { event.preventDefault(); navigator.clipboard.writeText(`${window.location.href}#${section.id}-${keySafe}`); showSuccessMessage({ message: "Copied link to clipboard", append: settingNameText, after: true, classname: "setting-link-copied" }); }); } const defaultSettingText = makeElement("div", "PagePreferences__settingDefault"); if (settingSettings && (settingSettings.type === "select" || settingSettings.type === "multi-select")) { defaultSettingText.textContent = defaultValue.map((item) => item.name).join(", "); } else { defaultSettingText.textContent = defaultValue ? "Enabled" : "Disabled"; } defaultSettingText.textContent = `Default setting: ${defaultSettingText.textContent}`; const settingDescription = makeElement("div", "PagePreferences__settingDescription"); settingDescription.innerHTML = description; if (description.trim() === "") { settingDescription.classList.add("empty-description"); } settingRowLabel.append(settingName); settingRowLabel.append(defaultSettingText); settingRowLabel.append(settingDescription); const settingRowAction = makeElement("div", "PagePreferences__settingAction"); if (settingSettings) { if (settingSettings.type === "select" || settingSettings.type === "multi-select") { settingRowAction.append(makeSettingRowSelect({ key, tab, defaultValue, settingSettings })); } else if (settingSettings.type === "input") { settingRowAction.append(makeSettingInput({ key, tab, defaultValue })); } else if (settingSettings.type === "textarea") { settingRowAction.append(makeSettingTextArea({ key, tab, defaultValue })); } else if (settingSettings.type === "multi-toggle") { settingRowAction.append(makeSettingMultiToggle({ key, tab, settingSettings })); } else if (settingSettings.type === "blank") { settingRowAction.append(makeSettingBlank({ section, key })); } else { settingRowAction.append(makeSettingToggle({ key, defaultValue, tab, settings })); } } else { settingRowAction.append(makeSettingToggle({ key, defaultValue, tab, settings })); } settingRow.append(settingRowLabel); settingRow.append(settingRowAction); settings.append(settingRow); sectionExists.append(settings); doEvent2("mh-improved-setting-added-to-page", { name, key, defaultValue, description, section, tab, settings }); return settings; }; fadeInTimeout = null; fadeOutTimeout = null; removeTimeout = null; addSettingRefreshReminder = (key) => { const noReminder = settings_default["no-reminders"] || []; if (noReminder.includes(key)) { return; } let refreshMessage = document.querySelector("#mh-utils-settings-refresh-message"); if (!refreshMessage) { const newMessageEl = makeElement("div", ["mh-utils-settings-refresh-message", "mh-ui-fade"], "Please refresh the page to apply your changes."); newMessageEl.id = "mh-utils-settings-refresh-message"; const body = document.querySelector("body"); body.append(newMessageEl); refreshMessage = document.querySelector("#mh-utils-settings-refresh-message"); } clearTimeout(fadeInTimeout); clearTimeout(fadeOutTimeout); clearTimeout(removeTimeout); fadeInTimeout = setTimeout(() => { refreshMessage.classList.add("mh-ui-fade-in"); }, 250); fadeOutTimeout = setTimeout(() => { refreshMessage.classList.remove("mh-ui-fade-in"); refreshMessage.classList.add("mh-ui-fade-out"); }, 3e3); removeTimeout = setTimeout(() => { refreshMessage.remove(); }, 5e3); }; addSettingForModule = (module) => __async(void 0, null, function* () { for (const submodule of module.modules) { let moduleSettingRow = null; if (!submodule.alwaysLoad && !submodule.beta) { moduleSettingRow = yield addSetting({ moduleType: module.id, name: submodule.name, id: submodule.id, group: submodule.group, default: submodule.default, description: submodule.description, module }); } if (submodule.settings) { const subSettingsGroup = yield submodule.settings(module); if (!subSettingsGroup) { continue; } for (const subSettings of subSettingsGroup) { const subSettingRow = yield addSetting({ moduleType: module.id, name: subSettings.title, id: subSettings.id, group: submodule.group || false, default: subSettings.default, description: subSettings.description, module: __spreadProps(__spreadValues({}, module), { subSetting: true }), subSettings: subSettings.settings }); if (moduleSettingRow && subSettingRow) { moduleSettingRow.append(subSettingRow); } } } } }); } }); // src/utils/styles.js var addStylesDirect, addModuleStyles, addStyles, removeStyles, addHudStyles, removeHudStyles, addExternalStyles; var init_styles = __esm({ "src/utils/styles.js"() { init_event_registry(); addStylesDirect = (styles8, identifier = "mh-utils-custom-styles", once = false) => { identifier = `mh-utils-${identifier}`; const existingStyles = document.querySelector(`#${identifier}`); if (existingStyles) { if (once) { return existingStyles; } existingStyles.innerHTML += styles8; return existingStyles; } const style = document.createElement("style"); style.id = identifier; style.innerHTML = styles8; document.head.append(style); return style; }; addModuleStyles = (styles8, identifier = "mh-improved-styles", replace2 = false) => { const existingStyles = document.querySelector(`#${identifier}`); styles8 = Array.isArray(styles8) ? styles8.join("\n") : styles8; if (existingStyles) { if (replace2) { existingStyles.innerHTML = styles8; } else { existingStyles.innerHTML += styles8; } return existingStyles; } const style = document.createElement("style"); style.id = identifier; style.innerHTML = styles8; document.head.append(style); return style; }; addStyles = (styles8, module = false, identifier = "mh-improved-styles") => { if (!module) { throw new Error("Module ID is required for adding module styles.", module); } const key = `${identifier}-${module}`; let stylesEl = addModuleStyles(styles8, key, true); onEvent(`mh-improved-settings-changed-${module}`, (enabled) => { if (enabled) { stylesEl = addModuleStyles(styles8, key, true); } else if (stylesEl) { stylesEl.remove(); } }); return stylesEl; }; removeStyles = (module = false, identifier = "mh-improved-styles") => { if (!module) { throw new Error("Module ID is required for adding module styles.", module); } const key = `${identifier}-${module}`; const stylesEl = document.querySelector(`#${key}`); if (stylesEl) { stylesEl.remove(); } }; addHudStyles = (styles8) => __async(void 0, null, function* () { addStyles(styles8, "mh-improved-styles-location-hud", true); }); removeHudStyles = () => { const styles8 = document.querySelectorAll(".mh-improved-styles-location-hud"); styles8.forEach((style) => { style.remove(); }); }; addExternalStyles = (url) => __async(void 0, null, function* () { const identifier = url.split("/").pop().split(".").shift(); const existingStyles = document.querySelector(`#${identifier}-external`); if (existingStyles) { return existingStyles; } const style = document.createElement("link"); style.id = `${identifier}-external`; style.rel = "stylesheet"; style.href = `${url}?v=${mhImprovedVersion}-external`; document.head.append(style); return style; }); } }); // src/utils/templates.js var replaceInTemplate; var init_templates = __esm({ "src/utils/templates.js"() { replaceInTemplate = (templateId, replacements2) => { let templateContent = hg.utils.TemplateUtil.getTemplate(templateId); replacements2.forEach((replacement) => { templateContent = templateContent.replace(replacement[0], replacement[1]); }); hg.utils.TemplateUtil.addTemplate(templateId, templateContent); }; } }); // src/utils/user.js var getUserItems, getUserSetupDetails, normalizeTitle, isUserTitleAtLeast, getAnonymousUserHash, getUserTitle; var init_user = __esm({ "src/utils/user.js"() { init_page(); getUserItems = (items2, forceUpdate = false) => __async(void 0, null, function* () { return new Promise((resolve) => { hg.utils.UserInventory.getItems(items2, (resp) => { resolve(resp); }, (err) => { console.error("Error getting user items:", items2, err); resolve([]); }, forceUpdate); }); }); getUserSetupDetails = () => { const userObj = user; const setup = { type: userObj.trap_power_type_name, stats: { power: userObj.trap_power, powerBonus: userObj.trap_power_bonus, luck: userObj.trap_luck, attractionBonus: userObj.trap_attraction_bonus, cheeseEffect: userObj.trap_cheese_effect }, bait: { id: Number.parseInt(userObj.bait_item_id), name: userObj.bait_name, quantity: Number.parseInt(userObj.bait_quantity), power: 0, powerBonus: 0, luck: 0, attractionBonus: 0 }, base: { id: Number.parseInt(userObj.base_item_id), name: userObj.base_name, power: 0, powerBonus: 0, luck: 0, attractionBonus: 0 }, charm: { id: Number.parseInt(userObj.trinket_item_id), name: userObj.trinket_name, quantity: Number.parseInt(userObj.trinket_quantity), power: 0, powerBonus: 0, luck: 0, attractionBonus: 0 }, weapon: { id: Number.parseInt(userObj.weapon_item_id), name: userObj.weapon_name, power: 0, powerBonus: 0, luck: 0, attractionBonus: 0 }, aura: { lgs: { active: false, power: 0, powerBonus: 0, luck: 0 }, lightning: { active: false, power: 0, powerBonus: 0, luck: 0 }, chrome: { active: false, power: 0, powerBonus: 0, luck: 0 }, slayer: { active: false, power: 0, powerBonus: 0, luck: 0 }, festive: { active: false, power: 0, powerBonus: 0, luck: 0 }, luckycodex: { active: false, power: 0, powerBonus: 0, luck: 0 }, riftstalker: { active: false, power: 0, powerBonus: 0, luck: 0 } }, location: { name: userObj.environment_name, id: userObj.environment_id, slug: userObj.environment_type } }; if ("camp" !== getCurrentPage()) { return setup; } const calculations = document.querySelectorAll(".campPage-trap-trapStat"); if (!calculations) { return setup; } calculations.forEach((calculation) => { if (calculation.classList.length <= 1) { return; } const type = calculation.classList[1]; const math = calculation.querySelectorAll(".math .campPage-trap-trapStat-mathRow"); if (!math) { return; } math.forEach((row) => { if (row.classList.contains("label")) { return; } let value = row.querySelector(".campPage-trap-trapStat-mathRow-value"); let name = row.querySelector(".campPage-trap-trapStat-mathRow-name"); if (!value || !name || !name.innerText) { return; } name = name.innerText; value = value.innerText || "0"; let tempType = type; let isBonus = false; if (value.includes("%")) { tempType = type + "Bonus"; isBonus = true; } tempType = tempType.replace("_bonusBonus", "Bonus"); value = value.replace("%", ""); value = value.replace(",", ""); value = Number.parseInt(value * 100) / 100; if (tempType === "attractionBonus") { value = value / 100; } if (setup.weapon.name === name) { setup.weapon[tempType] = value; } else if (setup.base.name === name) { setup.base[tempType] = value; } else if (setup.charm.name === name) { setup.charm[tempType] = value; } else if (setup.bait.name === name) { setup.bait[tempType] = value; } else if ("Your trap has no cheese effect bonus." === name) { setup.cheeseEffect = "No Effect"; } else { let auraType = name.replace(" Aura", ""); if (!auraType) { return; } auraType = auraType.toLowerCase(); auraType = auraType.replaceAll(" ", "_"); auraType = auraType.replaceAll(/\W/gi, ""); auraType = auraType.replace("golden_luck_boost", "lgs"); auraType = auraType.replace("2023_lucky_codex", "luckycodex"); auraType = auraType.replace("_set_bonus_2_pieces", ""); auraType = auraType.replace("_set_bonus_3_pieces", ""); if (setup.aura[auraType]) { setup.aura[auraType].active = true; setup.aura[auraType].type = auraType; } else { setup.aura[auraType] = { active: true, type: auraType, power: 0, powerBonus: 0, luck: 0 }; } value = Number.parseInt(value); if (isBonus) { value = value / 100; } setup.aura[auraType][tempType] = value; } }); }); return setup; }; normalizeTitle = (title = "") => { if (!title) { return ""; } const normalizedTitle = title.toLowerCase().replaceAll(" ", "").replaceAll("/", "_").replaceAll("journeyman_journeywoman", "journeyman").replaceAll("journeywoman", "journeyman").replaceAll("lord_lady", "lord").replaceAll("lady", "lord").replaceAll("baron_baroness", "baron").replaceAll("baroness", "baron").replaceAll("count_countess", "count").replaceAll("countess", "count").replaceAll("grand_duke_grand_duchess", "grand_duke").replaceAll("grand_duchess", "grand_duke").replaceAll("archduke_archduchess", "archduke").replaceAll("archduchess", "archduke").replaceAll("duke_duchess", "duke").replaceAll("duke_dutchess", "duke").replaceAll("duchess", "duke").replaceAll("grand_duke", "grandduke").replaceAll("/", "").replaceAll(" ", "").toLowerCase(); return normalizedTitle; }; isUserTitleAtLeast = (title) => { const titles = [ "novice", "recruit", "apprentice", "initiate", "journeyman", "master", "grandmaster", "legendary", "hero", "knight", "lord", "baron", "count", "duke", "grandduke", "archduke", "viceroy", "elder", "sage", "fable" ]; const titleIndex = titles.indexOf(normalizeTitle(user.title_name)); const checkIndex = titles.indexOf(normalizeTitle(title)); return titleIndex >= checkIndex; }; getAnonymousUserHash = () => __async(void 0, null, function* () { if (typeof user === "undefined" || !(user == null ? void 0 : user.user_id)) { return ""; } const msgUint8 = new TextEncoder().encode(user.user_id.toString().trim()); const hashBuffer = yield crypto.subtle.digest("SHA-256", msgUint8); const hashArray = [...new Uint8Array(hashBuffer)]; userHash = hashArray.map((b) => b.toString(16).padStart(2, "0")).join(""); return userHash; }); getUserTitle = () => { let title = user.title_name || "novice"; if (title.includes("/")) { title = title.split("/")[0]; } return title.toLowerCase().replaceAll("lady", "lord").replace("wo", "").replace("ess", "").replace("duch", "duke").trim(); }; } }); // src/utils/utils.js function isAppleOS(_window = null) { if (!_window) { if (typeof window === "undefined") { return false; } _window = window; } const { platform } = _window.navigator; return platform.includes("Mac") || ["iPad", "iPhone"].includes(platform); } var isApp, isUnsupportedFile, isiFrame, isLegacyHUD, isLoggedIn, isOverlayVisible, bodyClasses, addBodyClass, removeBodyClass, getTradableItems, requests, doRequest, sleep, hasMiniCRE, uppercaseFirstLetter, setMultipleTimeout, refreshPage, debounce; var init_utils = __esm({ "src/utils/utils.js"() { init_data(); init_events(); init_debug(); init_page(); init_flags(); isApp = () => { return typeof app !== "undefined" && typeof user !== "undefined" && typeof hg !== "undefined" && typeof eventRegistry !== "undefined"; }; isUnsupportedFile = (path = false) => { path = path || window.location.pathname; if ("puzzleimage.php" === path) { return true; } return path.match(/\.(jpeg|jpg|gif|png|svg|json|css|js)$/i); }; isiFrame = () => { return window.self !== window.top; }; isLegacyHUD = () => { var _a, _b; if (getFlag("legacy-hud")) { return true; } if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.isLegacy)) { return false; } return hg.utils.PageUtil.isLegacy(); }; isLoggedIn = () => { return user && user.user_id && "login" !== getCurrentPage(); }; isOverlayVisible = () => { if ("undefined" === typeof activejsDialog) { return false; } return activejsDialog && activejsDialog.isVisible(); }; bodyClasses = { added: [], removed: [] }; addBodyClass = (className, force = false) => { if (bodyClasses.removed.includes(className) || bodyClasses.added.includes(className)) { if (force) { bodyClasses.added.push(className); document.body.classList.add(className); } return; } bodyClasses.added.push(className); const addClass2 = () => { document.body.classList.add(className); }; addClass2(); onNavigation(addClass2); onTravel(null, { /** * Callback to add the class after travel. */ callback: () => { setTimeout(addClass2, 500); } }); }; removeBodyClass = (className) => { bodyClasses.added = bodyClasses.added.filter((c) => c !== className); bodyClasses.removed.push(className); document.body.classList.remove(className); }; getTradableItems = (valueKey = "all") => __async(void 0, null, function* () { const tradableItems = yield getData("items-tradable"); tradableItems.sort((a, b) => { return a.name.localeCompare(b.name); }); if ("all" === valueKey) { return tradableItems; } const returnItems = []; for (const item of tradableItems) { returnItems.push({ name: item.name, value: item[valueKey] }); } return returnItems; }); requests = {}; doRequest = (_0, ..._1) => __async(void 0, [_0, ..._1], function* (url, formData = {}, skipChecks = false) { var _a; if (!isLoggedIn()) { return; } if ("undefined" === typeof lastReadJournalEntryId || "undefined" === typeof user) { return; } if (!lastReadJournalEntryId || !user || !(user == null ? void 0 : user.unique_hash)) { return; } const requestKey = Object.keys(formData).length ? `${url}-${JSON.stringify(formData)}` : url; const timeRequested = Date.now(); debuglog("utils-data", `Making request: ${requestKey} at ${timeRequested}`); if (requests[requestKey] && !skipChecks) { debuglog("utils-data", `Request already in progress: ${requestKey}`); if (requests[requestKey].in_progress) { return new Promise((resolve) => { const timeout = setTimeout(() => __async(void 0, null, function* () { debuglog("utils-data", `Request timed out: ${requestKey}, starting new request`); clearInterval(interval); const newRequest = yield doRequest(url, formData, true); resolve(newRequest); }), 2500); const interval = setInterval(() => { debuglog("utils-data", `Checking if request is complete: ${requestKey}`); if (!requests[requestKey].in_progress) { debuglog("utils-data", `Returning saved response: ${requestKey}`); clearInterval(interval); clearTimeout(timeout); resolve(requests[requestKey].response); } }, 100); }); } else if (requests[requestKey].time_requested > timeRequested - 350) { debuglog("utils-data", `Request already completed: ${requestKey}`); return requests[requestKey].response; } } debuglog("utils-data", `Starting request: ${requestKey}`); requests[requestKey] = { in_progress: true, time_requested: timeRequested }; const form = new FormData(); form.append("sn", "Hitgrab"); form.append("hg_is_ajax", 1); form.append("last_read_journal_entry_id", lastReadJournalEntryId != null ? lastReadJournalEntryId : 0); form.append("uh", (_a = user == null ? void 0 : user.unique_hash) != null ? _a : ""); for (const key in formData) { form.append(key, formData[key]); } const requestBody = new URLSearchParams(form).toString(); let response; let attempts = 0; while (!response && attempts < 3) { try { response = yield fetch( callbackurl ? callbackurl + url : "https://www.mousehuntgame.com/" + url, { method: "POST", body: requestBody, headers: { "Content-Type": "application/x-www-form-urlencoded" } } ); } catch (error) { attempts++; console.error(`Attempt ${attempts} failed. Retrying...`, error); } } if (attempts >= 3) { console.error("Failed to fetch after maximum attempts"); } let data; try { data = yield response.json(); } catch (error) { console.error(`Error parsing response for ${url}:`, error, url, formData, response); return false; } requests[requestKey] = { time_requested: timeRequested, response: data }; return data; }); sleep = (ms, elapsed = 0) => __async(void 0, null, function* () { if (elapsed) { ms -= elapsed; } return new Promise((resolve) => setTimeout(resolve, ms)); }); hasMiniCRE = () => { const hasMiniCre = sessionGet("has-mini-cre"); if (hasMiniCre) { return true; } if ("camp" !== getCurrentPage()) { return; } const cre = document.querySelector(".min-luck-button"); if (!cre) { sessionSet("has-mini-cre", false); return false; } sessionSet("has-mini-cre", true); return true; }; uppercaseFirstLetter = (string) => { return string.charAt(0).toUpperCase() + string.slice(1); }; setMultipleTimeout = (fn, ms) => { if (!Array.isArray(ms)) { ms = [ms]; } ms.forEach((time) => { setTimeout(fn, time); }); }; refreshPage = (delay = 0) => { setTimeout(() => { window.location.reload(); }, delay); }; debounce = (func, delay) => { let timeout; return (...args) => __async(void 0, null, function* () { clearTimeout(timeout); timeout = setTimeout(() => __async(void 0, null, function* () { return yield func(...args); }), delay); }); }; } }); // src/utils/shared/trap-quantity.js var getIdSelector, addQuantityToDisplay, addQuantityToTrapBrowserItem, addQtyToTrapBrowser, addTrapQuantity; var init_trap_quantity = __esm({ "src/utils/shared/trap-quantity.js"() { init_utils2(); getIdSelector = (itemId, bases) => { if (Array.isArray(bases)) { bases = bases.join("-"); } return `mh-improved-${itemId}-${bases}-counter`; }; addQuantityToDisplay = (itemId, bases) => __async(void 0, null, function* () { var _a; if ("camp" !== getCurrentPage() || !itemId || !bases) { return; } const selector = getIdSelector(itemId, bases); const existingCounter = document.querySelector(`.${selector}`); if (existingCounter) { existingCounter.remove(); } bases = bases.map((base) => Number.parseInt(base, 10)); const userBase = Number.parseInt(user.base_item_id, 10); if (!bases.includes(userBase)) { return; } const details = yield getUserItems([itemId], true); const amount = ((_a = details[0]) == null ? void 0 : _a.quantity) || 0; cacheSet(`${itemId}-quantity`, amount); const counter = document.querySelector(`.${selector}-text`); if (counter) { counter.textContent = amount; return; } const trapContainer = document.querySelector('.trapSelectorView__armedItem[data-item-classification="base"] .trapSelectorView__armedItemImage'); if (!trapContainer) { return; } const newCounter = makeElement("div", ["trapSelectorView__armedItemQuantity", selector]); makeElement("span", `${selector}-text`, amount.toLocaleString(), newCounter); trapContainer.append(newCounter); }); addQuantityToTrapBrowserItem = (el, itemId, base) => __async(void 0, null, function* () { if (!el || !itemId || !base) { return; } const selector = getIdSelector(itemId, base); let qty = yield cacheGet(`${itemId}-quantity`, 0); qty = Number.parseInt(qty, 10); const exists = document.querySelector(`.${selector}-blueprint`); if (exists) { exists.textContent = qty.toLocaleString(); return; } const counter = makeElement("div", "campPage-trap-itemBrowser-favorite-item-quantity"); makeElement("span", ["campPage-trap-baitQuantity", `${selector}-blueprint`], qty.toLocaleString(), counter); el.append(counter); }); addQtyToTrapBrowser = (tab, opts) => __async(void 0, null, function* () { if ("item_browser" !== tab || !opts.itemId || !opts.baseSlugs) { return; } opts.baseSlugs.forEach((base) => __async(void 0, null, function* () { const el = document.querySelector(`.campPage-trap-itemBrowser-item-image[data-item-type="${base}"]`); if (!el) { return; } addQuantityToTrapBrowserItem(el, opts.itemId, base); })); opts.baseIds.forEach((base) => __async(void 0, null, function* () { const faveEl = document.querySelector(`.campPage-trap-itemBrowser-favorite-item-image[data-item-id="${base}"]`); if (!faveEl) { return; } addQuantityToTrapBrowserItem(faveEl, opts.itemId, base); })); }); addTrapQuantity = (opts) => __async(void 0, null, function* () { const run4 = () => { addQuantityToDisplay(opts.itemId, opts.baseIds); }; run4(); onRequest("users/changetrap.php", () => { run4(); setTimeout(run4, 500); const trapSelector = document.querySelector('.trapSelectorView__blueprint.trapSelectorView__blueprint--active .trapSelectorView__browserStateParent--items[data-blueprint-type="base"]'); if (trapSelector) { addQtyToTrapBrowser("item_browser", opts); } }); onTurn(run4, 150); onEvent("camp_page_toggle_blueprint", (tab) => __async(void 0, null, function* () { return addQtyToTrapBrowser(tab, opts); })); }); } }); // src/utils/index.js var utils_exports = {}; __export(utils_exports, { addBodyClass: () => addBodyClass, addEvent: () => addEvent, addExternalStyles: () => addExternalStyles, addHudStyles: () => addHudStyles, addIconToMenu: () => addIconToMenu, addItemToGameInfoBar: () => addItemToGameInfoBar, addJournalEntry: () => addJournalEntry, addMHCTData: () => addMHCTData, addModuleStyles: () => addModuleStyles, addSetting: () => addSetting, addSettingForModule: () => addSettingForModule, addSettingsTab: () => addSettingsTab, addStyles: () => addStyles, addStylesDirect: () => addStylesDirect, addSubmenuDivider: () => addSubmenuDivider, addSubmenuItem: () => addSubmenuItem, addTrapQuantity: () => addTrapQuantity, cacheDelete: () => cacheDelete, cacheFinishedMap: () => cacheFinishedMap, cacheGet: () => cacheGet, cacheSet: () => cacheSet, clearCaches: () => clearCaches, createPopup: () => createPopup, database: () => database, databaseDelete: () => databaseDelete, dbDelete: () => dbDelete, dbDeleteAll: () => dbDeleteAll, dbGet: () => dbGet, dbGetAll: () => dbGetAll, dbSet: () => dbSet, debounce: () => debounce, debug: () => debug, debuglog: () => debuglog, deleteSetting: () => deleteSetting, doEvent: () => doEvent2, doRequest: () => doRequest, getAnonymousUserHash: () => getAnonymousUserHash, getArEl: () => getArEl, getArForMouse: () => getArForMouse, getCurrentDialog: () => getCurrentDialog, getCurrentLocation: () => getCurrentLocation, getCurrentLocationName: () => getCurrentLocationName, getCurrentPage: () => getCurrentPage, getCurrentSubtab: () => getCurrentSubtab, getCurrentTab: () => getCurrentTab, getData: () => getData, getFlag: () => getFlag, getFlags: () => getFlags, getGlobal: () => getGlobal, getHeaders: () => getHeaders, getHighestArForMouse: () => getHighestArForMouse, getLastMaptain: () => getLastMaptain, getLocationForMouse: () => getLocationForMouse, getMapData: () => getMapData, getRelicHunterLocation: () => getRelicHunterLocation, getSetting: () => getSetting, getSettingDirect: () => getSettingDirect, getSettings: () => getSettings, getTradableItems: () => getTradableItems, getUserItems: () => getUserItems, getUserSetupDetails: () => getUserSetupDetails, getUserTitle: () => getUserTitle, hasMiniCRE: () => hasMiniCRE, isApp: () => isApp, isAppleOS: () => isAppleOS, isCurrentPage: () => isCurrentPage, isLegacyHUD: () => isLegacyHUD, isLoggedIn: () => isLoggedIn, isOverlayVisible: () => isOverlayVisible, isUnsupportedFile: () => isUnsupportedFile, isUserTitleAtLeast: () => isUserTitleAtLeast, isiFrame: () => isiFrame, makeButton: () => makeButton, makeElement: () => makeElement, makeElementDraggable: () => makeElementDraggable, makeFavoriteButton: () => makeFavoriteButton, makeJournalEntry: () => makeJournalEntry, makeLink: () => makeLink, makeMathButton: () => makeMathButton, makeMathButtons: () => makeMathButtons, makeMhButton: () => makeMhButton, makePage: () => makePage, makeTooltip: () => makeTooltip, mapData: () => mapData, mapModel: () => mapModel, mapper: () => mapper, maybeDoMaintenance: () => maybeDoMaintenance, onActivation: () => onActivation, onDeactivation: () => onDeactivation, onDialogHide: () => onDialogHide, onDialogShow: () => onDialogShow, onEvent: () => onEvent, onNavigation: () => onNavigation, onOverlayChange: () => onOverlayChange, onPageChange: () => onPageChange, onRequest: () => onRequest, onSettingsChange: () => onSettingsChange, onTrapChange: () => onTrapChange, onTravel: () => onTravel, onTurn: () => onTurn, refreshPage: () => refreshPage, removeBodyClass: () => removeBodyClass, removeHudStyles: () => removeHudStyles, removeIconFromMenu: () => removeIconFromMenu, removeStyles: () => removeStyles, removeSubmenuItem: () => removeSubmenuItem, replaceIconInMenu: () => replaceIconInMenu, replaceInTemplate: () => replaceInTemplate, replaceJournalEntry: () => replaceJournalEntry, saveSetting: () => saveSetting, saveSettingDirect: () => saveSettingDirect, sessionDelete: () => sessionDelete, sessionGet: () => sessionGet, sessionSet: () => sessionSet, sessionsDelete: () => sessionsDelete, setGlobal: () => setGlobal, setLastMaptain: () => setLastMaptain, setMapData: () => setMapData, setMultipleTimeout: () => setMultipleTimeout, setPage: () => setPage, setTab: () => setTab, showErrorMessage: () => showErrorMessage, showHornMessage: () => showHornMessage, showLoadingError: () => showLoadingError, showLoadingPopup: () => showLoadingPopup, showLoadingPopupError: () => showLoadingPopupError, showSuccessMessage: () => showSuccessMessage, showTravelConfirmation: () => showTravelConfirmation, showTravelConfirmationNoDetails: () => showTravelConfirmationNoDetails, sleep: () => sleep, toggleBlueprint: () => toggleBlueprint, travelTo: () => travelTo, updateCaches: () => updateCaches, uppercaseFirstLetter: () => uppercaseFirstLetter }); var init_utils2 = __esm({ "src/utils/index.js"() { init_blueprint(); init_db(); init_data(); init_debug(); init_draggable(); init_elements(); init_events(); init_event_registry(); init_flags(); init_global(); init_horn(); init_journal(); init_links(); init_location(); init_maps(); init_messages(); init_page(); init_settings(); init_settings_markup(); init_styles(); init_templates(); init_user(); init_utils(); init_trap_quantity(); } }); // src/modules/adblock/styles.css var styles_default; var init_styles2 = __esm({ "src/modules/adblock/styles.css"() { styles_default = `.actionportfolio,.canShare .larryTip,.canShare,.communityGroupView-ad,.journalactions a.actionportfolio,.journalactions a[data-share-type=journal],.journalactions a[data-type=journal],.mousehuntHeaderView-gameBanner,.pageSidebarView .fb-page,.socialLink,.newsPostFacebookContainer,.travelShortcut.QuestSuperBrieFactory,*[src="https://www.mousehuntgame.com//images/ui/buttons/share_green.gif"],*[src="https://www.mousehuntgame.com/images/promo/fbf_live.jpg"],*[src="https://www.mousehuntgame.com/images/promo/fbf_soon.jpg"],a[onclick="hg.utils.PageUtil.setPage('JoinDiscord'); return false;"],a[href="https://www.facebook.com/groups/103701656374148/"],.pageSidebarView-mobileApps,.pageSidebarView-title,.pageSidebarView-block-description #jsDialog-publishToOwnWall,.travelShortcut.QuestHailstoneGolems{display:none}#OnboardArrow.onboardPopup.canShare .closeButton{left:0} `; } }); // src/modules/adblock/index.js var init, adblock_default; var init_adblock = __esm({ "src/modules/adblock/index.js"() { init_utils2(); init_styles2(); init = () => __async(void 0, null, function* () { addStyles(styles_default, "adblock"); }); adblock_default = { id: "adblock", name: "Adblock", type: "element-hiding", default: false, description: "Hides advertisements for Feedback Friday, mobile apps, news ticker, etc.", load: init }; } }); // src/modules/better-gifts/settings/index.js var settings_default2; var init_settings3 = __esm({ "src/modules/better-gifts/settings/index.js"() { settings_default2 = () => __async(void 0, null, function* () { const orderOptions = [ { name: "Newest to Oldest", value: "default" }, { name: "Oldest to Newest", value: "reverse" } ]; const skipBadGiftOptions = [ { name: "Skip all non-GOTD gifts", value: "skip" }, { name: "Don't skip any gifts", value: "no-skip" }, { seperator: true }, { name: "Skip Mozzarella Cheese only", value: "mozzarella" }, { name: "Skip Stale Cheese only", value: "stale" }, { name: "Skip Radioactive Sludge only", value: "sludge" }, { name: "Skip Mozz. Cheese & Stale Cheese", value: "mozzarella-stale" }, { name: "Skip Mozz. Cheese & Radioactive Sludge", value: "mozzarella-sludge" }, { name: "Skip Stale Cheese & Radioactive Sludge", value: "stale-sludge" } ]; return [ { id: "better-gifts.send-order", title: "Order to accept/send", default: [orderOptions[0]], description: "", settings: { type: "multi-select", number: 1, options: orderOptions } }, { id: "better-gifts.ignore-bad-gifts", title: "Ignore gifts", default: [skipBadGiftOptions[0]], description: "", settings: { type: "multi-select", number: 1, options: skipBadGiftOptions } } ]; }); } }); // src/modules/better-gifts/styles.css var styles_default2; var init_styles3 = __esm({ "src/modules/better-gifts/styles.css"() { styles_default2 = '.giftSelectorView-giftContainer .giftSelectorView-gift.gift_of_the_day{width:20%}#bulk-gifting-gift-buttons{position:relative;display:flex;justify-content:flex-end;margin-bottom:10px}#bulk-gifting-gift-buttons .mh-gift-button{padding:0 15px;font-weight:400}#bulk-gifting-gift-buttons .mh-gift-buttons-accept{margin-right:5px}#bulk-gifting-gift-buttons .mh-gift-buttons-paid-gifts{margin-right:10px}.giftSelectorView-inbox-giftContainer{height:auto;min-height:300px;max-height:75vh}.giftSelectorView-inbox-giftRow.complete{height:25px;padding-top:5px;padding-left:15px;border:none;box-shadow:none}.giftSelectorView-inbox-giftRow.complete .giftSelectorView-inbox-gift-thumb{display:inline}.giftSelectorView-inbox-giftRow.complete .itemImage{display:inline-block;width:25px;height:25px}.giftSelectorView-inbox-giftRow.complete .giftSelectorView-inbox-gift-details{width:90%}.mh-gift-buttons-send-random,.mh-gift-buttons-send-faves{margin-top:-2px;margin-left:10px}.giftSelectorView-gift.sendable.gift.gift_of_the_day{flex:1}.giftSelectorView-gift .giftSelectorView-gift-padding{min-width:75px;border:1px solid #dcdcdc;box-shadow:none}.giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding{background-color:#a5e3ff}.giftSelectorView-scroller.giftSelectorView-giftContainer{display:flex;flex-wrap:wrap;justify-content:space-around}.giftSelectorView-gift.gift_of_the_day:hover .giftSelectorView-gift-padding{background-color:#0090ff}body #overlayPopup .giftSelectorView-scroller.giftSelectorView-giftContainer{min-height:unset}.giftSelectorView-friend.complete .giftSelectorView-friend-padding:before{bottom:9px;left:10px;z-index:1;filter:drop-shadow(0 0 3px #b9ff5d) drop-shadow(1px 1px 4px #b9ff5d) drop-shadow(-1px -1px 3px #b9ff5d)}.mh-gift-buttons-clone-wrapper{scrollbar-color:#938f83 #e9e1c6;max-height:calc(75vh - 175px);overflow-y:auto}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-description{display:flex;flex-direction:column-reverse;align-items:stretch}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-padding{min-width:unset;padding:0 2px;margin:0;border:none}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-name{height:unset}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift-name span{padding:5px}.mh-gift-buttons-clone-wrapper .giftSelectorView-content-leftBar-highlightBlock{padding:5px;margin:0 5px 0 10px;background-color:transparent}.mh-gift-buttons-clone-wrapper .giftSelectorView-friendRow-returnCost{bottom:3px}.giftSelectorView-content-leftBar>.giftSelectorView-content-leftBar-highlightBlock:before{position:absolute;inset:0;z-index:1;content:"";border-radius:10px 0 0 10px;box-shadow:0 4px 4px -3px #666}.giftSelectorView-content-leftBar>.giftSelectorView-content-leftBar-highlightBlock{position:relative}.giftSelectorView-friend.complete .giftSelectorView-friend-padding:after,.mh-gift-buttons-clone-wrapper .giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding:after{display:none}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding{color:#000;background-color:#fff}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift.gift_of_the_day:hover .giftSelectorView-gift-padding{background-color:#a5e3ff}.giftSelectorView-friend-group-title{padding:3px;font-size:11px}.giftSelectorView-friend-padding,.giftSelectorView-confirmPopup-block-actionItem .giftSelectorView-friend:hover .giftSelectorView-friend-padding{border-radius:0}.giftSelectorView-friend .giftSelectorView-friend-padding{height:35px}.mh-gift-buttons-clone-wrapper .giftSelectorView-gift .itemImage{width:50px;height:50px;margin-bottom:5px}.giftSelectorView-gift .itemImage{width:100%;height:80px}.giftSelectorView-friend-name{display:flex;flex-flow:column;align-items:flex-start;justify-content:flex-start;width:unset;height:unset;padding:0 3px;line-height:1.1}.giftSelectorView-friend-name span{display:block}#bulk-gifting-gift-buttons.mh-gift-buttons-send-popup{margin-bottom:0}.giftSelectorView-tabContentContainer .giftSelectorView-tabContent.active .giftSelectorView-actionContainer{display:flex;align-items:center;justify-content:flex-end}#bulk-gifting-gift-buttons.mh-gift-buttons-send-popup button{padding:6px;font-size:12px}a.mousehuntActionButton.giftSelectorView-action-confirm span{display:block;width:auto;min-width:80px}.giftSelectorView-friendRow-returnImage:hover{margin-top:-10px;margin-right:10px;margin-left:0;border:none}.giftSelectorView-claimableGift{min-height:100px}.giftSelectorView-claimableGift.accordion_disabled:after,.giftSelectorView-claimableGift.expanded:after{box-shadow:none}.giftSelectorView-claimableGift.accordion_disabled,.giftSelectorView-claimableGift.expanded{padding:5px;margin-bottom:11px;border:1px solid #ccc;border-radius:3px}.giftSelectorView-claimableGift-title-itemName{font-size:13px}.giftSelectorView-content-subtitle{border-bottom:none}.giftSelectorView-inboxGiftOfTheDay{padding:5px 0;border-color:#d1d0cf}.giftSelectorView-inbox-giftRow.paidgift{background-color:#fff08c;border:none}.giftSelectorView-inbox-gift-details .giftSelectorView-inbox-gift-sent{padding-top:3px}.giftSelectorView-inbox-giftRow{display:flex;align-items:center;justify-content:space-between;min-height:40px}.giftSelectorView-inbox-gift-details{flex:1;width:auto;margin:0 0 0 10px}.giftSelectorView-inbox-giftRow.paidgift .giftSelectorView-inbox-gift-actions{padding-bottom:0}.giftSelectorView-inboxGiftOfTheDay-label{margin-right:5px}.giftSelectorView-inboxGiftOfTheDay-gift{font-size:12px}.giftSelectorView-inboxGiftOfTheDay-gift abbr{text-decoration:none;vertical-align:middle}.paidgift a.giftSelectorView-friendRow-action.return{text-indent:-70px}.giftSelectorView-friendRow-returnQuantity{width:30px}.giftSelectorView-gift.paidgift .giftSelectorView-gift-padding{box-shadow:0 0 1px #000 inset}.giftSelectorView-tabContent.hasSidebar .giftSelectorView-content-rightBar{border-bottom-left-radius:10px}.giftSelectorView-friendRow-sender{position:relative}.giftSelectorView-friendRow:hover{padding-bottom:5px;margin-bottom:7px;border-top-left-radius:0;border-bottom-left-radius:0;outline:1px solid #dfdfdf;box-shadow:none}.giftSelectorView-friend-image{top:-7px;left:-7px;width:33px;height:33px;border:1px solid #bdbdbd}.giftSelectorView-friend-image.paidgift{top:-11px;width:31px;height:31px}#giftSelectorView-inbox{border:1px solid #d1d0cf;box-shadow:0 3px 6px -3px #000}.giftSelectorView-inbox-footer-viewMore a{position:relative;font-weight:400;line-height:24px;text-shadow:0 0 1px #fff;background:none;border:none;border-radius:3px;box-shadow:none}.giftSelectorView-inbox-footer-viewMore{position:absolute;right:10px;width:135px;padding:0;font-size:12px;font-weight:700;line-height:30px;color:#000!important;text-align:center;background:#b3edff;border:1px solid #50549c;border-radius:5px;box-shadow:1px 1px 1px #eee}.giftSelectorView-inbox-footer-viewMore:hover{background-color:#b3f4ff;border-color:#000;box-shadow:0 0 5px #fff inset,1px 1px 1px #fff}.giftSelectorView-inbox-footer-viewMore:before{position:absolute;inset:40% 0 0;content:"";background:#b2e2ff;border-radius:5px;box-shadow:0 0 10px #7bf inset}.giftSelectorView-inbox-footer-viewMore:before:hover{background-color:#a5e2ff;box-shadow:0 0 10px #f0f4f7 inset}.giftSelectorView-inbox-footer{padding-bottom:18px;border-width:1px}.giftSelectorView-inbox-giftContainer .mousehuntActionButton.return.disabled,.giftSelectorView-inbox-giftContainer .mousehuntActionButton.claim.disabled{opacity:.5}.giftSelectorView-inbox-giftContainer .mousehuntActionButton.return.disabled:hover,.giftSelectorView-inbox-giftContainer .mousehuntActionButton.claim.disabled:hover{opacity:1}.giftSelectorView-friendRow-action.ignore{outline:1px solid #ededed;box-shadow:none}.giftSelectorView-friendRow-action.ignore:hover{background-color:#eee;outline-color:#c6c6c6}.giftSelectorView-friendRow-action.claim,.giftSelectorView-friendRow-action.return{box-sizing:border-box;outline:1px solid #e7e7e7}.giftSelectorView-friendRow-action.claim:hover,.giftSelectorView-friendRow-action.return:hover{box-shadow:0 0 1px #000 inset,0 -1px 1px #fff inset}.giftSelectorView-friendRow.new .giftSelectorView-friend-image:after{top:-4px;left:-4px;border-radius:4px;box-shadow:none}.mh-dark-mode #giftSelectorView-inbox,.mh-dark-mode .giftSelectorView-inboxGiftOfTheDay{border-color:#424242}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer:hover{background-color:#494949}.complete .giftSelectorView-inbox-gift-details{margin-right:150px;margin-left:0}.giftSelectorView-scroller{height:100%}.giftSelectorView-inbox-footer-label{margin-top:-30px;text-align:left}\n'; } }); // src/modules/better-gifts/index.js var getIgnoredGifts, claimGifts, makeAcceptButton, makeReturnButton, fixTypo, lineBreakGiftFooter, getButtons, makeButtons, getLimit, pickFriends, addSendButton, addRandomSendButton, _showTab, _selectGift, _updateGiftMultiplierQuantity, addGiftSwitcher, addButtonsToDropdown, addButtonsToPopup, main, init2, better_gifts_default; var init_better_gifts = __esm({ "src/modules/better-gifts/index.js"() { init_utils2(); init_settings3(); init_styles3(); getIgnoredGifts = () => { const ignored = getSetting("better-gifts.ignore-bad-gifts-0", "skip"); const skipOptions = { skip: ["mozzarella_cheese", "stale_cheese", "stale_cheese_craft_item"], "no-skip": [], mozzarella: ["mozzarella_cheese"], stale: ["stale_cheese_craft_item"], sludge: ["radioactive_sludge"], "mozzarella-stale": ["mozzarella_cheese", "stale_cheese_craft_item"], "mozzarella-sludge": ["mozzarella_cheese", "radioactive_sludge"], "stale-sludge": ["stale_cheese_craft_item", "radioactive_sludge"] }; return skipOptions[ignored] || skipOptions.skip; }; claimGifts = (send = false, retries = 0) => __async(void 0, null, function* () { hg.views.GiftSelectorView.show(); const isLoaded = document.querySelector(".giftSelectorView-tabContent.active .giftSelectorView-friendRow"); if (!isLoaded) { if (retries <= 10) { setTimeout(() => { claimGifts(send, retries + 1); }, 250); } return; } let gifts = hg.views.GiftSelectorView.getClaimableGiftsSortedByTime(); if (getSetting("better-gifts.send-order-0", "default") === "reverse") { gifts.reverse(); } const ignoredGifts = getIgnoredGifts(); let sendLimit = hg.views.GiftSelectorView.getNumSendableActionsRemaining(); let claimLimit = hg.views.GiftSelectorView.getNumClaimableActionsRemaining(); gifts = gifts.filter((gift) => { if (gift.channel !== "gift") { return false; } if (ignoredGifts.includes(gift.item_type)) { return false; } return true; }); for (const gift of gifts) { let verb = send ? "return" : "claim"; if (send && sendLimit > 0 && gift.is_returnable) { verb = "return"; } const giftEl = document.querySelector(`.giftSelectorView-friendRow[data-gift-id="${gift.gift_id}"] .giftSelectorView-friendRow-action.${verb}`); if (!giftEl) { continue; } const event = { target: giftEl }; if (send && "return" === verb && sendLimit > 0) { hg.views.GiftSelectorView.selectReturnableGift(event, giftEl); sendLimit--; claimLimit--; } else if (!send && "claim" === verb && claimLimit > 0) { hg.views.GiftSelectorView.selectClaimableGift(giftEl); claimLimit--; } } setTimeout(() => { const confirm2 = document.querySelector(".mousehuntActionButton.giftSelectorView-action-confirm.small"); if (confirm2) { setTimeout(() => { hg.views.GiftSelectorView.submitConfirm(confirm2); }, 250); } }, 500); }); makeAcceptButton = (buttonContainer, isTiny = false) => { const acceptButton = makeElement("button", ["mh-gift-button", "mh-gift-buttons-accept", "mousehuntActionButton"]); makeElement("span", "mousehuntActionButton-text", "Accept All", acceptButton); if (isTiny) { acceptButton.classList.add("tiny"); } const acceptLimit = document.querySelector(".giftSelectorView-numClaimActionsRemaining"); if (acceptLimit && acceptLimit.innerText === "0") { acceptButton.classList.add("disabled"); } else { acceptButton.addEventListener("click", () => { claimGifts(); }); } buttonContainer.append(acceptButton); }; makeReturnButton = (buttonContainer, isTiny = false) => { const returnWrapper = makeElement("div", "mh-gift-buttons-return-wrapper"); const returnButton = makeElement("button", ["mh-gift-button", "mh-gift-buttons-return", "mousehuntActionButton"]); makeElement("span", "mousehuntActionButton-text", "Accept & Return All", returnButton); if (isTiny) { returnButton.classList.add("tiny"); } const returnLimit = document.querySelector(".giftSelectorView-numSendActionsRemaining"); if (returnLimit && returnLimit.innerText === "0") { returnButton.classList.add("disabled"); } else { returnButton.addEventListener("click", () => { claimGifts(true); }); } returnWrapper.append(returnButton); buttonContainer.append(returnWrapper); }; fixTypo = () => { replaceInTemplate("ViewGiftSelector", [ [ "You can send 1 free gifts", "You can send 1 free gift" ], [ "<b>1</b> free gifts", "<b>1</b> free gift" ] ]); }; lineBreakGiftFooter = () => { replaceInTemplate("GiftSelectorView", [ [ "more free gifts today. You can", 'more free gifts today. <p class="mh-ui-footer-gifts-second-line">You can' ], [ 'class="giftSelectorView-inboxHeader-closeButton" onclick="hg.views.GiftSelectorView.hideInbox(); return false;">Close</a>', 'class="giftSelectorView-inboxHeader-closeButton" onclick="hg.views.GiftSelectorView.hideInbox(); return false;">\u2715</a>' ] ]); }; getButtons = (className = false, isTiny = false) => { const buttonContainer = document.createElement("div"); buttonContainer.id = "bulk-gifting-gift-buttons"; if (className) { buttonContainer.classList.add(className); } makeAcceptButton(buttonContainer, isTiny); makeReturnButton(buttonContainer, isTiny); return buttonContainer; }; makeButtons = () => { if (document.querySelector("#bulk-gifting-gift-buttons")) { return; } const buttonContainer = document.createElement("div"); buttonContainer.id = "bulk-gifting-gift-buttons"; makeAcceptButton(buttonContainer); makeReturnButton(buttonContainer); const giftFooter = document.querySelector(".giftSelectorView-inbox-footer"); if (giftFooter && giftFooter.firstChild) { giftFooter.insertBefore(buttonContainer, giftFooter.firstChild); } }; getLimit = () => { const limitEl = document.querySelector(".giftSelectorView-tabContent.active .giftSelectorView-actionLimit.giftSelectorView-numSendActionsRemaining"); limit = limitEl ? Number.parseInt(limitEl.innerText, 10) : 0; return limit; }; pickFriends = (friends, useRandom = true) => { const selected = []; let sent = 0; if (useRandom) { const bound = friends.length > 35 ? 35 : friends.length; const firstRandom = Math.floor(Math.random() * bound); selected.push(firstRandom); sent++; } let limit2 = getLimit(); while (sent < limit2) { if (selected.length >= friends.length) { break; } if (useRandom) { const random = Math.floor(Math.random() * friends.length); if (selected.includes(random)) { continue; } selected.push(random); } else { selected.push(sent); } sent++; limit2 = getLimit(); } selected.forEach((index) => { friends[index].click(); }); if (getLimit() < 1) { const buttons = document.querySelectorAll(".mh-gift-buttons"); buttons.forEach((button) => { button.classList.add("disabled"); }); } }; addSendButton = (className, text, selector, buttonContainer) => { const existing = document.querySelector(`.mh-gift-buttons-send-${className}`); if (existing) { existing.remove(); } const sendButton = makeElement("button", ["mousehuntActionButton", "tiny", "mh-gift-buttons", `mh-gift-buttons-send-${className}`]); makeElement("span", "mousehuntActionButton-text", text, sendButton); const limit2 = getLimit(); if (limit2 && limit2 < 1) { sendButton.classList.add("disabled"); } sendButton.addEventListener("click", () => { const friends = document.querySelectorAll(selector); if (!friends.length) { return; } if (sendButton.classList.contains("disabled")) { const selectedFriends = document.querySelectorAll(".giftSelectorView-friend.selected"); selectedFriends.forEach((friend) => { friend.click(); }); const buttons = document.querySelectorAll(".mh-gift-buttons.disabled"); buttons.forEach((button) => { button.classList.remove("disabled"); }); return; } if ("faves" === className) { pickFriends(friends, false); } else { pickFriends(friends); } }); buttonContainer.append(sendButton); }; addRandomSendButton = () => { const _selectGift2 = hg.views.GiftSelectorView.selectGift; hg.views.GiftSelectorView.selectGift = (gift) => { _selectGift2(gift); const title = document.querySelector(".giftSelectorView-tabContent.active .selectFriends .giftSelectorView-content-title"); if (!title) { return false; } addSendButton("random", "Select Random Friends", ".giftSelectorView-tabContent.active .giftSelectorView-friend:not(.disabled, .selected)", title); addSendButton("faves", "Select Frequent Gifters", ".giftSelectorView-tabContent.active .giftSelectorView-friend-group.favorite .giftSelectorView-friend:not(.disabled, .selected)", title); }; }; addGiftSwitcher = () => { if (_showTab || _selectGift || _updateGiftMultiplierQuantity) { return; } _showTab = hg.views.GiftSelectorView.showTab; _selectGift = hg.views.GiftSelectorView.selectGift; _updateGiftMultiplierQuantity = hg.views.GiftSelectorView.updateGiftMultiplierQuantity; hg.views.GiftSelectorView.showTab = (tabType, viewState, preserveVariables, preserveActions) => { _showTab(tabType, viewState, preserveVariables, preserveActions); hg.views.GiftSelectorView.updateGiftMultiplierQuantity = (input) => { if (input && input.hasAttribute("maxlength")) { input.removeAttribute("maxlength"); } return _updateGiftMultiplierQuantity(input); }; hg.views.GiftSelectorView.selectGift = (gift) => { _selectGift(gift); const giftContainer = document.querySelector(".giftSelectorView-tabContent.active.selectFriends .giftSelectorView-content-leftBar"); if (!giftContainer) { return false; } const existing = document.querySelector(".mh-gift-buttons-clone-wrapper"); if (existing) { existing.remove(); } const giftType = tabType === "send_free_gifts" ? "gift" : "paidgift"; const gifts = document.querySelectorAll(`.active .selectGift .giftSelectorView-scroller.giftSelectorView-giftContainer .giftSelectorView-gift.sendable.${giftType}`); if (!gifts.length) { return; } const cloneWrapper = makeElement("div", "mh-gift-buttons-clone-wrapper"); gifts.forEach((toClone) => { const clone = toClone.cloneNode(true); const giftWrap = makeElement("div", "giftSelectorView-content-leftBar-highlightBlock"); giftWrap.append(clone); giftWrap.addEventListener("click", () => { const prevSelected = document.querySelectorAll(".mh-gift-buttons-clone-selected"); prevSelected.forEach((el) => { el.classList.remove("mh-gift-buttons-clone-selected"); }); giftWrap.classList.add("mh-gift-buttons-clone-selected"); }); cloneWrapper.append(giftWrap); }); giftContainer.append(cloneWrapper); }; }; }; addButtonsToDropdown = () => { const buttonLink = document.querySelector("#hgbar_freegifts"); if (!buttonLink) { return; } buttonLink.addEventListener("click", () => { makeButtons(); }); }; addButtonsToPopup = () => { const actionRow = document.querySelector(".giftSelectorView-tabContentContainer .giftSelectorView-tabContent.active .giftSelectorView-actionContainer"); if (!actionRow) { return; } const existing = document.querySelector(".mh-gift-buttons-send-popup"); if (existing) { existing.remove(); } const buttons = getButtons("mh-gift-buttons-send-popup", true); actionRow.insertBefore(buttons, actionRow.firstChild); }; main = () => { onRequest("users/socialGift.php", makeButtons); addButtonsToDropdown(); onDialogShow("giftSelectorViewPopup", addButtonsToPopup); addRandomSendButton(); addGiftSwitcher(); fixTypo(); lineBreakGiftFooter(); }; init2 = () => __async(void 0, null, function* () { addStyles(styles_default2, "better-gifts"); main(); onDeactivation("better-gifts", () => { const buttons = document.querySelectorAll(".mh-gift-buttons"); buttons.forEach((button) => { button.remove(); }); }); }); better_gifts_default = { id: "better-gifts", name: "Better Gifts", type: "better", default: true, description: "Quickly accept and return all your gifts as well as picking random friends to send to.", load: init2, settings: settings_default2 }; } }); // src/modules/better-kings-reward/styles.css var styles_default3; var init_styles4 = __esm({ "src/modules/better-kings-reward/styles.css"() { styles_default3 = ".puzzleView__imageContainer{background-color:transparent;border-color:#73332a;border-width:1px}.puzzleView__image img{filter:hue-rotate(333deg);transform:scale(1.3) translate(-10px,5px);transform-origin:left}.puzzleView__requestNewPuzzleButton{background-color:#a35721;opacity:.3;transition:opacity .2s ease-in-out}.puzzleView__requestNewPuzzleButton:hover,.puzzleView__requestNewPuzzleButton:focus{border-color:transparent;opacity:1}.puzzleView__requestNewPuzzleButtonIcon{filter:invert(1);opacity:.8}input.puzzleView__code{font-size:28px;letter-spacing:8px}\n"; } }); // src/modules/better-kings-reward/index.js var honk, continueOnKingsReward, initiateKingsReward, startKingsReward, init3, better_kings_reward_default; var init_better_kings_reward = __esm({ "src/modules/better-kings-reward/index.js"() { init_utils2(); init_styles4(); honk = () => __async(void 0, null, function* () { const horn = document.querySelector(".huntersHornView__horn--ready"); if (!horn) { return; } horn.dispatchEvent(new MouseEvent("mousedown", { bubbles: true })); yield new Promise((resolve) => setTimeout(resolve, 250)); horn.dispatchEvent(new MouseEvent("mouseup", { bubbles: true })); }); continueOnKingsReward = (req) => { if (req.success && req.puzzle_reward) { const resume = document.querySelector(".puzzleView__resumeButton"); if (resume) { resume.click(); setTimeout(honk, 250); } } }; initiateKingsReward = () => { const reward = document.querySelector(".huntersHornMessageView huntersHornMessageView--puzzle .huntersHornMessageView__action"); if (reward) { reward.click(); } }; startKingsReward = () => { const rewardStart = document.querySelector(".huntersHornMessageView--puzzle .huntersHornMessageView__action"); if (rewardStart) { rewardStart.click(); } setTimeout(() => { const puzzle = document.querySelector(".puzzleView__code"); if (puzzle) { puzzle.focus(); } }, 500); }; init3 = () => __async(void 0, null, function* () { addStyles(styles_default3, "better-kings-reward"); onRequest("turns/activeturn.php", initiateKingsReward, true); onRequest("users/puzzle.php", continueOnKingsReward, true); onRequest("*", startKingsReward); startKingsReward(); }); better_kings_reward_default = { id: "better-kings-reward", name: "Better King's Reward", type: "better", default: true, description: "Updates the style of the King's Reward slightly, automatically closes the success message", load: init3 }; } }); // src/modules/better-item-view/hover-item/styles.css var styles_default4; var init_styles5 = __esm({ "src/modules/better-item-view/hover-item/styles.css"() { styles_default4 = "#item-data-wrapper{position:absolute;z-index:999999;box-sizing:border-box;display:block;width:300px;height:100px;background:linear-gradient(#decebb 5%,#f0eddf 50%);border:1px solid #9a8872;border-radius:10px;box-shadow:0 1px 5px -1px #5e5e5e}.item-data-wrapper-loading{display:flex;align-items:flex-end;justify-content:center;height:90%;background-image:url(https://www.mousehuntgame.com/images/ui/loaders/drip_spinner.gif);background-repeat:no-repeat;background-position:center;background-size:55px}#item-data-wrapper .item-data{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;height:95px}#item-data-wrapper .item-image{height:80px;margin-left:10px;background-color:#fff;border:1px solid #25211e;border-radius:5px}#item-data-wrapper .item-text{display:flex;flex-direction:column;justify-content:space-around;height:80px;margin-right:10px}#item-data-wrapper .item-name{width:160px;font-size:12px;font-weight:900}\n"; } }); // src/modules/better-item-view/hover-item/index.js var lastItem, lastItemId, fetchAndFillItemData, debugPopup, itemDataWrapper, isLoading, makeMouseMarkup, main2, hoverMice, hover_item_default; var init_hover_item = __esm({ "src/modules/better-item-view/hover-item/index.js"() { init_utils2(); init_styles5(); fetchAndFillItemData = (itemId) => __async(void 0, null, function* () { var _a; if (isLoading) { return; } isLoading = true; let item; if (lastItemId === itemId) { item = lastItem; } else { const itemDataRequest = yield doRequest("managers/ajax/users/userInventory.php", { action: "get_items", "item_types[]": itemId }); if (!((_a = itemDataRequest == null ? void 0 : itemDataRequest.items) == null ? void 0 : _a.length)) { return; } item = itemDataRequest == null ? void 0 : itemDataRequest.items[0]; lastItem = item; lastItemId = itemId; } const itemData = makeElement("div", "item-data"); const itemImage = makeElement("img", "item-image"); itemImage.src = item.thumbnail; itemData.append(itemImage); const itemText = makeElement("div", "item-text"); makeElement("div", "item-name", item.name, itemText); const quantity = makeElement("div", "item-quanity"); makeElement("span", "", "You own: ", quantity); makeElement("span", "", item.quantity.toLocaleString(), quantity); itemText.append(quantity); const description = makeElement("div", "item-description"); const firstSentence = item.description.match(/[^!.?]+[!.?]/); makeElement("div", "item-description-text", firstSentence ? firstSentence[0] : item.description, description); itemData.append(itemText); itemDataWrapper.innerHTML = itemData.outerHTML; isLoading = false; }); debugPopup = false; isLoading = false; makeMouseMarkup = (itemId, e) => __async(void 0, null, function* () { if (itemDataWrapper) { itemDataWrapper.remove(); } itemDataWrapper = makeElement("div", "item-data-wrapper"); itemDataWrapper.id = "item-data-wrapper"; itemDataWrapper.innerHTML = '<span class="item-data-wrapper-loading">Loading...</span>'; fetchAndFillItemData(itemId); document.body.append(itemDataWrapper); const rect = e.target.getBoundingClientRect(); const top = rect.top + window.scrollY; const left = rect.left + window.scrollX; let tooltipTop = top - itemDataWrapper.offsetHeight - 10; if (tooltipTop < 0) { tooltipTop = top + rect.height + 10; } itemDataWrapper.style.top = `${tooltipTop}px`; itemDataWrapper.style.left = `${left - itemDataWrapper.offsetWidth / 2 + rect.width / 2}px`; if (e.target && !debugPopup) { e.target.addEventListener("mouseleave", () => { itemDataWrapper.remove(); }); } }); main2 = () => { const itemLinks = document.querySelectorAll('.journal .content .entry .journaltext a[onclick*="ItemView.show"]'); if (!itemLinks) { return; } itemLinks.forEach((link) => { const itemType = link.getAttribute("onclick").match(/'([^']+)'/)[1]; link.setAttribute("onclick", `hg.views.ItemView.show('${itemType}'); return false;`); link.addEventListener("mouseover", (e) => { makeMouseMarkup(itemType, e); }); link.addEventListener("mouseout", () => { itemDataWrapper.remove(); }); }); }; hoverMice = () => { addStyles(styles_default4, "better-item-view-hover-mice"); debugPopup = getSetting("debug.hover-popups", false); setTimeout(main2, 500); onRequest("*", () => { setTimeout(main2, 1e3); }); onEvent("dialog-show-item", () => { const hoverItem = document.querySelector("#item-data-wrapper"); if (hoverItem) { hoverItem.remove(); } }); }; hover_item_default = hoverMice; } }); // src/modules/better-item-view/settings/index.js var settings_default3; var init_settings4 = __esm({ "src/modules/better-item-view/settings/index.js"() { settings_default3 = () => __async(void 0, null, function* () { return [ { id: "better-item-view.show-drop-rates", title: "Show drop rates", default: true }, { id: "better-item-view.show-item-hover", title: "Show item details on hover (in journal)", default: true } ]; }); } }); // src/modules/better-item-view/styles.css var styles_default5; var init_styles6 = __esm({ "src/modules/better-item-view/styles.css"() { styles_default5 = '.itemView-titleContainer{height:26px}.itemView-header-name{display:flex;align-items:center;justify-content:space-between}.mh-item-links{display:flex;justify-content:flex-end;margin-right:-10px}.mh-item-links a{margin-right:5px}.itemView-header-name .mh-item-links span{display:inline-block;font-size:11px;font-weight:400}.itemView-has-mhct .mouse-ar-wrapper{display:grid;grid-template-columns:150px auto 50px;place-items:center stretch;padding:5px;margin:5px 0;font-size:12px}.itemView-has-mhct .has-stages .mouse-ar-wrapper{grid-template-columns:110px 140px auto 50px}.itemView-has-mhct .mouse-ar-wrapper div{padding:0 2px}.itemView-has-mhct .mice-ar-wrapper{margin-right:10px}.mouse-ar-wrapper .stage{font-size:10px}.mouse-ar-wrapper .cheese{font-size:11px}.itemView-has-mhct .ar-header{display:flex;align-items:center;justify-content:space-between;height:26px;padding-bottom:2px;margin-top:10px;margin-bottom:10px;font-size:12px;font-weight:900;border-bottom:1px solid #ccc}.itemView-has-mhct .ar-link{font-size:9px}.itemView-has-mhct .rate{text-align:right}.itemView-has-mhct .mouse-ar-wrapper:nth-child(odd){background-color:#e7e7e7}.itemView-has-mhct .itemView-description{font-weight:500;line-height:19px}.itemView-action.crafting_item b{display:none}.itemView-action.crafting_item:before{content:"This can be used to craft other items!"}.itemViewContainer.map_piece .itemView-action-text.map_piece,.itemViewContainer.base .itemView-action-text.base,.itemViewContainer.weapon .itemView-actio-textn.weapon,.itemViewContainer.bait .itemView-action-text.bait,.itemViewContainer.trinket .itemView-action-text.trinket,.itemViewContainer.potion .itemView-action-text.potion,.itemViewContainer.readiness_item .itemView-action-text.readiness_item,.itemViewContainer.convertible .itemView-action-text.convertible,.itemViewContainer.torn_page .itemView-action-text.torn_page,.itemViewContainer.crafting_item .itemView-action-text.crafting_item,.itemViewContainer.collectible .itemView-action-text.collectible,.itemViewContainer.message_item .itemView-action-text.message_item,.itemViewContainer.bonus_loot .itemView-action-text.bonus_loot,.itemViewContainer.stat .itemView-action-text.stat,.itemViewContainer.quest .itemView-action-text.quest,.itemViewContainer.skin .itemView-action-text.skin{display:none!important}.itemViewContainer .shopCustomization .itemViewStatBlock-stat{display:flex;flex-direction:column;align-items:center}.itemViewContainer .itemViewStatBlock-stat{display:flex;flex-direction:row;align-items:center;justify-content:flex-start}.itemViewContainer .itemViewStatBlock-stat-value{flex:1;text-align:left}.itemViewContainer .itemViewStatBlock-stat.cheeseEffect{font-size:9px;text-align:center}.itemViewContainer .itemViewStatBlock.trinket .itemViewStatBlock-padding{display:flex;flex-direction:column;align-items:stretch;width:100px}.itemViewContainer .itemViewStatBlock.trinket{width:100px;font-size:13px}#overlayPopup.itemViewPopup #jsDialogClose{z-index:1}#overlayPopup.itemViewPopup .itemView-header-classification{right:25px}.itemView-actionContainer{display:flex;flex-wrap:wrap;gap:10px}.itemView-action{border-top:none}.itemViewContainer.potion .inventoryPage-item-recipeOptions li{width:365px}.itemView-character-image{width:auto;height:84px;margin-top:-15px;margin-left:-9px}.itemView-character-name{left:-11px;width:75px;font-size:15px}.itemView-padding{margin-left:70px}.itemView-thumbnail.large{margin-left:-15px}input.itemView-action-convert-quantity{width:50px}.itemViewPopup .itemViewStatBlock-padding{flex-direction:column}.itemView-character .itemView-character-image{transition:all .4s ease-out;transform-origin:bottom}.itemView-character:hover .itemView-character-image{transform:scale(1.2) rotate(-10deg) translate(5px)}.itemView-header-classification{visibility:hidden}.itemView-header-classification span{visibility:visible}.itemViewStatBlock-stat{display:flex;align-items:center}.itemView-sidebar-checklistItem:nth-child(1),.itemView-sidebar-checklistItem:nth-child(2),.itemView-sidebar-checklistItem.checked{display:block}.itemView-sidebar-checklistItem{background:url(https://www.mousehuntgame.com/images/icons/bad_idea.png) 1px 4px no-repeat;background-size:14px}.itemView-partsContainer{display:flex;flex-direction:column;align-items:stretch;padding-top:15px;padding-bottom:10px;margin-top:15px;border-top:1px solid #666}.convertibleOpenView-item-imageContainer{margin-right:auto}.convertibleOpenView-itemContainer.num_items_1 .convertibleOpenView-item{gap:20px;width:100%}\n'; } }); // src/modules/better-item-view/index.js var getLinkMarkup, addLinks, updateItemView, init4, better_item_view_default; var init_better_item_view = __esm({ "src/modules/better-item-view/index.js"() { init_utils2(); init_hover_item(); init_settings4(); init_styles6(); getLinkMarkup = (name, id) => { return makeLink("MHCT", `https://www.mhct.win/loot.php?item=${id}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`); }; addLinks = (itemId) => { const title = document.querySelector(".itemView-header-name"); if (!title) { return; } const currentLinks = document.querySelector(".mh-item-links"); if (currentLinks) { currentLinks.remove(); } const div = document.createElement("div"); div.classList.add("mh-item-links"); div.innerHTML = getLinkMarkup(title.innerText, itemId); title.append(div); const values = document.querySelector(".mouseView-values"); const desc = document.querySelector(".mouseView-descriptionContainer"); if (values && desc) { desc.insertBefore(values, desc.firstChild); } }; updateItemView = () => __async(void 0, null, function* () { const itemView = document.querySelector(".itemViewContainer"); if (!itemView) { return; } const itemId = itemView.getAttribute("data-item-id"); if (!itemId) { return; } const sidebar = document.querySelector(".itemView-sidebar"); if (sidebar) { const crafting = document.querySelector(".itemView-action.crafting_item"); if (crafting) { sidebar.append(crafting); } const smashing = document.querySelector(".itemView-partsContainer"); if (smashing) { sidebar.append(smashing); if (smashing.getAttribute("data-has-changed-title")) { return; } const smashingTitle = smashing.querySelector("b"); if (smashingTitle) { smashingTitle.innerText = "Hunter's Hammer to get:"; smashing.setAttribute("data-has-changed-title", "true"); smashing.innerHtml = smashing.innerHTML.replace("If you smash it, you'll get:", ""); } } } addLinks(itemId); if (!getSetting("better-item-view.show-drop-rates", true)) { return; } const id = Number.parseInt(itemId, 10); const ignored = [ 2473, // Mina's gift 823, // party charm 803, // chrome charm 420, // king's credits 1980, // king's keys 585 // scrambles ]; if (ignored.includes(id)) { return; } let mhctJson = yield getArForMouse(itemId, "item"); if (!mhctJson || mhctJson === void 0) { return; } itemView.classList.add("mouseview-has-mhct"); const container = itemView.querySelector(".itemView-padding"); if (!container) { return; } const arWrapper = makeElement("div", "ar-wrapper"); const title = makeElement("div", "ar-header"); const titleText = makeElement("div", "ar-title", "Drop Rates", title); makeTooltip({ appendTo: titleText, text: 'The best location and bait, according to data gathered by <a href="https://mhct.win/" target="_blank" rel="noopener noreferrer">MHCT</a>.' }); const link = makeElement("a", "ar-link", "View on MHCT \u2192"); link.href = `https://www.mhct.win/loot.php?item=${itemId}`; link.target = "_mhct"; title.append(link); arWrapper.append(title); const itemsArWrapper = makeElement("div", "item-ar-wrapper"); const hasStages = mhctJson.some((itemAr) => itemAr.stage); if (hasStages) { itemsArWrapper.classList.add("has-stages"); } mhctJson = mhctJson.filter((itemAr) => Number.parseInt(itemAr.drop_pct, 10) > 0).slice(0, 10); mhctJson.forEach((itemAr) => { const dropPercent = Number.parseInt(itemAr.drop_pct, 10).toFixed(2); if (dropPercent !== "0.00") { const itemArWrapper = makeElement("div", "mouse-ar-wrapper"); makeElement("div", "location", itemAr.location, itemArWrapper); if (hasStages) { makeElement("div", "stage", itemAr.stage, itemArWrapper); } makeElement("div", "cheese", itemAr.cheese, itemArWrapper); makeElement("div", "rate", `${dropPercent}%`, itemArWrapper); itemsArWrapper.append(itemArWrapper); } }); if (mhctJson.length > 0) { arWrapper.append(itemsArWrapper); container.append(arWrapper); } }); init4 = () => __async(void 0, null, function* () { addStyles(styles_default5, "better-item-view"); if (getSetting("better-item-view.show-item-hover", true)) { excludeFromStandaloneUserscript: hover_item_default(); } onOverlayChange({ item: { show: updateItemView } }); }); better_item_view_default = { id: "better-item-view", name: "Better Items", type: "better", default: true, description: "Updates the styles and shows drop rates, links to MHCT, and MH Wiki.", load: init4, settings: settings_default3 }; } }); // src/modules/better-inventory/styles/recipes.css var recipes_default; var init_recipes = __esm({ "src/modules/better-inventory/styles/recipes.css"() { recipes_default = ".inventoryPage-item.full.recipe.known.reordered{max-height:38px;overflow:hidden;border-bottom:1px solid #ccc}.inventoryPage-item.full.recipe.known.reordered:hover{max-height:500px}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent{position:relative}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent-prefix-title{display:none}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent-prefix.clear-block{position:absolute;right:10px}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabHeader-container{margin-bottom:20px}\n"; } }); // src/modules/better-inventory/recipes-me-conversion.json var recipes_me_conversion_default; var init_recipes_me_conversion = __esm({ "src/modules/better-inventory/recipes-me-conversion.json"() { recipes_me_conversion_default = { no: [ "abominable_asiago_cheese_magic", "ancient_cheese_6_pieces", "ancient_cheese_potion", "cherry_potion", "corrupted_radioactive_blue_cheese_potion", "gnarled_cheese_potion", "greater_radioactive_blue_cheese_potion", "limelight_cheese_6", "radioactive_blue_cheese_potion", "runic_cheese_2_pieces", "runic_cheese_potion" ], maybe: [ "ancient_string_cheese_potion", "crimson_cheese_magic_essence_recipe", "gauntlet_potion_2", "gauntlet_potion_3", "gauntlet_potion_4", "glowing_gruyere_cheese_5_pieces", "greater_wicked_gnarly_potion", "rain_cheese_potion", "vengeful_vanilla_stilton_magic_essence", "wicked_gnarly_potion", "wind_cheese_potion" ] }; } }); // src/modules/better-inventory/recipes-to-reorder.json var recipes_to_reorder_default; var init_recipes_to_reorder = __esm({ "src/modules/better-inventory/recipes-to-reorder.json"() { recipes_to_reorder_default = { base: { living_grove_base_recipe: "living_grove_base", polluted_base_rebuild: "polluted_base", soiled_base_rebuild_recipe: "soiled_base", tribal_base: "tribal_base", tiki_base: "tiki_base" }, collectible: { admirals_ship_journal_theme_recipe: "admirals_ship_journal_theme_collectible", bristle_woods_rift_journal_theme_recipe: "bristle_woods_rift_journal_theme_collectible", burroughs_rift_journal_theme_recipe: "burroughs_rift_journal_theme_collectible", chrome_journal_theme_recipe: "chrome_journal_theme_collectible", gnawnian_games_journal_theme_recipe: "gnawnian_games_theme_collectible", labyrinth_journal_theme_recipe: "labyrinth_journal_theme_collectible", lightning_slayer_journal_theme_recipe: "lightning_slayer_journal_theme_collectible", living_garden_theme_recipe: "living_garden_theme_collectible", moussu_picchu_journal_theme_recipe: "moussu_picchu_journal_theme_collectible", polluted_theme_recipe: "completed_polluted_journal_theme_collectible", queso_journal_theme_recipe: "queso_canyon_theme_collectible", regal_theme_recipe: "completed_regal_theme_collectible", relic_hunter_journal_theme_recipe: "relic_hunter_journal_theme_collectible" }, crafting_item: { geyser_draconic_chassis_recipe: "draconic_geyser_chassis_crafting_item", geyser_draconic_chassis_i_recipe: "draconic_geyser_chassis_i_crafting_item", christened_ship: "huntington_map_piece", s_s__huntington_ii: "huntington_map_piece" }, map_piece: { unchristened_ship: "unchristened_ship_craft_item", balacks_lantern: "balack_lantern_map_piece", ocean_navigation_kit: "ocean_navigation_map_piece", zzt_key_1: "zzt_key", repaired_oculus_recipe: "high_altitude_license_stat_item" }, weapon: { chrome_floating_arcane_upgraded_recipe: "chrome_floating_arcane_upgraded_weapon", chrome_monstrobot_recipe: "chrome_monstrobot_weapon", chrome_oasis_water_node_recipe: "chrome_oasis_water_node_weapon", chrome_phantasmic_oasis_recipe: "chrome_phantasmic_oasis_weapon", chrome_school_of_sharks_recipe: "chrome_school_of_sharks_weapon", chrome_sphynx_recipe: "chrome_sphynx_weapon", chrome_storm_wrought_ballista_recipe: "chrome_storm_wrought_ballista_weapon", chrome_temporal_turbine_recipe: "chrome_temporal_turbine_weapon", chrome_thought_obliterator_recipe: "chrome_floating_forgotten_upgraded_weapon", clockapult_of_winter_past: "clockapult_of_winter_past_weapon", geyser_draconic_weapon_recipe: "geyser_draconic_weapon", fluffy_deathbot_weapon: "fluffy_deathbot_weapon", grungy_deathbot_weapon: "grungy_deathbot_weapon", icy_rhinobot: "icy_rhinobot_weapon", ninja_ambush_weapon: "ninja_ambush_weapon", regrown_thorned_venus_mouse_trap: "throned_venus_mouse_trap_weapon", acronym_recipe: "acronym_weapon", ambush_trap_rebuild: "ambush_weapon", rebuild_celestial_dissonance_recipe: "celestial_dissonance_weapon", rebuild_chrome_storm_wrought_ballista_recipe: "chrome_storm_wrought_ballista_weapon", clockapult_of_time_rebuild: "clockapult_of_time_weapon", rebuild_crystal_tower_recipe: "crystal_tower_weapon", digby_drillbot: "digby_drillbot_weapon", dragon_ballista_rebuild: "dragonvine_ballista_weapon", endless_labyrinth_trap_rebuild_recipe: "endless_labyrinth_weapon", event_horizon_recipe: "event_horizon_weapon", harpoon_gun: "harpoon_gun_weapon", rebuild_high_tension_recipe: "high_tension_spring_weapon", ice_blaster_trap_rebuild: "ice_blaster_weapon", wolfsbane_rebuild_recipe: "wolfsbane_weapon", mouse_deathbot: "mouse_deathbot_weapon", net_cannon: "net_cannon_weapon", oasis_water_node_recipe: "oasis_water_node_weapon", obelisk_of_slumber: "obelisk_of_slumber_weapon", rebuild_phantasmic_oasis_recipe: "phantasmic_oasis_weapon", rhinobot_rebuild: "rhinobot_weapon", sandstorm_monstrobot_recipe: "sandstormbot_weapon", rebuild_upgraded_rune_shark_weapon_recipe: "upgraded_rune_shark_weapon", scum_scrubber_trap_rebuild_recipe: "scum_scrubber_weapon", soul_catcher_rebuild: "hween_2011_weapon", sphynx_weapon_recipe: "sphynx_weapon", steam_laser_mk_i_rebuild: "steam_laser_mk_i_weapon", storm_wrought_ballista_recipe: "storm_wrought_ballista_weapon", temporal_turbine_recipe: "temporal_turbine", zugzwangs_last_move: "zugzwangs_last_move_weapon", rebuild_floating_arcane_upgraded_recipe: "floating_arcane_upgraded_weapon", rebuild_thought_obliterator_recipe: "floating_forgotten_upgraded_weapon", venus_mouse_trap: "venus_mouse_trap_weapon" } }; } }); // src/modules/better-inventory/recipes.js var cleanUpRecipeBook, showCraftWarning, warnOnBadCrafts, modifySmashableTooltip, moveRecipe, updateRecipesOnPage, recipes_default2; var init_recipes2 = __esm({ "src/modules/better-inventory/recipes.js"() { init_utils2(); init_recipes(); init_recipes_me_conversion(); init_recipes_to_reorder(); cleanUpRecipeBook = () => { const allTab = document.querySelector(".inventoryPage-tagDirectory-tag.all.hidden"); if (allTab) { allTab.classList.remove("hidden"); } const tagLinks = document.querySelectorAll(".mousehuntHud-page-subTabContent.recipe a.inventoryPage-tagDirectory-tag"); tagLinks.forEach((tagLink) => { const tag = tagLink.getAttribute("data-tag"); tagLink.removeAttribute("onclick"); tagLink.addEventListener("click", (e) => { app.pages.InventoryPage.showTagGroup(e.target); const hasBeenUpdated = tagLink.classList.contains("updated"); if (!hasBeenUpdated) { updateRecipesOnPage(tag); tagLink.classList.add("updated"); } }); }); }; showCraftWarning = (text) => { const confirm2 = document.querySelector(".mousehuntActionButton.inventoryPage-confirmPopup-suffix-button.confirm"); if (!confirm2) { return; } const existing = document.querySelector(".mhui-craft-warning-tooltip"); if (existing) { existing.remove(); } const tooltip = makeElement("div", "mhui-craft-warning-tooltip", text); confirm2.parentNode.append(tooltip); }; warnOnBadCrafts = (limit2 = 0) => { const confirm2 = document.querySelector(".mousehuntActionButton.inventoryPage-confirmPopup-suffix-button.confirm"); if (!confirm2) { if (limit2 <= 3) { setTimeout(() => { warnOnBadCrafts(limit2 + 1); }, 250); } return; } const type = confirm2.getAttribute("data-confirm-type"); if (!type) { return; } if (!("recipe" === type || "potion" === type)) { return; } const popup = document.querySelector(".inventoryPage-confirmPopup"); if (!popup) { return; } const recipe = popup.getAttribute("data-item-type"); if (!recipe) { return; } if ("potion" === type) { const consumed = document.querySelectorAll('.inventoryPage-confirmPopup-itemRow-quantity[data-source="consumed"]'); let hasSB = false; consumed.forEach((item) => { if (item.getAttribute("data-item-type") === "super_brie_cheese") { hasSB = true; } }); if (!hasSB) { return; } } if (recipes_me_conversion_default.no.includes(recipe)) { showCraftWarning("This is not worth crafting using Magic Essence."); } else if (recipes_me_conversion_default.maybe.includes(recipe)) { showCraftWarning("Check the price of SUPER|brie+ before using Magic Essence."); } }; modifySmashableTooltip = () => __async(void 0, null, function* () { if ("crafting" !== getCurrentTab() || "hammer" !== getCurrentSubtab()) { return; } const items2 = document.querySelectorAll(".inventoryPage-item"); if (!items2) { return; } items2.forEach((item) => __async(void 0, null, function* () { const tooltip = item.querySelector(".tooltip"); if (!tooltip) { return; } let producedItem = item.getAttribute("data-produced-item"); if (!producedItem) { return; } item.addEventListener("mouseleave", () => { item.classList.remove("new-tooltip-loading"); }); item.addEventListener("mouseenter", () => __async(void 0, null, function* () { if (item.getAttribute("data-new-tooltip") === "newTooltip") { return; } item.setAttribute("data-new-tooltip", "newTooltip"); producedItem = producedItem.includes(",") ? producedItem.split(",") : [producedItem]; const itemType = item.getAttribute("data-item-type"); producedItem.push(itemType); item.classList.add("new-tooltip-loading"); let itemData = yield cacheGet(`smashable-${producedItem.join("-")}`); if (!itemData) { itemData = yield getUserItems(producedItem); cacheSet(`smashable-${producedItem.join("-")}`, itemData); } if (!itemData || !itemData[0]) { return; } const formattedParts = itemData.find((itemDataItem) => itemDataItem.type === itemType).formatted_parts; if (!formattedParts) { return; } const tooltipWrapper = makeElement("div", ["newTooltip", "tooltip"]); itemData.forEach((itemDataItem) => { const formattedPart = formattedParts.find((formattedPartItem) => formattedPartItem.type === itemDataItem.type); if (!formattedPart) { return; } const name = formattedPart.name; const thumb = formattedPart.thumbnail_transparent || itemDataItem.thumbnail; let quantity = formattedPart.quantity; if ("gold_stat_item" === itemDataItem.type) { const quantityInt = Number.parseInt(quantity); quantity = quantityInt >= 1e6 ? `${Math.floor(quantityInt / 1e5) / 10}m` : quantity.toLocaleString(); } makeElement("div", ["new-tooltip-item", "inventoryPage-item"], ` <div class="inventoryPage-item-margin clear-block"> <div class="inventoryPage-item-imageContainer"> <div class="itemImage"><img src="${thumb}"> <div class="quantity">${quantity}</div> </div> </div> <div class="inventoryPage-item-content-nameContainer"> <div class="inventoryPage-item-content-name"> <span>${name}</span> </div> </div> </div>`, tooltipWrapper); }); tooltip.parentNode.insertBefore(tooltipWrapper, tooltip.nextSibling); item.classList.remove("new-tooltip-loading"); })); })); }); moveRecipe = (type, recipesContainer) => { const recipeEl = document.querySelector(`.inventoryPage-item.recipe[data-produced-item="${type}"]`); if (recipeEl) { recipeEl.classList.add("reordered"); recipesContainer.append(recipeEl); } }; updateRecipesOnPage = (type) => __async(void 0, null, function* () { if (!recipes_to_reorder_default[type] || "recommended" === type) { return; } const recipesContainer = document.querySelector(`.inventoryPage-tagContent-tagGroup[data-tag="${type}"]`); if (!recipesContainer) { return; } const recipesModifying = []; const knownRecipes = document.querySelectorAll(".inventoryPage-tagContent-tagGroup.active .inventoryPage-item.recipe.known"); knownRecipes.forEach((recipe) => { const recipeId = recipe.getAttribute("data-item-type"); recipesModifying.push(recipeId); }); if (recipesModifying.length === 0) { return; } const itemTypes = recipesModifying.map((recipe) => { return recipes_to_reorder_default[type][recipe]; }).filter(Boolean); if (type === "crafting_item") { itemTypes.push("geyser_draconic_weapon"); } const ownedItems = yield getUserItems(itemTypes); ownedItems.forEach((item) => { if (!item.quantity || item.quantity < 1) { return; } if ("geyser_draconic_weapon" === item.type) { moveRecipe("draconic_geyser_chassis_crafting_item", recipesContainer); moveRecipe("draconic_geyser_chassis_i_crafting_item", recipesContainer); } else { moveRecipe(item.type, recipesContainer); } }); }); recipes_default2 = () => __async(void 0, null, function* () { addStyles(recipes_default, "better-inventory-recipes"); onNavigation(cleanUpRecipeBook, { page: "inventory", tab: "crafting", subtab: "recipe" }); onNavigation(modifySmashableTooltip, { page: "inventory", tab: "crafting", subtab: "hammer" }); onEvent("js_dialog_show", warnOnBadCrafts); modifySmashableTooltip(); }); } }); // src/modules/better-inventory/settings/index.js var settings_default4; var init_settings5 = __esm({ "src/modules/better-inventory/settings/index.js"() { settings_default4 = () => __async(void 0, null, function* () { return [ { id: "better-inventory.one-item-per-row", title: "Show one item per row", default: true, description: "" }, { id: "better-inventory.larger-images", title: "Show larger images", default: true, description: "" } ]; }); } }); // src/modules/better-inventory/styles/double-width-item.css var double_width_item_default; var init_double_width_item = __esm({ "src/modules/better-inventory/styles/double-width-item.css"() { double_width_item_default = ".mousehuntHud-page-tabContent.special div[data-tag=adventuring] .inventoryPage-tagContent-listing,.mousehuntHud-page-tabContent.special div[data-tag=convertibles] .inventoryPage-tagContent-listing,.mousehuntHud-page-tabContent.special div[data-tag=spring_hunt] .inventoryPage-tagContent-listing,.mousehuntHud-page-tabContent.special div[data-tag=treasure_chests] .inventoryPage-tagContent-listing{display:grid;grid-template-columns:1fr 1fr;gap:5px;place-items:stretch}.mousehuntHud-page-tabContent.special .inventoryPage-item.full,.mousehuntHud-page-tabContent.special .inventoryPage-item.full:nth-child(odd){display:block;width:282px;margin-right:0;margin-left:0}.mousehuntHud-page-tabContent.special div[data-tag=treasure_chests] .inventoryPage-item-margin.clear-block{height:100%}\n"; } }); // src/modules/better-inventory/styles/full-width-item.css var full_width_item_default; var init_full_width_item = __esm({ "src/modules/better-inventory/styles/full-width-item.css"() { full_width_item_default = ".inventoryPage-item.full{width:100%}.inventoryPage-item-content-action span{display:block;margin-bottom:5px}.mousehuntPage-content .inventoryPage-item-button:nth-child(2){margin-left:0!important}.inventoryPage-item-content-action>span{display:inline-block}.inventoryPage-item.base .itemViewStatBlock.horizontal.base,.inventoryPage-item.weapon .itemViewStatBlock.horizontal.weapon{float:right;width:54%}.inventoryPage-item.base .inventoryPage-item-content-description-text,.inventoryPage-item.weapon .inventoryPage-item-content-description-text{width:45%;height:unset;max-height:115px;overflow-y:auto}\n"; } }); // src/modules/better-inventory/styles/larger-images.css var larger_images_default; var init_larger_images = __esm({ "src/modules/better-inventory/styles/larger-images.css"() { larger_images_default = ".inventoryPage-item.small{width:19%;height:125px;margin-bottom:10px}.inventoryPage-item.small .itemImage,.inventoryPage-item.small .itemImage img{width:80px;height:80px}\n"; } }); // src/modules/better-inventory/styles/styles.css var styles_default6; var init_styles7 = __esm({ "src/modules/better-inventory/styles/styles.css"() { styles_default6 = '.inventoryPage-item.component .inventoryPage-item-imageContainer .itemImage{margin:0 auto;border:none;border-radius:0}.inventoryPage-item-content-action{margin-top:10px 0}.inventoryPage-item-content-description{height:auto}.inventoryPage-item.torn_page .inventoryPage-item-name,.inventoryPage-item.stat .inventoryPage-item-name,.inventoryPage-item.collectible .inventoryPage-item-name,.inventoryPage-item.message_item .inventoryPage-item-name{margin-left:10px}.inventoryPage-item.torn_page .inventoryPage-item-imageContainer,.inventoryPage-item.stat .inventoryPage-item-imageContainer,.inventoryPage-item.collectible .inventoryPage-item-imageContainer,.inventoryPage-item.message_item .inventoryPage-item-imageContainer{margin-top:0}.inventoryPage-item-name{padding:10px;font-size:1.3em;background-color:transparent;border:none}.inventoryPage-item-name abbr{text-decoration:none}.mousehuntHud-page-subTabContent.trinket.show_tags.trinket.active .mousehuntHud-page-subTabContent-prefix:first-child{display:none}.inventoryPage-tagContent-tagTitle{display:flex;align-items:center;padding:0 5px 10px;margin:0;font-size:1.4em;border:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-tagGroup{padding:8px 0 8px 8px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-tagTitle{padding:0 0 10px;font-size:14px;font-weight:400}.mousehuntHud-page-subTabContent.hammer .inventoryPage-tagContent-listing{display:flex;flex-wrap:wrap;place-content:center flex-start;align-items:stretch}.mousehuntHud-page-subTabContent.hammer .mousehuntHud-page-subTabContent.hammer .inventoryPage-item{width:68px;margin:0 3px 0 0;background-color:#fff;border-radius:10px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:nth-child(7n){margin-right:0}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item{height:auto;padding-bottom:0;margin-bottom:0;font-size:9px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .inventoryPage-item-margin{background-color:#e3e3e3;box-shadow:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item .tooltip,.mousehuntHud-page-subTabContent.hammer .inventoryPage-item .newTooltip{display:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip{left:50%;display:flex;gap:10px;align-items:center;justify-content:center;width:auto;min-width:100px;padding:0;border:none;transform:translate(-50%)}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-margin{display:flex;flex-direction:column;align-items:center;background-color:transparent;border:none;box-shadow:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .tooltip .inventoryPage-item-margin{text-align:center;background-color:transparent;outline:none}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item.small .tooltip.newTooltip .itemImage{float:none;width:60px;height:60px;overflow:visible}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item.small .tooltip.newTooltip .itemImage img{width:55px;height:55px}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-content-nameContainer,.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-content-name{height:auto}.mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .newTooltip .inventoryPage-item-content-name span{min-width:60px}a.inventoryPage-item-larryLexicon{display:none}.inventoryPage-item-content-description-text{max-height:125px;padding:0;font-size:10px;line-height:16px;color:#6e6e6e}.inventoryPage-item.base .inventoryPage-item-content-description-text,.inventoryPage-item.weapon .inventoryPage-item-content-description-text,.inventoryPage-item.trinket .inventoryPage-item-content-description-text{height:auto}.inventoryPage-item.full.weapon .quantity,.inventoryPage-item.full.base .quantity{display:none}.inventoryPage-item .itemImage{margin-bottom:10px;overflow:visible}.inventoryPage-item-recipeOptions li{margin-left:5px;background-color:#fffcdb;border-style:solid}.inventoryPage-item.small .itemImage .quantity{overflow:visible}.mousehuntHud-page-subTabContent.recipe .inventoryPage-item .itemImage{display:flex;align-items:center;justify-content:center;height:55px}.mousehuntHud-page-subTabContent.recipe .inventoryPage-item .itemImage img{width:50px;height:50px}.inventoryPage-item-content-description-consumedItem{width:calc(33% - 3px);margin-right:3px}.inventoryPage-item-content-description-consumedItem-image{margin-left:0}.inventoryPage-item-content-description-consumedItem.error{gap:2px;background-color:#f5ddddd1;border-radius:7px}input.inventoryPage-tagDirectory-searchBar-input{width:auto;min-width:50%;margin-right:10px}.mousehuntHud-page-subTabContent-prefix.clear-block{height:25px;color:transparent}.inventoryPage-tagDirectory-searchBar{display:flex;align-items:center;justify-content:space-evenly;padding-right:0;color:transparent}.inventoryPage-item.torn_page .quantity{display:none}.inventoryPage-item.torn_page .itemImage img{width:50px;min-width:unset;height:50px;min-height:unset}.inventoryPage-item.full.torn_page{width:32%;margin:5px}.inventoryPage-item.torn_page .inventoryPage-item-name{padding-right:0;font-size:1em}.inventoryPage-item.torn_page .itemImage{width:40px;height:40px;margin-top:-5px}.inventoryPage-item.torn_page .inventoryPage-item-contentContainer{margin:0}.inventoryPage-item.torn_page .inventoryPage-item-content-action div{display:flex;justify-content:space-around;margin-right:15px}.inventoryPage-item.torn_page .inventoryPage-item-content-description{display:none}.inventoryPage-item.torn_page input.viewFront,.inventoryPage-item.torn_page input.viewBack{display:inline-block;padding:2px 4px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}.inventoryPage-craftingTable-title{display:none}.mousehuntHud-page-subTabContent.crafting_table .inventoryPage-craftingTable{width:20%;background:#f6f3eb;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #d3cecb}.mousehuntHud-page-subTabContent.crafting_table .inventoryPage-item.small .itemImage img{width:70px;height:70px}.mousehuntHud-page-subTabContent.crafting_table .mousehuntHud-page-subTabContent-margin{width:78%}.inventoryPage-craftingTable-slot-item.itemImage{margin-bottom:10px}.inventoryPage-craftingTable-slot-item-controls{display:flex;align-items:center;justify-content:center;height:17px;margin:0;background:transparent;border:1px solid #ccc}.inventoryPage-craftingTable-slot-item-controls input{height:24px;margin-top:-1px}.inventoryPage-craftingTable-action{margin:10px;background:none;border:none}.inventoryPage-craftingTable-slot-item[data-owned="1"] .inventoryPage-craftingTable-slot-item-controls-increment{opacity:.2}.inventoryPage-craftingTable-slot{width:120px;padding:5px;margin:5px;background:#f6f3eb;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #d3cecb}.inventoryPage-craftingTable-slotContainer{display:flex;flex-direction:column;align-content:center;justify-items:center;background-color:#f6f3eb}.inventoryPage-craftingTable-slot-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.inventoryPage-craftingTable-slot-item.empty .inventoryPage-craftingTable-slot-item-controls,.inventoryPage-craftingTable-slot-item.empty .inventoryPage-craftingTable-slot-item-nameContainer{display:none}.inventoryPage-craftingTable-slot-item.empty .inventoryPage-craftingTable-slot-item-name{color:transparent}.inventoryPage-craftingTable-slot-item-quantity{display:none}.inventoryPage-craftingTable-slot-item-name{font-size:11px;font-weight:100}.inventoryPage-craftingTable-slot-item-nameContainer{width:100%;height:auto;margin:5px}.inventoryPage-craftingTable-slot-item img,.inventoryPage-craftingTable-slot-item .itemImage,.inventoryPage-craftingTable-slot-item .itemImage img{width:35px;height:35px}a.inventoryPage-item-larryLexicon.tsitu-lock-convertible{top:5px;right:5px!important;display:flex;align-items:center;justify-content:center;width:17px;height:17px!important;padding:2px;font-size:13px;border:1px solid #bebebe;border-radius:50%;opacity:.5}a.inventoryPage-item-larryLexicon.tsitu-lock-convertible:hover{opacity:1}.inventoryPage-tagContent-tagTitle.tsitu-lock-convertible{position:absolute;top:-10px;right:0}.inventoryPage-item.small.message_item .inventoryPage-item-content-name:after{position:absolute;top:5px;right:2px;width:10px;height:10px;content:"";background-color:#8bf4ed;border-radius:50%}.mhui-craft-warning-tooltip{position:absolute;top:0;left:0;width:auto;padding:10px;font-size:10px;font-weight:900;background:#f5c7c7;border:1px solid #e07878;border-radius:5px;animation:.4s mh-improved-shake-light .7s 1}@media (prefers-reduced-motion: reduce){.mhui-craft-warning-tooltip{animation:none}}#jsDialogAjaxSuffix{position:relative}.inventoryPage-item .itemImage .limitedEdition{top:-1px;left:-5px;z-index:1}#overlayPopup.itemViewPopup .itemViewContainer.message_item .button{margin:10px 0 0}.inventoryPage-item.base .inventoryPage-item-content-description-text,.inventoryPage-item.weapon .inventoryPage-item-content-description-text{max-height:115px;overflow:visible}.inventoryPage-confirmPopup-itemTable{display:flex;flex-direction:column}.inventoryPage-confirmPopup-itemRow-description-name{margin-bottom:5px}.inventoryPage-confirmPopup-itemRow-description-owned{margin-bottom:5px;font-size:12px}.inventoryPage-confirmPopup-itemRow-quantity{font-family:lucida grande,tahoma,verdana,arial,sans-serif}.inventoryPage-item-content-action>span{display:none}.inventoryPage-item .item_set:after{position:absolute;top:8px;right:3px;display:block;width:28px;height:28px;content:"";background-image:url(https://www.mousehuntgame.com/images/items/stats/large/cb301652677b77c9abd3a99622aa3ca7.png);background-repeat:no-repeat;background-size:contain;opacity:.2}.inventoryPage-item:hover .item_set:after{opacity:1}.mh-dark-mode .pageFrameView .itemViewStatBlock{border:none}.mh-dark-mode .inventoryPage-item .item_set:before{color:#2c2c2c}.inventoryPage-item:hover .item_set:before{color:#2c2c2c}.inventoryPage-item.trinket .inventoryPage-item-content-description{min-height:120px}.inventoryPage-item.trinket .itemViewStatBlock.trinket{float:right;width:90px;margin:0 5px}.inventoryPage-item-content-description-text div[style="border: 1px red dotted; padding: 5px; font-size: 10px;"],.inventoryPage-item-content-description-text b[style="color:red; font-size: 14px;"],.inventoryPage-item[data-item-type=rainbow_scroll_case_convertible] .inventoryPage-item-content-description-text br,.inventoryPage-item[data-item-type=party_size_rainbow_scroll_case_convertible] .inventoryPage-item-content-description-text br{display:none}.inventoryPage-item-content-action span{margin-right:5px}.inventoryPage-item.small .inventoryPage-item-margin{border-color:#ccc;border-radius:5px;box-shadow:0 1px 2px -2px #1f1f1f}.inventoryPage-item.small:hover .inventoryPage-item-margin,.inventoryPage-item.small:focus .inventoryPage-item-margin{background-color:#d8f0ff;border-color:#ccc;box-shadow:0 1px 2px -2px #1f1f1f}.mousehuntHud-page-subTabContent.trinket .mousehuntHud-page-subTabContent-prefix{display:none}.new-tooltip-loading:after{position:absolute;inset:0 0 10px;content:"";background:url(https://www.mousehuntgame.com/images/ui/loaders/drip_spinner.gif) center no-repeat,url(https://www.mousehuntgame.com/images/ui/backgrounds/overlay.png) 0 0 repeat;border-radius:10px}.inventoryPage-item.small .tooltip{padding:10px}.inventoryPage-item-content-description-consumedItemContainer{margin-top:0}.crafting .recipe .inventoryPage-item-margin{padding-bottom:0}.crafting .recipe .inventoryPage-item .mousehuntActionButton{padding:2px;margin-top:-5px!important}.crafting .recipe .inventoryPage-item-name{margin-bottom:0}.mousehuntHud-page-subTabContent.crafting_table .inventoryPage-item .inventoryPage-item-margin{padding:0;margin:0}.inventoryPage-item-recipeOptions li.inactive{background:#ededed;opacity:.5}.inventoryPage-item-recipeOptions li.inactive:hover{opacity:1}.inventoryPage-item-recipeOptions li.selected{border-color:#fc6}.inventoryPage-item-recipeOptions li:hover,.inventoryPage-item-recipeOptions li.inactive:hover{border-color:#bbb}.inventoryPage-item.potion .inventoryPage-item-button{margin:5px 0 0 5px}.inventoryPage-item.small:hover .tooltip{max-width:250px}.inventoryPage-item.small:hover .tooltip .description{max-height:58px;overflow:hidden;text-overflow:ellipsis}.inventoryPage-item.small:hover .tooltip .inventoryPage-item-button{margin-top:10px}\n'; } }); // src/modules/better-inventory/index.js var setOpenQuantityOnClick, addOpenAllToConvertible, addItemViewPopupToCollectibles, addArmButtonToCharms, main3, init5, better_inventory_default; var init_better_inventory = __esm({ "src/modules/better-inventory/index.js"() { init_utils2(); init_recipes2(); init_settings5(); init_double_width_item(); init_full_width_item(); init_larger_images(); init_styles7(); setOpenQuantityOnClick = (attempts = 0) => { const qty = document.querySelector(".itemView-action-convertForm"); if (!qty) { if (attempts > 10) { return; } setTimeout(() => { setOpenQuantityOnClick(attempts + 1); }, 200); return; } qty.addEventListener("click", (e) => { if (e.target.tagName === "DIV") { const textQty = e.target.innerText; const qtyArray = textQty.split(" "); let maxNum = qtyArray.at(-1); maxNum = maxNum.replace("Submit", ""); maxNum = Number.parseInt(maxNum); const input = document.querySelector(".itemView-action-convert-quantity"); input.value = maxNum; } }); }; addOpenAllToConvertible = () => { const form = document.querySelector(".convertible .itemView-action-convertForm"); if (!form) { return; } if (form.getAttribute("data-open-all-added")) { return; } form.setAttribute("data-open-all-added", true); const formHTML = form.innerHTML; const formHTMLArray = formHTML.split(" /"); if (!formHTMLArray[1]) { return; } const formHTMLArray2 = formHTMLArray[1].split("<a"); if (!formHTMLArray2[1]) { return; } const quantity = formHTMLArray2[0].trim(); const newFormHTML = `${formHTMLArray[0]}/ <span class="open-all">${quantity}</span><a${formHTMLArray2[1]}`; form.innerHTML = newFormHTML; const openAll = document.querySelector(".open-all"); openAll.addEventListener("click", () => { const input = form.querySelector(".itemView-action-convert-quantity"); if (!input) { return; } input.value = Number.parseInt(input.value, 10) > 200 ? 200 : Number.parseInt(input.value, 10); }); }; addItemViewPopupToCollectibles = () => { const collectibles = document.querySelectorAll(".mousehuntHud-page-subTabContent.collectible .inventoryPage-item.small"); if (!collectibles.length) { return; } collectibles.forEach((collectible) => { const type = collectible.getAttribute("data-item-type"); if (!type) { return; } if ("message_item" === collectible.getAttribute("data-item-classification")) { return; } collectible.setAttribute("onclick", ""); collectible.addEventListener("click", (e) => { e.preventDefault(); hg.views.ItemView.show(type); }); }); }; addArmButtonToCharms = () => { if ("inventory" !== getCurrentPage() || "traps" !== getCurrentTab() || "trinket" !== getCurrentSubtab()) { return; } const charms = document.querySelectorAll(".inventoryPage-item.trinket"); if (!charms.length) { return; } charms.forEach((charm) => { const existingArmButton = charm.querySelector(".inventoryPage-item-imageContainer-action"); if (existingArmButton) { return; } const actionContainer = charm.querySelector(".inventoryPage-item-imageContainer"); if (!actionContainer) { return; } const armButton = makeElement("div", "inventoryPage-item-imageContainer-action"); armButton.setAttribute("onclick", "app.pages.InventoryPage.armItem(this); return false;"); actionContainer.append(armButton); }); }; main3 = () => { onOverlayChange({ item: { show: setOpenQuantityOnClick } }); if ("item" === getCurrentPage()) { setOpenQuantityOnClick(); } addOpenAllToConvertible(); addItemViewPopupToCollectibles(); addArmButtonToCharms(); onNavigation(() => { addOpenAllToConvertible(); addItemViewPopupToCollectibles(); addArmButtonToCharms(); }, { page: "inventory" }); onEvent("js_dialog_show", addOpenAllToConvertible); recipes_default2(); }; init5 = () => __async(void 0, null, function* () { addStyles([ styles_default6, getSetting("better-inventory.one-item-per-row", true) ? full_width_item_default : double_width_item_default, getSetting("better-inventory.larger-images", true) ? larger_images_default : "" ], "better-inventory"); main3(); }); better_inventory_default = { id: "better-inventory", name: "Better Inventory", type: "better", default: true, description: "Updates the inventory layout and styling.", load: init5, settings: settings_default4 }; } }); // src/modules/better-maps/settings/index.js var settings_default5; var init_settings6 = __esm({ "src/modules/better-maps/settings/index.js"() { settings_default5 = () => __async(void 0, null, function* () { return [ { id: "better-maps.default-to-sorted", title: "Default to Sorted tab" }, { id: "better-maps.show-sidebar-goals", title: "Show map goals in sidebar" } ]; }); } }); // src/modules/better-maps/modules/helper.js var openMiniMap, makeMenuItem, helper_default; var init_helper = __esm({ "src/modules/better-maps/modules/helper.js"() { init_utils2(); openMiniMap = (mapId) => __async(void 0, null, function* () { const mapData3 = yield doRequest("managers/ajax/users/treasuremap.php", { action: "map_info", map_id: mapId }); const t = mapData3.treasure_map; const mappedGoals = t.goals.mouse.map((m) => { return `<div class="mouse"> <div class="unique_id">${m.unique_id}</div> <div class="model_type">${m.model_type}</div> <div class="type">${m.type}</div> <div class="name">${m.name}</div> <div class="small">${m.small}</div> <div class="large">${m.large}</div> <div class="group">${m.group}</div> <div class="sub_group">${m.sub_group}</div> <div class="is_landscape">${m.is_landscape}</div> <div class="environment_ids">${m.environment_ids.join(", ")}</div> </div>`; }).join(""); const mappedHunters = t.hunters.map((h) => { return `<div class="hunter"> <div class="name">${h.name}</div> <div class="user_id">${h.user_id}</div> <div class="sn_user_id">${h.sn_user_id}</div> <div class="profile_pic">${h.profile_pic}</div> <div class="environment_name">${h.environment_name}</div> <div class="environment_id">${h.environment_id}</div> <div class="environment_icon">${h.environment_icon}</div> <div class="is_online">${h.is_online}</div> <div class="last_active_formatted">${h.last_active_formatted}</div> <div class="base_name">${h.base_name}</div> <div class="base_thumb">${h.base_thumb}</div> <div class="weapon_name">${h.weapon_name}</div> <div class="weapon_thumb">${h.weapon_thumb}</div> <div class="bait_name">${h.bait_name}</div> <div class="bait_thumb">${h.bait_thumb}</div> <div class="trinket_name">${h.trinket_name}</div> <div class="trinket_thumb">${h.trinket_thumb}</div> <div class="is_active">${h.is_active}</div> <div class="display_order">${h.display_order}</div> <div class="captain">${h.captain}</div> <div class="upgrader">${h.upgrader}</div> </div>`; }).join(""); const mappedEnvironments = t.environments.map((e) => { return `<div class="environment"> ${e.name} (${e.type}) <div class="thumb">${e.thumb}</div> <div class="header">${e.header}</div> </div>`; }).join(""); createPopup({ title: "map", content: `<div class="mh-improved-map-helper-popup-content"> <div class="row"> <div class="title"> map_id </div> <div class="value"> ${t.map_id} </div> </div> <div class="row"> <div class="title"> map_class </div> <div class="value"> ${t.map_class} </div> </div> <div class="row"> <div class="title"> map_type </div> <div class="value"> ${t.map_type} </div> </div> <div class="row"> <div class="title"> invite_mode </div> <div class="value"> ${t.invite_mode} (${t.invite_mode_names[t.invite_mode]} - ${t.invite_mode_descriptions[t.invite_mode]}) </div> </div> <div class="row"> <div class="title"> is_listed </div> <div class="value"> ${t.is_listed} </div> </div> <div class="row"> <div class="title"> name </div> <div class="value"> ${t.name} </div> </div> <div class="row"> <div class="title"> thumb </div> <div class="value"> ${t.thumb} </div> </div> <div class="row"> <div class="title"> quality </div> <div class="value"> ${t.quality} </div> </div> <div class="row"> <div class="title"> is_upgraded </div> <div class="value"> ${t.is_upgraded} </div> </div> <div class="row"> <div class="title"> is_complete </div> <div class="value"> ${t.is_complete} </div> </div> <div class="row"> <div class="title"> is_owner </div> <div class="value"> ${t.is_owner} </div> </div> <div class="row"> <div class="title"> num_active_hunters </div> <div class="value"> ${t.num_active_hunters} </div> </div> <div class="row"> <div class="title"> viewing_user_is_on_map </div> <div class="value"> ${t.viewing_user_is_on_map} </div> </div> <div class="row"> <div class="title"> min_title_name </div> <div class="value"> ${t.min_title_name} </div> </div> <div class="row"> <div class="title"> min_title_wisdom </div> <div class="value"> ${t.min_title_wisdom} </div> </div> <div class="row"> <div class="title"> max_hunters </div> <div class="value"> ${t.max_hunters} </div> </div> <div class="row"> <div class="title"> invited_hunters </div> <div class="value"> ${t.invited_hunters.join(", ")} </div> </div> <div class="row"> <div class="title"> invite_requests </div> <div class="value"> ${t.invite_requests.join(", ")} </div> </div> <div class="row"> <div class="title"> goals.mouse </div> <div class="value"> ${mappedGoals} </div> </div> <div class="row"> <div class="title"> hunters </div> <div class="value"> ${mappedHunters} </div> </div> <div class="row"> <div class="title"> environments </div> <div class="value"> ${mappedEnvironments} </div> </div> </div>`, className: "mh-improved-map-helper-popup", show: true }); }); makeMenuItem = () => { var _a, _b, _c, _d, _e, _f, _g, _h; removeSubmenuItem("mh-improved-map-helper"); const mapId = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.default_map_id; if (!mapId) { return; } addSubmenuItem({ id: "mh-improved-map-helper", menu: "camp", label: `<span class="title">${(_d = (_c = user == null ? void 0 : user.quests) == null ? void 0 : _c.QuestRelicHunter) == null ? void 0 : _d.label}</span><span class="subtitle">${(_f = (_e = user == null ? void 0 : user.quests) == null ? void 0 : _e.QuestRelicHunter) == null ? void 0 : _f.value}</span>`, icon: ((_h = (_g = user == null ? void 0 : user.quests) == null ? void 0 : _g.QuestRelicHunter) == null ? void 0 : _h.image) || "https://www.mousehuntgame.com/images/items/convertibles/large/bfca4a1c658e49903654d0a84f52c9fd.png", callback: () => { openMiniMap(mapId); } }); }; helper_default = () => { makeMenuItem(); onRequest("*", makeMenuItem); }; } }); // src/modules/better-maps/modules/toggle-ar.js var addArDataToMap, toggleAr, clickArToggle, maybeClickArToggle, isAdding, addArToggle, removeArToggle; var init_toggle_ar = __esm({ "src/modules/better-maps/modules/toggle-ar.js"() { init_utils2(); addArDataToMap = (mapData3) => __async(void 0, null, function* () { var _a, _b; let type = "mouse"; if (((_a = mapData3 == null ? void 0 : mapData3.goals) == null ? void 0 : _a.mouse.length) === 0) { type = "item"; } const mice = ((_b = mapData3 == null ? void 0 : mapData3.goals) == null ? void 0 : _b[type]) || []; if (!mice || mice.length === 0) { return; } const goals = document.querySelectorAll(".treasureMapView-goals-groups"); if (goals && goals.length > 0) { let hasAdded = false; goals.forEach((goal) => { if (goal.classList.contains("mh-ui-ar-hidden")) { goal.classList.remove("mh-ui-ar-hidden"); hasAdded = true; } }); if (hasAdded) { return; } } mice.forEach((mouse) => __async(void 0, null, function* () { const mouseEl = document.querySelector(`.treasureMapView-goals-group-goal[data-unique-id="${mouse.unique_id}"]`); if (!mouseEl) { return; } if (mouseEl.classList.contains("complete")) { return; } const name = mouseEl.querySelector(".treasureMapView-goals-group-goal-name"); if (!name) { return; } const existingArEl = name.querySelectorAll(".mh-ui-ar"); if (existingArEl.length > 0) { existingArEl.forEach((el) => { el.remove(); }); } const arEl = yield getArEl(mouse.unique_id, type); if (!arEl) { return; } name.append(arEl); mouseEl.setAttribute("data-mh-ui-ar", true); })); }); toggleAr = () => __async(void 0, null, function* () { const mapView = document.querySelector(".treasureMapView"); if (!mapView) { return; } const toggle = mapView.querySelector(".mh-ui-toggle-ar-button"); if (!toggle) { return; } toggle.classList.add("disabled"); const text = toggle.querySelector(".toggle-ar-text"); if (!text) { return; } let arText = "AR"; let arTitle = "Attraction Rates"; const mapClass = mapView.classList.toString(); if (mapClass.includes("scavenger")) { arText = "DR"; arTitle = "Drop Rates"; } const showing = mapView.classList.contains("mh-ui-ar-showing"); if (showing) { mapView.classList.remove("mh-ui-ar-showing"); mapView.classList.add("mh-ui-ar-hidden"); text.innerText = `Show ${arText}`; toggle.title = `Show ${arTitle}`; } else { mapView.classList.add("mh-ui-ar-showing"); mapView.classList.remove("mh-ui-ar-hidden"); text.innerText = "\xB7\xB7\xB7"; yield addArDataToMap(mapper("mapData")); text.innerText = `Hide ${arText}`; toggle.title = `Hide ${arTitle}`; } toggle.classList.remove("disabled"); }); clickArToggle = () => { const mapView = document.querySelector(".treasureMapView"); if (!mapView) { return; } const toggle = mapView.querySelector(".mh-ui-toggle-ar-button"); if (!toggle) { return; } toggle.click(); }; maybeClickArToggle = () => { const mapView = document.querySelector(".treasureMapView"); if (!mapView) { return; } const toggle = mapView.querySelector(".mh-ui-toggle-ar-button"); if (!toggle) { return; } const showing = mapView.classList.contains("mh-ui-ar-showing"); const currentButtonState = toggle.querySelector(".toggle-ar-text").innerText.replace("AR", "").replace("DR", "").trim(); if (showing && currentButtonState !== "Hide") { clickArToggle(); } else if (!showing && currentButtonState !== "Show") { clickArToggle(); } }; isAdding = false; addArToggle = (tab = "goals") => __async(void 0, null, function* () { const mapView = document.querySelector(".treasureMapView"); if (!mapView) { return; } if (isAdding && tab === isAdding) { return; } isAdding = tab; const exists = document.querySelector(".mh-ui-toggle-ar-button"); if (exists) { exists.classList.remove("hidden"); if ("goals" === tab && mapView.classList.contains("mh-ui-ar-showing")) { addArDataToMap(mapper("mapData")); } isAdding = false; return; } const wrapper = document.querySelector(".treasureMapRootView-subTabRow"); if (!wrapper) { isAdding = false; return; } const toggle = makeElement("button", ["mousehuntActionButton", "tiny", "mh-ui-toggle-ar-button"]); let arText = "AR"; let arTitle = "Attraction Rates"; if (mapper("mapData").is_scavenger_hunt) { arText = "DR"; arTitle = "Drop Rates"; } makeElement("span", "toggle-ar-text", `Show ${arText}`, toggle); toggle.title = `Show ${arTitle}`; toggle.addEventListener("click", toggleAr); wrapper.append(toggle); yield toggleAr(); maybeClickArToggle(); isAdding = false; }); removeArToggle = () => { const toggle = document.querySelector(".mh-ui-toggle-ar-button"); if (toggle) { toggle.classList.add("hidden"); } }; } }); // src/modules/better-maps/modules/highlighting.js var areaHighlightingVrift, areaHighlightingFrox, areaHighlightingFloatingIslands, getProfilePic, addProfilePicToCurrentFloor, highlighting_default; var init_highlighting = __esm({ "src/modules/better-maps/modules/highlighting.js"() { init_utils2(); areaHighlightingVrift = () => { if ("rift_valour" !== getCurrentLocation()) { return false; } let currentFloorState = (user.quests.QuestRiftValour.floor || 0) % 8; if (user.quests.QuestRiftValour.is_at_eclipse) { currentFloorState = "eclipse"; if (user.enviroment_atts.active_augmentations.tu) { currentFloorState = "eclipse-uu"; } } else if ("farming" === user.quests.QuestRiftValour.state) { currentFloorState = "outside"; } const floorCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-vrift-${currentFloorState}`); if (!floorCategory) { return false; } floorCategory.classList.add("mouse-category-current-floor"); return true; }; areaHighlightingFrox = () => { if ("fort_rox" !== getCurrentLocation()) { return false; } let mapArea = "day"; if (user.quests.QuestFortRox) { const phase = user.quests.QuestFortRox.current_phase || "day"; if ("day" === phase) { mapArea = "day"; } else if ("dawn" === phase) { mapArea = "dawn"; } else if ("night" === phase) { mapArea = "night"; } } const floorCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-${mapArea}`); if (!floorCategory) { return false; } floorCategory.classList.add("mouse-category-current-floor"); return true; }; areaHighlightingFloatingIslands = () => { var _a, _b; if ("floating_islands" !== getCurrentLocation()) { return false; } const fiAtts = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) || {}; let islandType = ""; if (fiAtts.is_high_tier_island) { islandType = "hai"; } else if (fiAtts.is_low_tier_island) { islandType = "lai"; } else if (fiAtts.is_vault_island) { islandType = "sp"; } const powerTypeMappings = { arcn: "arcane", frgttn: "forgotten", hdr: "hydro", shdw: "shadow", drcnc: "draconic", law: "law", phscl: "physical", tctcl: "tactical" }; const islandPowerType = powerTypeMappings[fiAtts.island_power_type] || ""; const floorCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-esp-${islandPowerType}`); if (!floorCategory) { return false; } floorCategory.classList.add("mouse-category-current-floor"); const floorSubCategory = document.querySelector(`.mouse-category-wrapper.mouse-category-esp-${islandPowerType} .mouse-subcategory-${islandType}`); if (floorSubCategory) { floorSubCategory.classList.add("mouse-subcategory-current-floor"); } return true; }; getProfilePic = () => __async(void 0, null, function* () { var _a, _b; const userData = yield doRequest("managers/ajax/pages/friends.php", { action: "get_friends_by_snuids", "snuids[]": user.sn_user_id }); return ((_b = (_a = userData == null ? void 0 : userData.friends) == null ? void 0 : _a[0]) == null ? void 0 : _b.profile_pic) || "https://www.mousehuntgame.com//images/ui/friends/anonymous_user.png"; }); addProfilePicToCurrentFloor = () => __async(void 0, null, function* () { const existing = document.querySelector("#mh-mapper-current-floor-profile-pic"); if (existing) { return; } const profPic = yield getProfilePic(); const styleElement = document.createElement("style"); styleElement.id = "mh-mapper-current-floor-profile-pic"; styleElement.innerHTML = `.mouse-category-wrapper.mouse-category-current-floor .mouse-category-header::after, .mouse-subcategory-wrapper.mouse-subcategory-current-floor .mouse-subcategory-header::after { background-image: url(${profPic}); }`; document.body.append(styleElement); }); highlighting_default = () => { const data = mapData(); if (!data) { return; } const mapType = data.map_type; const existing = document.querySelector(".mouse-category-current-floor"); if (existing) { existing.classList.remove("mouse-category-current-floor"); } let added = false; switch (mapType) { case "sky_palace": added = areaHighlightingFloatingIslands(); break; case "fort_rox": added = areaHighlightingFrox(); break; case "valour_rift": added = areaHighlightingVrift(); break; default: break; } if (added) { addProfilePicToCurrentFloor(); } }; } }); // src/data/map-groups.json var map_groups_default; var init_map_groups = __esm({ "src/data/map-groups.json"() { map_groups_default = { sky_palace: { categories: [ { name: "Arcane", id: "esp-arcane", icon: "/powertypes/arcane.png", color: "#b4ffff", mice: [ "sky_dancer", "sky_glass_glazier", "sky_glass_sorcerer", { mouse: "arcane_paragon", subcategory: "hai" }, { mouse: "sky_highborne", subcategory: "hai" }, { mouse: "empyrean_arcane_mouse", subcategory: "sp" } ] }, { name: "Draconic", id: "esp-draconic", icon: "/powertypes/draconic.png", color: "#cf9e64", mice: [ "dragon_breather", "dragon_lancer", "tiny_dragonfly", { mouse: "draconic_paragon", subcategory: "hai" }, { mouse: "regal_spearman", subcategory: "hai" }, { mouse: "empyrean_draconic_mouse", subcategory: "sp" } ] }, { name: "Forgotten", id: "esp-forgotten", icon: "/powertypes/forgotten.png", color: "#c37aa1", mice: [ "cumulost", "spry_sky_explorer", "spry_sky_seer", { mouse: "forgotten_paragon", subcategory: "hai" }, { mouse: "spheric_diviner", subcategory: "hai" }, { mouse: "empyrean_forgotten_mouse", subcategory: "sp" } ] }, { name: "Hydro", id: "esp-hydro", icon: "/powertypes/hydro.png", color: "#a0dcff", mice: [ "cute_cloud_conjurer", "nimbomancer", "sky_surfer", { mouse: "hydro_paragon", subcategory: "hai" }, { mouse: "mist_maker", subcategory: "hai" }, { mouse: "empyrean_hydro_mouse", subcategory: "sp" } ] }, { name: "Law", id: "esp-law", icon: "/powertypes/law.png", color: "#efcf86", mice: [ "devious_gentleman", "lawbender", "stack_of_thieves", { mouse: "law_paragon", subcategory: "hai" }, { mouse: "agent_m", subcategory: "hai" }, { mouse: "empyrean_law_mouse", subcategory: "sp" } ] }, { name: "Physical", id: "esp-physical", icon: "/powertypes/physical.png", color: "#d98181", mice: [ "ground_gavaleer", "heracles", "sky_swordsman", { mouse: "physical_paragon", subcategory: "hai" }, { mouse: "sky_squire", subcategory: "hai" }, { mouse: "empyrean_physical_mouse", subcategory: "sp" } ] }, { name: "Shadow", id: "esp-shadow", icon: "/powertypes/shadow.png", color: "#a4c0c1", mice: [ "astrological_astronomer", "overcaster", "stratocaster", { mouse: "shadow_paragon", subcategory: "hai" }, { mouse: "shadow_sage", subcategory: "hai" }, { mouse: "empyrean_shadow_mouse", subcategory: "sp" } ] }, { name: "Tactical", id: "esp-tactical", icon: "/powertypes/tactical.png", color: "#cc8282", mice: [ "gyrologer", "seasoned_islandographer", "worried_wayfinder", { mouse: "tactical_paragon", subcategory: "hai" }, { mouse: "captain_cloudkicker", subcategory: "hai" }, { mouse: "empyrean_tactical_mouse", subcategory: "sp" } ] }, { name: "Sky Palace", id: "esp-sky_palace", icon: "/items/stats/large/dd362c178b67d5e45fda7b2da273e7d6.png", color: "#a3fec4", mice: [ "empyrean_charm_hoarder", "empyrean_oreglass_miner", "empyrean_cloudstone_miner", "empyrean_treasure_guardian" ] }, { name: "Pirates", id: "esp-pirates", icon: "/items/bait/large/1e7bf5043a13043d8f1d05a752d55469.png", color: "#f173bf", mice: [ "admiral_cloudbeard", "cutthroat_cannoneer", "cutthroat_pirate", "mairitime_pirate", "empyrean_pirate", "scarlet_revenger", "suave_pirate" ] }, { name: "Other", icon: "/items/stats/large/66b6a6a48a0c83cec5a15a286bd17749.png", color: "#", mice: [ "daydreamer", "kite_flyer", "richard_rich", "empyrean_loot_cache_guardian" ] }, { name: "Wardens", id: "esp-wardens", icon: "/items/convertibles/large/017121852a8cc100b40bdaeae01485db.png", color: "#d3bdd3", mice: [ "fog_warden", "frost_warden", "rain_warden", "wind_warden" ] }, { name: "Launchpad", id: "esp-launchpad", icon: "/items/stats/large/66b6a6a48a0c83cec5a15a286bd17749.png", color: "#c2c2c2", mice: [ "cloud_miner", "launchpad_labourer", "sky_greaser", "skydiver" ] } ], subcategories: [ { id: "hai", name: "High Altitude Island" }, { id: "sp", name: "Sky Palace" } ] }, farming_and_fishing: { categories: [ { name: "Farm", id: "fofo-farm", icon: "/folklore_forest_upgrades/farm_plot_2_thumb.png", color: "#d7b18b", mice: [ "angry_aphid", "crazed_cultivator", "grit_grifter", "mighty_mite", "root_rummager", "wily_weevil", { mouse: "crazed_cultivator", subcategory: "sb" }, { mouse: "land_loafer", subcategory: "zero-plants" }, { mouse: "loathsome_locust", subcategory: "three-papyrus" } ] }, { name: "Prologue Pond", id: "fofo-pond", icon: "/folklore_forest_upgrades/tackle_box_thumb.png", color: "#c3def5", mice: [ "beachcomber", "sand_sifter", "tackle_tracker", { mouse: "covetous_coastguard", subcategory: "sb" } ] }, { name: "Prologue Pond", subtitle: "Grubben", icon: "/items/bait/large/90d54a45bde5a369b22d53ee5362e701.png", color: "#fbc3fa", mice: [ "pompous_perch", "careless_catfish", "melodramatic_minnow" ] }, { name: "Prologue Pond", subtitle: "Clamebert", icon: "/items/bait/large/bdef6fb2ed84af400a941e2fd1b0ec03.png", color: "#f3e0ff", mice: [ "nefarious_nautilus", "vicious_vampire_squid", "sinister_squid" ] }, { name: "Bosses", id: "fofo-bosses", icon: "/items/stats/large/262ee00dd81b7fbdf7a5a88b347e7847.png", color: "#fde671", mice: [ "monstrous_midge", "architeuthulhu_of_the_abyss" ] } ], subcategories: [ { id: "sb", name: "SUPER|brie+" }, { id: "zero-plants", name: "Zero Plants" }, { id: "three-papyrus", name: "Three Papyrus Plants" } ] }, folklore_forest_prelude: { categories: [ { name: "Farm", id: "fofo-farm", icon: "/folklore_forest_upgrades/farm_plot_2_thumb.png", color: "#d7b18b", mice: [ "angry_aphid", "grit_grifter", "crazed_cultivator", "mighty_mite", "wily_weevil", { mouse: "crazed_cultivator", subcategory: "sb" }, { mouse: "land_loafer", subcategory: "zero-plants" }, { mouse: "loathsome_locust", subcategory: "three-papyrus" } ] }, { name: "Prologue Pond", id: "fofo-pond", icon: "/folklore_forest_upgrades/tackle_box_thumb.png", color: "#c3def5", mice: [ "beachcomber", "sand_sifter", "tackle_tracker", { mouse: "covetous_coastguard", subcategory: "sb" } ] }, { name: "Prologue Pond", subtitle: "Grubben", icon: "/items/bait/large/90d54a45bde5a369b22d53ee5362e701.png", color: "#fbc3fa", mice: [ "pompous_perch", "careless_catfish", "melodramatic_minnow" ] }, { name: "Prologue Pond", subtitle: "Clamebert", icon: "/items/bait/large/bdef6fb2ed84af400a941e2fd1b0ec03.png", color: "#f3e0ff", mice: [ "nefarious_nautilus", "vicious_vampire_squid", "sinister_squid" ] }, { name: "Table of Contents", subtitle: "Not Writing", id: "fofo-toc-not-writing", icon: "/folklore_forest_upgrades/silver_quill_thumb.png", mice: [ "brothers_grimmaus", "hans_cheesetian_squeakersen", "madame_dormouse", { mouse: "matriarch_gander", subcategory: "sb" } ] }, { name: "Table of Contents", subtitle: "Writing", id: "fofo-toc-writing", icon: "/folklore_forest_upgrades/golden_quill_thumb.png", color: "#e9c390", mice: [ "humphrey_dumphrey", "little_bo_squeak", "little_miss_fluffet" ] }, { name: "Table of Contents", subtitle: "Writing - First Draft", id: "fofo-toc-first-draft", icon: "/items/bait/large/9782ba50ed4c64f8f8412563cf2ce709.png", mice: [ "fibbocchio", "pinkielina", "princess_and_the_olive" ] }, { name: "Table of Contents", subtitle: "Writing - Second Draft", id: "fofo-toc-second-draft", icon: "/items/bait/large/e0cb22771eba37bf047a801edbf7f91e.png", mice: [ "flamboyant_flautist", "greenbeard", "ice_regent" ] }, { name: "Bosses", id: "fofo-bosses", icon: "/items/stats/large/262ee00dd81b7fbdf7a5a88b347e7847.png", color: "#fde671", mice: [ "bitter_grammarian", "mythweaver", "monstrous_midge", "architeuthulhu_of_the_abyss" ] } ], subcategories: [ { id: "sb", name: "SUPER|brie+" }, { id: "zero-plants", name: "Zero Plants" }, { id: "three-papyrus", name: "Three Papyrus Plants" } ] }, valour_rift: { categories: [ { name: "Puppetry", subtitle: "Floors 1, 9, 17, 25", id: "vrift-1", color: "#EAF2D3", mice: [ "rift_gaunt_puppet", "rift_gaunt_puppet_champ" ] }, { name: "Thievery", subtitle: "Floors 2, 10, 18, 26", id: "vrift-2", color: "#acf28d", mice: [ "rift_gaunt_thief", "rift_gaunt_thief_champ" ] }, { name: "Melee", subtitle: "Floors 3, 11, 19, 27", id: "vrift-3", color: "#FCE5CD", mice: [ "rift_gaunt_melee", "rift_gaunt_melee_champ" ] }, { name: "Bard", subtitle: "Floors 4, 12, 20, 28", id: "vrift-4", color: "#F6B26B", mice: [ "rift_gaunt_bard", "rift_gaunt_bard_champ" ] }, { name: "Magic", subtitle: "Floors 5, 13, 21, 29", id: "vrift-5", color: "#F9CB9C", mice: [ "rift_gaunt_magic", "rift_gaunt_magic_champ" ] }, { name: "Noble", subtitle: "Floors 6, 14, 22, 30", id: "vrift-6", color: "#F4CCCC", mice: [ "rift_gaunt_noble", "rift_gaunt_noble_champ" ] }, { name: "Dusty", subtitle: "Floors 7, 15, 23, 31", id: "vrift-7", color: "#E06666", mice: [ "rift_gaunt_dust", "rift_gaunt_dust_champ" ] }, { name: "Non-UU", id: "vrift-eclipse", color: "#EA9999", mice: [ "rift_gaunt_eclipse" ] }, { name: "Ultimate Umbra", id: "vrift-eclipse-uu", color: "#ff8181", mice: [ "rift_gaunt_monster", "rift_gaunt_final_eclipse" ] }, { name: "Other", id: "vrift-other", color: "#B6D7A8", mice: [ "rift_gaunt_generic_one", "rift_gaunt_generic_three", "rift_gaunt_generic_two", "rift_gaunt_prestige_low", "rift_gaunt_prestige_med", "rift_gaunt_prestige_high", "rift_gaunt_rare" ] }, { name: "Outside", id: "vrift-outside", icon: "", color: "#d0def7", mice: [ "rift_gaunt_elixir_one", "rift_gaunt_elixir_two" ] } ], subcategories: [] }, rift_stalkers: { categories: [ { name: "Gnawnia Rift", color: "#f7e8f9", mice: [ "rift_white", "rift_dwarf", "rift_diamond", "rift_gold" ] }, { name: "Furoma Rift", subtitle: "Training Grounds", color: "#e5a571", mice: [ "rift_samurai", "rift_kung_fu", "rift_worker", "rift_ninja", "rift_dumpling_chef", "rift_archer" ] }, { name: "Furoma Rift", subtitle: "Pagoda", color: "#cb7136", mice: [ "rift_assassin", "rift_monk", "rift_fang_student", "rift_belt_student", "rift_claw_student", "rift_dojo_sensei", "rift_fang_master", "rift_claw_master", "rift_belt_master", "rift_dojo_master" ] }, { name: "Bristle Woods Rift", mice: [ "rift_acolyte", "rift_chrono", "rift_gargoyle", "rift_golem", "rift_gorgon", "rift_keeper", "rift_keepers_assistant", "rift_lich", "rift_ooze", "rift_reaper", "rift_scavenger", "rift_skeleton", "rift_sorcerer", "rift_spectre", "rift_spider", "rift_terror_knight", "rift_wight" ] } ] }, rift_walkers: { categories: [ { name: "Gnawnia Rift", color: "#f7e8f9", mice: [ "rift_field", "rift_bionic", "rift_granite", "rift_steel", "rift_white", "rift_grey", "rift_brown", "rift_lightning", "rift_dwarf", "rift_tiny", "rift_cowardly", "rift_spotted", "rift_flying", "rift_mole", "rift_diamond", "rift_gold" ] } ] }, queso_canyon_grand_tour: { categories: [ { name: "KSS", id: "kss", color: "#96b9dc", icon: "/powertypes/draconic.png", mice: [ "geyser_eruption_dragon_wildfire", "geyser_eruption_dragon_epic" ] }, { name: "Cinder-Brut", id: "cinder-brut", color: "#7fff66", icon: "/powertypes/draconic.png", mice: [ "geyser_eruption_dragon_large", "geyser_eruption_dragon_flaming" ] }, { name: "BE Trio", id: "be-trio", color: "#ffb1b1", icon: "/powertypes/draconic.png", mice: [ "geyser_eruption_dragon_hot", "geyser_eruption_dragon_medium", "geyser_eruption_dragon_medium_spice" ] }, { name: "Sizzle Mild", id: "sizzle-mild", color: "#ffc816", icon: "/powertypes/draconic.png", mice: [ "geyser_eruption_dragon_small", "geyser_eruption_dragon_mild" ] }, { name: "Pressure Set", id: "pressure-set", color: "#dcb8ff", icon: "/items/stats/transparent_thumb/209ca347c42ff56071ddd50f087a5bb8.png", mice: [ "geyser_pressure_builder_hot", "geyser_pressure_builder_medium", "geyser_pressure_builder_mild", "geyser_pressure_builder_flaming" ] }, { name: "Corky & Friends", id: "corky-friends", color: "#f4c47e", icon: "/items/crafting_items/transparent_thumb/17907f705fe8e7fa8f7b94f058e11ae5.png", mice: [ "geyser_cork_dropper_bland", "geyser_cork_dropper_medium", "geyser_cork_dropper_mild", "geyser_cork_dropper_hot", "geyser_cork_dropper_rare", "geyser_cork_dropper_flaming" ] }, { name: "Queso River", id: "queso-river", color: "#89e8a9", icon: "/powertypes/law.png", mice: [ "croquet_crusher", "pump_raider", "sleepy_merchant", "tiny_saboteur" ] }, { name: "Prickly Plains", id: "prickly-plains", color: "#cddb75", icon: "/powertypes/arcane.png", mice: [ { mouse: "spice_grower", subcategory: "mild" }, { mouse: "spice_collector", subcategory: "bland" }, { mouse: "spice_farmer", subcategory: "mild" }, { mouse: "spice_finder", subcategory: "medium" }, { mouse: "spice_raider", subcategory: "hot" }, { mouse: "spice_reaper", subcategory: "hot" }, { mouse: "spice_seer", subcategory: "bland" }, { mouse: "spice_sovereign", subcategory: "medium" } ] }, { name: "Cantera Quarry", id: "cantera-quarry", color: "#e9b2db", icon: "/powertypes/shadow.png", mice: [ { mouse: "chip_chiseler", subcategory: "bland" }, { mouse: "fiery_crusher", subcategory: "hot" }, { mouse: "grampa_golem", subcategory: "hot" }, { mouse: "nachore_golem", subcategory: "medium" }, { mouse: "ore_chipper", subcategory: "mild" }, { mouse: "rubble_rouser", subcategory: "medium" }, { mouse: "rubble_rummager", subcategory: "mild" }, { mouse: "tiny_toppler", subcategory: "bland" } ] } ], subcategories: [ { id: "bland", name: "Bland Queso" }, { id: "medium", name: "Medium Queso" }, { id: "mild", name: "Mild Queso" }, { id: "hot", name: "Hot Queso" } ] }, fort_rox: { categories: [ { name: "Night", id: "night", color: "#d0d0d0", icon: "", mice: [ "were_alpha", "moonstone_slinger", "mischievous_wereminer", "wealthy_werewarrior" ] }, { name: "First Light / Utter Darkness", id: "first-light-utter-darkness", color: "#dc8ec7", icon: "/powertypes/arcane.png", mice: [ "arcane_summoner", "cursed_taskmaster", "moonstone_golem", "moonstone_mystic", "night_watcher", "nightfire_wallbreak" ] }, { name: "Twilight, Midnight, Pitch", id: "twilight-midnight-pitch", color: "#84c3ff", icon: "/powertypes/shadow.png", mice: [ "good_supply_night", "nightmancer", "reveling_lycanthrope", "werehauler", "wereminer" ] }, { name: "Dawn", id: "dawn", color: "#f9d65a", icon: "/powertypes/arcane.png", mice: [ "dawn_guardian", "monster_of_the_meteor" ] }, { name: "Day", id: "day", color: "#ffdb9c", icon: "/powertypes/law.png", mice: [ "hardworking_hauler", "moonstone_snacker", "moonstone_miner", "good_supply_day", "mischievous_moonstone_miner" ] } ] }, warpath: { categories: [ { name: "Wave 1", color: "#f1d16f", mice: [ "desert_scout_weak", "desert_warrior_weak", "desert_archer_weak" ] }, { name: "Wave 2", color: "#ea947b", mice: [ "desert_mage", "desert_archer", "desert_warrior", "desert_scout", "desert_cavalry" ] }, { name: "Wave 3", color: "#ff7249", mice: [ "desert_artillery", "desert_mage_strong", "desert_scout_epic", "desert_archer_epic", "desert_cavalry_strong", "desert_warrior_epic" ] }, { name: "Wave 4", color: "#ffad49", mice: [ "desert_elite_gaurd", "desert_boss" ] }, { name: "Any wave", color: "#fffcb2", mice: [ "desert_beast", "desert_supply", "desert_general" ] } ] }, halloween_treat_2021: { categories: [ { name: "Standard", id: "standard", icon: "/items/bait/large/bb0fe6fa6f55e5ccb1f98dea058409e0.png", color: "#fefa76", mice: [ "grey_recluse", "hween_cobweb", "vampira", "zombot_unipire", "candy_cat", "candy_goblin", "shortcut", "tricky_witch", "sweet_tooth" ] }, { name: "Monterey Jack-O-Lantern", id: "monterey-Jack", icon: "/items/bait/large/65fd19bf5b16dcaa6b3cfebd2f55348c.png", color: "#f9a645", mice: [ "sprit_light", "gordborg", "pumpkin_hoarder", "trick", "treat", "chainsaw", "maize_harvester" ] } ] }, halloween_trick_2021: { categories: [ { name: "Bonefort", id: "bonefort", icon: "/items/bait/large/e6ac92f19a6ac930aad02e317cf8e6e8.png", color: "#bfbfbf", mice: [ "creepy_marionette", "dire_lycan", "grave_digger", "hollowhead", "hween_2014_boss", "hween_2016_boss", "hween_2013_boss", "rift_grave_digger" ] }, { name: "Polter-Geitost", id: "polter-geitost", icon: "/items/bait/large/04d69ccc7a5b1578cdf90b9651fb2315.png", color: "#84bde6", mice: [ "hween_2018_boss", "hween_2017_boss", "rift_ghost_pirate", "gourd_ghoul", "scorned_pirate", "spectral_butler", "spectral_swashbuckler" ] }, { name: "Scream", id: "scream", icon: "/items/bait/large/fe9d538d1a811bdb787b78aa1526ee50.png", color: "#86dd6c", mice: [ "hween_2021_boss", "hween_2015_boss", "hollowed_demon", "hollowed_minion", "hween_2012_boss" ] } ] }, naughty_f_list: { categories: [ { name: "Anywhere", id: "anywhere", icon: "/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png", color: "#3f8bae", mice: [ "hoarder", { mouse: "winter_hunt_toy_strong", subcategory: "pp" }, { mouse: "stuck_snowball", subcategory: "pp" }, { mouse: "glazed", subcategory: "pp" }, { mouse: "joy", subcategory: "gpp" } ] }, { name: "Cinnamon Hill", id: "cinnamon_hill", icon: "/environments/9116f87ec4f9ef3be13a1a833a61aec4.jpg", color: "#c76e39", mice: [ "candy_cane", "nice_knitting", "winter_boss_2019", "snow_scavenger", "toboggan_technician", "green_circle_boss", { mouse: "triple_lutz", subcategory: "pp" }, { mouse: "black_diamond_racer", subcategory: "pp" }, { mouse: "double_black_diamond", subcategory: "pp" }, { mouse: "free_skiing", subcategory: "pp" }, { mouse: "winter_boss_2020", subcategory: "pp" }, { mouse: "nitro_racer", subcategory: "pp" }, { mouse: "winter_boss_2021", subcategory: "pp" }, { mouse: "winter_boss_2015", subcategory: "pp" }, { mouse: "snowball_general_one", subcategory: "pp" }, { mouse: "golem_jockey", subcategory: "pp" }, { mouse: "snowball_hoarder", subcategory: "pp" }, { mouse: "sporty_ski_instructor", subcategory: "pp" }, { mouse: "wreath_thief", subcategory: "pp" }, { mouse: "new_year_flight", subcategory: "pp" } ] }, { name: "Golem Workshop", id: "golem_workshop", icon: "/environments/bbd5eeca404e57ec2ffb9d9a108361a2.jpg", color: "#9ab1b4", mice: [ "gingerbread", "greedy_al", "winter_future", "winter_past", "winter_present", { mouse: "scrooge", subcategory: "sb" }, { mouse: "ribbon", subcategory: "pp" }, { mouse: "christmas_tree", subcategory: "pp" }, { mouse: "winter_hunt_toy", subcategory: "pp" }, { mouse: "elf", subcategory: "pp" }, { mouse: "mad_elf", subcategory: "pp" }, { mouse: "nutcracker", subcategory: "pp" }, { mouse: "ornament", subcategory: "pp" }, { mouse: "present", subcategory: "pp" }, { mouse: "ridiculous_sweater", subcategory: "pp" }, { mouse: "snowman_architect", subcategory: "pp" }, { mouse: "stocking", subcategory: "pp" }, { mouse: "toy", subcategory: "pp" }, { mouse: "toy_builder", subcategory: "pp" }, { mouse: "disco_ball_head", subcategory: "pp" } ] }, { name: "Ice Fortress", id: "ice_fortress", icon: "/environments/15d8d9d837b22b31707d06f412b78e0d.jpg", color: "#cc85fe", mice: [ "confused_courier", "frigid_foreman", "miser", "missle_toe", "snowblower", "snowglobe", "builder", { mouse: "builder", subcategory: "pp" }, { mouse: "winter_boss_2014", subcategory: "pp" }, { mouse: "glacia_ice_fist", subcategory: "pp" }, { mouse: "winter_boss_2016", subcategory: "pp" }, { mouse: "winter_boss_2018", subcategory: "pp" }, { mouse: "winter_boss_2017", subcategory: "pp" }, { mouse: "snowball_general_two", subcategory: "pp" }, { mouse: "snowball_bully", subcategory: "pp" }, { mouse: "slay", subcategory: "pp" }, { mouse: "snow_fort", subcategory: "pp" }, { mouse: "snowball_general_three", subcategory: "pp" }, { mouse: "squeaker_claws", subcategory: "pp" }, { mouse: "tundra_huntress", subcategory: "pp" }, { mouse: "new_years", subcategory: "pp" }, { mouse: "winter_boss_2022", subcategory: "boss" } ] } ], subcategories: [ { id: "pp", name: "Pecan Pecorino" }, { id: "gpp", name: "Glazed Pecan Pecorino" }, { id: "sb", name: "SUPER|brie+" }, { id: "boss", name: "Boss" } ] }, nice_f_list: { categories: [ { name: "Anywhere", id: "anywhere", icon: "/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png", color: "#3f8bae", mice: [ "hoarder", { mouse: "winter_hunt_toy_strong", subcategory: "pp" }, { mouse: "stuck_snowball", subcategory: "pp" }, { mouse: "glazed", subcategory: "pp" }, { mouse: "joy", subcategory: "gpp" } ] }, { name: "Cinnamon Hill", id: "cinnamon_hill", icon: "/environments/9116f87ec4f9ef3be13a1a833a61aec4.jpg", color: "#c76e39", mice: [ "candy_cane", "nice_knitting", "winter_boss_2019", "snow_scavenger", "toboggan_technician", "green_circle_boss", { mouse: "triple_lutz", subcategory: "pp" }, { mouse: "black_diamond_racer", subcategory: "pp" }, { mouse: "double_black_diamond", subcategory: "pp" }, { mouse: "free_skiing", subcategory: "pp" }, { mouse: "winter_boss_2020", subcategory: "pp" }, { mouse: "nitro_racer", subcategory: "pp" }, { mouse: "winter_boss_2021", subcategory: "pp" }, { mouse: "winter_boss_2015", subcategory: "pp" }, { mouse: "snowball_general_one", subcategory: "pp" }, { mouse: "golem_jockey", subcategory: "pp" }, { mouse: "snowball_hoarder", subcategory: "pp" }, { mouse: "sporty_ski_instructor", subcategory: "pp" }, { mouse: "wreath_thief", subcategory: "pp" }, { mouse: "new_year_flight", subcategory: "pp" } ] }, { name: "Golem Workshop", id: "golem_workshop", icon: "/environments/bbd5eeca404e57ec2ffb9d9a108361a2.jpg", color: "#9ab1b4", mice: [ "gingerbread", "greedy_al", "winter_future", "winter_past", "winter_present", { mouse: "scrooge", subcategory: "sb" }, { mouse: "ribbon", subcategory: "pp" }, { mouse: "christmas_tree", subcategory: "pp" }, { mouse: "winter_hunt_toy", subcategory: "pp" }, { mouse: "elf", subcategory: "pp" }, { mouse: "mad_elf", subcategory: "pp" }, { mouse: "nutcracker", subcategory: "pp" }, { mouse: "ornament", subcategory: "pp" }, { mouse: "present", subcategory: "pp" }, { mouse: "ridiculous_sweater", subcategory: "pp" }, { mouse: "snowman_architect", subcategory: "pp" }, { mouse: "stocking", subcategory: "pp" }, { mouse: "toy", subcategory: "pp" }, { mouse: "toy_builder", subcategory: "pp" }, { mouse: "disco_ball_head", subcategory: "pp" } ] }, { name: "Ice Fortress", id: "ice_fortress", icon: "/environments/15d8d9d837b22b31707d06f412b78e0d.jpg", color: "#cc85fe", mice: [ "confused_courier", "frigid_foreman", "miser", "missle_toe", "snowblower", "snowglobe", "builder", { mouse: "builder", subcategory: "pp" }, { mouse: "winter_boss_2014", subcategory: "pp" }, { mouse: "glacia_ice_fist", subcategory: "pp" }, { mouse: "winter_boss_2016", subcategory: "pp" }, { mouse: "winter_boss_2018", subcategory: "pp" }, { mouse: "winter_boss_2017", subcategory: "pp" }, { mouse: "snowball_general_two", subcategory: "pp" }, { mouse: "snowball_bully", subcategory: "pp" }, { mouse: "slay", subcategory: "pp" }, { mouse: "snow_fort", subcategory: "pp" }, { mouse: "snowball_general_three", subcategory: "pp" }, { mouse: "squeaker_claws", subcategory: "pp" }, { mouse: "tundra_huntress", subcategory: "pp" }, { mouse: "new_years", subcategory: "pp" }, { mouse: "winter_boss_2022", subcategory: "boss" } ] } ], subcategories: [ { id: "pp", name: "Pecan Pecorino" }, { id: "gpp", name: "Glazed Pecan Pecorino" }, { id: "sb", name: "SUPER|brie+" }, { id: "boss", name: "Boss" } ] }, new_years: { categories: [ { name: "Anywhere", id: "anywhere", icon: "/items/stats/large/680f6a68612ca9181a90b5719b20ef78.png", color: "#3f8bae", mice: [ "hoarder", { mouse: "winter_hunt_toy_strong", subcategory: "pp" }, { mouse: "stuck_snowball", subcategory: "pp" }, { mouse: "glazed", subcategory: "pp" }, { mouse: "joy", subcategory: "gpp" } ] }, { name: "Cinnamon Hill", id: "cinnamon_hill", icon: "/environments/9116f87ec4f9ef3be13a1a833a61aec4.jpg", color: "#c76e39", mice: [ "candy_cane", "nice_knitting", "winter_boss_2019", "snow_scavenger", "toboggan_technician", "green_circle_boss", { mouse: "triple_lutz", subcategory: "pp" }, { mouse: "black_diamond_racer", subcategory: "pp" }, { mouse: "double_black_diamond", subcategory: "pp" }, { mouse: "free_skiing", subcategory: "pp" }, { mouse: "winter_boss_2020", subcategory: "pp" }, { mouse: "nitro_racer", subcategory: "pp" }, { mouse: "winter_boss_2021", subcategory: "pp" }, { mouse: "winter_boss_2015", subcategory: "pp" }, { mouse: "snowball_general_one", subcategory: "pp" }, { mouse: "golem_jockey", subcategory: "pp" }, { mouse: "snowball_hoarder", subcategory: "pp" }, { mouse: "sporty_ski_instructor", subcategory: "pp" }, { mouse: "wreath_thief", subcategory: "pp" }, { mouse: "new_year_flight", subcategory: "pp" } ] }, { name: "Golem Workshop", id: "golem_workshop", icon: "/environments/bbd5eeca404e57ec2ffb9d9a108361a2.jpg", color: "#9ab1b4", mice: [ "gingerbread", "greedy_al", "winter_future", "winter_past", "winter_present", { mouse: "scrooge", subcategory: "sb" }, { mouse: "ribbon", subcategory: "pp" }, { mouse: "christmas_tree", subcategory: "pp" }, { mouse: "winter_hunt_toy", subcategory: "pp" }, { mouse: "elf", subcategory: "pp" }, { mouse: "mad_elf", subcategory: "pp" }, { mouse: "nutcracker", subcategory: "pp" }, { mouse: "ornament", subcategory: "pp" }, { mouse: "present", subcategory: "pp" }, { mouse: "ridiculous_sweater", subcategory: "pp" }, { mouse: "snowman_architect", subcategory: "pp" }, { mouse: "stocking", subcategory: "pp" }, { mouse: "toy", subcategory: "pp" }, { mouse: "toy_builder", subcategory: "pp" }, { mouse: "disco_ball_head", subcategory: "pp" } ] }, { name: "Ice Fortress", id: "ice_fortress", icon: "/environments/15d8d9d837b22b31707d06f412b78e0d.jpg", color: "#cc85fe", mice: [ "confused_courier", "frigid_foreman", "miser", "missle_toe", "snowblower", "snowglobe", "builder", { mouse: "builder", subcategory: "pp" }, { mouse: "winter_boss_2014", subcategory: "pp" }, { mouse: "glacia_ice_fist", subcategory: "pp" }, { mouse: "winter_boss_2016", subcategory: "pp" }, { mouse: "winter_boss_2018", subcategory: "pp" }, { mouse: "winter_boss_2017", subcategory: "pp" }, { mouse: "snowball_general_two", subcategory: "pp" }, { mouse: "snowball_bully", subcategory: "pp" }, { mouse: "slay", subcategory: "pp" }, { mouse: "snow_fort", subcategory: "pp" }, { mouse: "snowball_general_three", subcategory: "pp" }, { mouse: "squeaker_claws", subcategory: "pp" }, { mouse: "tundra_huntress", subcategory: "pp" }, { mouse: "new_years", subcategory: "pp" }, { mouse: "winter_boss_2022", subcategory: "boss" } ] } ], subcategories: [ { id: "pp", name: "Pecan Pecorino" }, { id: "gpp", name: "Glazed Pecan Pecorino" }, { id: "sb", name: "SUPER|brie+" }, { id: "boss", name: "Boss" } ] }, lunar_new_year_list: { categories: [ { name: "Standard", id: "anywhere", icon: "/items/stats/large/2b92cfc72df4733942a9d7f63d1f3378.png", color: "#b9d1ff", mice: [ "costumed_dog", "costumed_dragon", "costumed_horse", "costumed_monkey", "costumed_ox", "costumed_pig", "costumed_rabbit", "costumed_rat", "costumed_rooster", "costumed_sheep", "costumed_snake", "costumed_tiger" ] }, { name: "Dumpling", id: "dumpling", icon: "/items/bait/large/f4c3ee4bb9aba29938223172a791650b.png", color: "#ffefb9", mice: [ "calligraphy", "dumpling_chef", "red_envelope" ] }, { name: "Nian Gao'da", id: "ngd", icon: "/items/bait/large/d4813a69fff0b714f79976a726b7ce66.png", color: "#ffa4a4", mice: [ "red_candle" ] } ] }, birthday_f_list: { categories: [ { name: "Mixing Room", id: "mixing-room", icon: "/ui/events/birthday_factory/item_mixing_rod.png", color: "#0aebdd", mice: [ "force_fighter_blue", "force_fighter_green", "force_fighter_pink", "force_fighter_red", "force_fighter_yellow", "super_fighterbot_megasupreme" ] }, { name: "Pumping Room", id: "pumping-room", icon: "/ui/events/birthday_factory/item_pressurized_pump.png", color: "#fca00a", mice: [ "reality_restitch", "time_punk", "time_tailor", "time_thief", "time_plumber" ] }, { name: "Break Room", id: "break-room", icon: "/ui/events/birthday_factory/item_circuit_breaker.png", color: "#ea8cab", mice: [ "breakdancer", "fromager_mouse", "dance_party", "dance_boss", "para_para_dancer" ] }, { name: "QA Room", id: "qa-room", icon: "/ui/events/birthday_factory/item_quality_cog.png", color: "#fbabff", mice: [ "cupcake_candle_thief", "cupcake_cutie", "sprinkley_sweet", "cupcake_camo", "cupcake_runner" ] }, { name: "Any Room", id: "any-room", icon: "/items/bait/large/39a63a48084383a7eb07d64c74357544.png", color: "#ffeeca", mice: [ "buckethead", "present", "pintail", "dinosuit", "sleepwalker", "terrible_twos", { mouse: "factory_technician", subcategory: "frc" }, { mouse: "cheesy_party", subcategory: "sb" } ] } ], subcategories: [ { id: "frc", name: "Factory Repair Charm" }, { id: "sb", name: "SUPER|brie+" } ] }, birthday_2019_gilded: { categories: [ { name: "Mixing Room", id: "mixing-room", icon: "/ui/events/birthday_factory/item_mixing_rod.png", color: "#0aebdd", mice: [ "force_fighter_blue", "force_fighter_green", "force_fighter_pink", "force_fighter_red", "force_fighter_yellow", "super_fighterbot_megasupreme" ] }, { name: "Pumping Room", id: "pumping-room", icon: "/ui/events/birthday_factory/item_pressurized_pump.png", color: "#fca00a", mice: [ "reality_restitch", "time_punk", "time_tailor", "time_thief", "time_plumber" ] }, { name: "Break Room", id: "break-room", icon: "/ui/events/birthday_factory/item_circuit_breaker.png", color: "#ea8cab", mice: [ "breakdancer", "fromager_mouse", "dance_party", "dance_boss", "para_para_dancer" ] }, { name: "QA Room", id: "qa-room", icon: "/ui/events/birthday_factory/item_quality_cog.png", color: "#fbabff", mice: [ "cupcake_candle_thief", "cupcake_cutie", "sprinkley_sweet", "cupcake_camo", "cupcake_runner" ] }, { name: "Any Room", id: "any-room", icon: "/items/bait/large/39a63a48084383a7eb07d64c74357544.png", color: "#ffeeca", mice: [ "buckethead", "present", "pintail", "dinosuit", "sleepwalker", "terrible_twos", { mouse: "factory_technician", subcategory: "frc" }, { mouse: "cheesy_party", subcategory: "sb" } ] } ], subcategories: [ { id: "frc", name: "Factory Repair Charm" }, { id: "sb", name: "SUPER|brie+" } ] }, birthday_2021_gilded_party_size: { categories: [ { name: "Mixing Room", id: "mixing-room", icon: "/ui/events/birthday_factory/item_mixing_rod.png", color: "#0aebdd", mice: [ "force_fighter_blue", "force_fighter_green", "force_fighter_pink", "force_fighter_red", "force_fighter_yellow", "super_fighterbot_megasupreme" ] }, { name: "Pumping Room", id: "pumping-room", icon: "/ui/events/birthday_factory/item_pressurized_pump.png", color: "#fca00a", mice: [ "reality_restitch", "time_punk", "time_tailor", "time_thief", "time_plumber" ] }, { name: "Break Room", id: "break-room", icon: "/ui/events/birthday_factory/item_circuit_breaker.png", color: "#ea8cab", mice: [ "breakdancer", "fromager_mouse", "dance_party", "dance_boss", "para_para_dancer" ] }, { name: "QA Room", id: "qa-room", icon: "/ui/events/birthday_factory/item_quality_cog.png", color: "#fbabff", mice: [ "cupcake_candle_thief", "cupcake_cutie", "sprinkley_sweet", "cupcake_camo", "cupcake_runner" ] }, { name: "Any Room", id: "any-room", icon: "/items/bait/large/39a63a48084383a7eb07d64c74357544.png", color: "#ffeeca", mice: [ "buckethead", "present", "pintail", "dinosuit", "sleepwalker", "terrible_twos", { mouse: "factory_technician", subcategory: "frc" }, { mouse: "cheesy_party", subcategory: "sb" } ] } ], subcategories: [ { id: "frc", name: "Factory Repair Charm" }, { id: "sb", name: "SUPER|brie+" } ] }, bountiful_beanstalk: { categories: [ { name: "Beanstalk", id: "beanstalk", icon: "", color: "#45890e", mice: [ "budrich_thornborn", "leafton_beanwell", "herbaceous_bravestalk", { mouse: "vinneus_stalkhome", subcategory: "boss" } ] }, { name: "Dungeon", id: "dungeon", icon: "", color: "#919ac7", mice: [ "peaceful_prisoner", "diminutive_detainee", "smug_smuggler", { mouse: "cell_sweeper", subcategory: "beanster" }, { mouse: "jovial_jailor", subcategory: "beanster" }, { mouse: "lethargic_guard", subcategory: "beanster" }, { mouse: "gate_keeper", subcategory: "lavish" }, { mouse: "key_master", subcategory: "royal" }, { mouse: "wrathful_warden", subcategory: "royal" }, { mouse: "dungeon_master", subcategory: "boss" } ] }, { name: "Ballroom", id: "ballroom", icon: "", color: "#e0b1b2", mice: [ "whimsical_waltzer", "sassy_salsa_dancer", "baroque_dancer", { mouse: "obstinate_oboist", subcategory: "beanster" }, { mouse: "peevish_piccoloist", subcategory: "beanster" }, { mouse: "sultry_saxophonist", subcategory: "beanster" }, { mouse: "violent_violinist", subcategory: "lavish" }, { mouse: "Chafed Cellis", subcategory: "lavish" }, { mouse: "treacherous_tubaist", subcategory: "royal" }, { mouse: "malevolent_maestro", subcategory: "boss" } ] }, { name: "Great Hall", id: "great-hall", icon: "", color: "#d68d0a", mice: [ "clumsy_cupbearer", "plotting_page", "scheming_squire", { mouse: "vindictive_viscount", subcategory: "beanster" }, { mouse: "baroness_von_bean", subcategory: "beanster" }, { mouse: "cagey_countess", subcategory: "beanster" }, { mouse: "dastardly_duchess", subcategory: "lavish" }, { mouse: "malicious_marquis", subcategory: "lavish" }, { mouse: "pernicious_prince", subcategory: "royal" }, { mouse: "mythical_giant_king", subcategory: "boss" } ] } ], subcategories: [ { id: "beanster", name: "Beanster" }, { id: "Lavish", name: "Lavish Beanster" }, { id: "royal", nme: "Royal Beanster" }, { id: "boss", name: "Boss" } ] } }; } }); // src/modules/better-maps/modules/tab-sorted.js var getMouseDataForMap, makeMouseDiv, makeSortedPageWrapper, makeSortedMiceList, makeScavengerSortedPage, makeGenericSortedPage, moveTabToBody, processSortedTabClick, addSortedMapTab, showSortedTab, hideSortedTab; var init_tab_sorted = __esm({ "src/modules/better-maps/modules/tab-sorted.js"() { init_utils2(); init_toggle_ar(); init_highlighting(); init_map_groups(); getMouseDataForMap = (currentMapData, type = "mouse") => { let unsortedMice = []; if (currentMapData.goals[type]) { unsortedMice = currentMapData.goals[type]; } let caughtMice = []; currentMapData.hunters.forEach((hunter) => { caughtMice = [...caughtMice, ...hunter.completed_goal_ids[type]]; }); unsortedMice = unsortedMice.filter((mouse) => { return !caughtMice.includes(mouse.unique_id); }); let categories2 = []; if (map_groups_default[currentMapData.map_type] && map_groups_default[currentMapData.map_type].categories) { categories2 = map_groups_default[currentMapData.map_type].categories; } let subcategories = []; if (map_groups_default[currentMapData.map_type] && map_groups_default[currentMapData.map_type].subcategories) { subcategories = map_groups_default[currentMapData.map_type].subcategories; } return { unsortedMice, categories: categories2, subcategories, getMouseDataForMap }; }; makeMouseDiv = (mouse, type = "mouse") => __async(void 0, null, function* () { const mouseDiv = makeElement("div", "mouse-container"); mouseDiv.setAttribute("data-mouse-id", mouse.unique_id); mouseDiv.setAttribute("data-mouse-type", mouse.type); mouseDiv.setAttribute("data-type", type); const mouseData = makeElement("div", "mouse-data"); const mouseImage = makeElement("img", "mouse-image"); mouseImage.src = "mouse" === type ? mouse.small : mouse.thumb; mouseImage.alt = mouse.name; mouseData.append(mouseImage); makeElement("div", "mouse-name", mouse.name, mouseData); const mouseAr = yield getArEl(mouse.unique_id, type); if (mouseAr) { mouseData.append(mouseAr); } mouseDiv.append(mouseData); const mouseExtraInfoWrapper = makeElement("div", "mouse-mhct-extra-info-wrapper"); const mouseExtraInfo = makeElement("div", "mouse-extra-info"); if (Array.isArray(mouse.environment_ids)) { const locationText = makeElement("div", "location-text-wrapper"); makeElement("span", "location-text", "Found in ", locationText); mouse.environment_ids.forEach((environmentID, index) => { const environment = mapData().environments.find((env) => env.id === environmentID); if (environment) { const locationLink = makeElement("a", "mouse-location-link", environment.name); locationLink.title = `Travel to ${environment.name}`; locationLink.setAttribute("data-environment-id", environment.id); locationLink.addEventListener("click", () => { showTravelConfirmationNoDetails(environment); }); if (index !== 0) { locationText.append(document.createTextNode(", ")); } locationText.append(locationLink); } }); mouseExtraInfo.append(locationText); } if (mouse.weaknesses) { const weakness = makeElement("div", "mouse-weakness"); mouse.weaknesses.forEach((weaknessType) => { if (weaknessType.power_types.length === 0) { return; } const weaknessTypeDiv = makeElement("div", "weakness-type"); makeElement("div", "weakness-name", weaknessType.name, weaknessTypeDiv); const powerTypes = makeElement("div", "power-types"); weaknessType.power_types.forEach((pType) => { const powerType = document.createElement("img"); powerType.src = `https://www.mousehuntgame.com/images/powertypes/${pType.name}.png`; powerTypes.append(powerType); }); weaknessTypeDiv.append(powerTypes); weakness.append(weaknessTypeDiv); }); mouseExtraInfo.append(weakness); } mouseExtraInfoWrapper.append(mouseExtraInfo); mouseDiv.append(mouseExtraInfoWrapper); mouseDiv.addEventListener("click", () => __async(void 0, null, function* () { const isSelected = mouseDiv.classList.contains("mouse-container-selected"); if (isSelected) { mouseDiv.classList.remove("mouse-container-selected"); return; } addMHCTData(mouse, mouseExtraInfo, type); const addClass2 = !mouseDiv.classList.contains("mouse-container-selected"); const allSelected = document.querySelectorAll(".mouse-container-selected"); if (allSelected) { allSelected.forEach((selected) => { selected.classList.remove("mouse-container-selected"); }); } if (addClass2) { mouseDiv.classList.add("mouse-container-selected"); } })); return mouseDiv; }); makeSortedPageWrapper = () => { const sortedPage = makeElement("div", "sorted-page"); makeElement("div", ["sorted-loading", "mousehuntPage-loading", "active"], "", sortedPage); makeElement("div", "sorted-page-content", "", sortedPage); return sortedPage; }; makeSortedMiceList = () => __async(void 0, null, function* () { const currentMapData = getMapData(mapData().map_id); const { unsortedMice, categories: categories2, subcategories } = getMouseDataForMap(currentMapData); const target = document.querySelector(".sorted-page-content"); if (!target) { return; } const categoriesWrapper = makeElement("div", "mouse-category-container"); for (const category of categories2) { const categoryID = category.id; const categoryWrapper = makeElement("div", "mouse-category-wrapper"); categoryWrapper.classList.add(`mouse-category-${categoryID}`, "mouse-category-wrapper-hidden"); const categoryHeader = makeElement("div", "mouse-category-header"); if (category.color) { categoryWrapper.style.backgroundColor = category.color; } const iconTitleWrapper = makeElement("div", "mouse-category-icon-title-wrapper"); if (category.icon) { const categoryIcon = makeElement("img", "mouse-category-icon"); categoryIcon.src = category.icon.indexOf("/") === 0 ? `https://www.mousehuntgame.com/images${category.icon}` : category.icon; iconTitleWrapper.append(categoryIcon); } const iconTitleTitleWrapper = makeElement("div", "mouse-category-icon-title-title-wrapper"); makeElement("div", "mouse-category-title", category.name, iconTitleTitleWrapper); makeElement("div", "mouse-category-subtitle", category.subtitle, iconTitleTitleWrapper); iconTitleWrapper.append(iconTitleTitleWrapper); categoryHeader.append(iconTitleWrapper); categoryWrapper.append(categoryHeader); const categoryMice = makeElement("div", "mouse-category-mice"); const addToSubCat = []; category.mice.sort((a, b) => { if (a.name < b.name) { return -1; } return 1; }); for (const mouse of category.mice) { let hasSubCat = false; let mouseType = mouse; if (typeof mouse === "object" && mouse.subcategory) { hasSubCat = mouse.subcategory; mouseType = mouse.mouse; } const mouseIndex = unsortedMice.findIndex((unsortedMouse) => { return unsortedMouse.type === mouseType; }); if (mouseIndex === -1) { continue; } const mouseDiv = yield makeMouseDiv(unsortedMice[mouseIndex]); if (hasSubCat) { if (!addToSubCat[hasSubCat]) { addToSubCat[hasSubCat] = []; } addToSubCat[hasSubCat].push(mouseDiv); } else { categoryMice.append(mouseDiv); } categoryWrapper.append(categoryMice); unsortedMice.splice(mouseIndex, 1); categoryWrapper.classList.remove("mouse-category-wrapper-hidden"); } for (const subcategory of subcategories) { if (addToSubCat[subcategory.id] && addToSubCat[subcategory.id].length > 0) { const subcategoryWrapper = document.createElement("div"); subcategoryWrapper.classList.add("mouse-subcategory-wrapper", `mouse-subcategory-${subcategory.id}`); if (subcategory.color) { subcategoryWrapper.style.backgroundColor = subcategory.color; } const currentSubCat = map_groups_default[currentMapData.map_type].subcategories.find((subCat) => { return subCat.id === subcategory.id; }); const subcategoryHeader = makeElement("div", "mouse-subcategory-header"); makeElement("div", "mouse-subcategory-title", currentSubCat.name, subcategoryHeader); subcategoryWrapper.append(subcategoryHeader); const subcategoryMice = makeElement("div", "mouse-subcategory-mice"); addToSubCat[subcategory.id].forEach((mouseDiv) => { subcategoryMice.append(mouseDiv); }); subcategoryWrapper.append(subcategoryMice); categoryWrapper.append(subcategoryWrapper); } } categoriesWrapper.append(categoryWrapper); } if (unsortedMice.length > 0) { const unsortedWrapper = makeElement("div", "mouse-category-wrapper"); unsortedWrapper.classList.add("mouse-category-unsorted"); const unsortedHeader = makeElement("div", "mouse-category-header"); const unsortedTitle = makeElement("div", "mouse-category-title", "Unsorted"); unsortedHeader.append(unsortedTitle); unsortedWrapper.append(unsortedHeader); const unsortedMiceDiv = makeElement("div", "mouse-category-mice"); for (const mouse of unsortedMice) { const mouseDiv = yield makeMouseDiv(mouse); unsortedMiceDiv.append(mouseDiv); } unsortedWrapper.append(unsortedMiceDiv); categoriesWrapper.append(unsortedWrapper); } target.append(categoriesWrapper); }); makeScavengerSortedPage = (isNormal, target) => __async(void 0, null, function* () { target.classList.add("scavenger-sorted-page"); target.classList.add("treasureMapView-block"); target.setAttribute("data-scavenger-sorted-by", "none"); target.setAttribute("data-scavenger-sort-direction", "descending"); const sortMice = (direction = "descending") => { const container = target.querySelector(".sorted-page-content"); if (!container) { return; } const mice = target.querySelectorAll(".mouse-container"); if (!mice) { return; } const miceArray = [...mice]; miceArray.sort((a, b) => { let aAr = 0; let bAr = 0; const aArEl = a.querySelector(".mh-ui-ar"); if (aArEl) { aAr = aArEl.getAttribute("data-ar") || 0; } const bArEl = b.querySelector(".mh-ui-ar"); if (bArEl) { bAr = bArEl.getAttribute("data-ar") || 0; } if (direction === "ascending") { return aAr - bAr; } return bAr - aAr; }); mice.forEach((mouse) => { mouse.remove(); }); const locationHeaders = container.querySelectorAll(".scavenger-location-wrapper"); if (locationHeaders) { locationHeaders.forEach((header) => { header.remove(); }); } miceArray.forEach((mouse) => { container.append(mouse); }); }; const environments5 = yield getData("environments"); if (!environments5) { return; } const sortMiceIntoLocations = (direction = "descending") => __async(void 0, null, function* () { const container = target.querySelector(".sorted-page-content"); if (!container) { return; } const mice = target.querySelectorAll(".mouse-container"); if (!mice) { return; } const miceByLocation = {}; const locations = {}; for (const mouse of mice) { const mouseId = mouse.getAttribute("data-mouse-id"); const location = yield getLocationForMouse(mouseId, isNormal ? "mouse" : "item"); locations[location.id] = location; const locationId = location.id; if (!miceByLocation[locationId]) { miceByLocation[locationId] = []; } miceByLocation[locationId].push(mouse); } mice.forEach((mouse) => { mouse.remove(); }); const locationHeaders = document.querySelectorAll(".scavenger-location-wrapper"); if (locationHeaders) { locationHeaders.forEach((header) => { header.remove(); }); } const sortedLocations = Object.keys(miceByLocation).sort((a, b) => { return miceByLocation[b].length - miceByLocation[a].length; }); sortedLocations.forEach((location) => { const locationWrapper = makeElement("div", ["treasureMapView-goals-groups", "scavenger-location-wrapper"]); const header = makeElement("div", ["treasureMapView-block-content-heading", "scavenger-location-header"]); const locationContent = makeElement("div", "scavenger-location-content"); const environment = environments5.find((env) => env.id === location); if (locations[environment == null ? void 0 : environment.id]) { environment.name = locations[environment.id].name; } if (environment) { if (environment.image) { const headerImage = makeElement("div", ["treasureMapView-block-content-heading-image", "scavenger-location-icon"]); headerImage.style.backgroundImage = `url(${environment.image})`; header.append(headerImage); } if (environment.name) { const envLink = makeElement("a", "scavenger-location-name", environment.name); envLink.title = `Travel to ${environment.name}`; envLink.setAttribute("data-environment-id", location); envLink.addEventListener("click", () => { showTravelConfirmation(environment, mapModel()); }); header.append(envLink); makeElement("span", "scavenger-location-count", ` (${miceByLocation[location].length})`, header); } } locationWrapper.append(header); miceByLocation[location].forEach((mouse) => { if (direction === "ascending") { locationContent.prepend(mouse); } else { locationContent.append(mouse); } }); locationWrapper.append(locationContent); container.append(locationWrapper); }); }); const toggleSortDirection = () => __async(void 0, null, function* () { const currentDirection = target.getAttribute("data-scavenger-sort-direction"); const currentSort2 = target.getAttribute("data-scavenger-sorted-by"); const newDirection = currentDirection === "descending" ? "ascending" : "descending"; target.setAttribute("data-scavenger-sort-direction", newDirection); yield sortMice(newDirection); if (currentSort2 === "location") { yield sortMiceIntoLocations(newDirection); } }); const toggleSortType = () => __async(void 0, null, function* () { const currentSort2 = target.getAttribute("data-scavenger-sorted-by"); const currentDirection = target.getAttribute("data-scavenger-sort-direction"); if (currentSort2 === "location") { target.setAttribute("data-scavenger-sorted-by", "none"); sortMice(currentDirection); } else { target.setAttribute("data-scavenger-sorted-by", "location"); yield sortMiceIntoLocations(currentDirection); } }); const toggleWrapper = makeElement("div", "scavenger-toggle-wrapper"); const toggleByLocation = makeElement("button", ["scavenger-toggle-button", "mousehuntActionButton", "tiny"]); makeElement("span", "scavenger-toggle-text", "Sort by Location", toggleByLocation); toggleByLocation.addEventListener("click", () => __async(void 0, null, function* () { toggleByLocation.classList.add("disabled"); yield toggleSortType(); toggleByLocation.classList.remove("disabled"); })); toggleWrapper.append(toggleByLocation); const toggleByDropRate = makeElement("button", ["scavenger-toggle-button", "mousehuntActionButton", "tiny"]); const text = isNormal ? "Sort by Attraction Rate" : "Sort by Drop Rate"; makeElement("span", "scavenger-toggle-text", text, toggleByDropRate); toggleByDropRate.addEventListener("click", () => __async(void 0, null, function* () { toggleByDropRate.classList.add("disabled"); yield toggleSortDirection(); toggleByDropRate.classList.remove("disabled"); })); toggleWrapper.append(toggleByDropRate); const sortedContainer = document.querySelector("#sorted-mice-container"); if (sortedContainer) { sortedContainer.prepend(toggleWrapper); } else { target.prepend(toggleWrapper); } target.setAttribute("data-scavenger-sorted-by", "location"); target.setAttribute("data-scavenger-sort-direction", "descending"); yield sortMiceIntoLocations("descending"); yield toggleSortType(); }); makeGenericSortedPage = (isNormal, sortedPage) => __async(void 0, null, function* () { const target = document.querySelector(".sorted-page-content"); if (!target) { return; } const currentMapData = getMapData(mapData().map_id); const type = isNormal ? "mouse" : "item"; target.classList.add("treasureMapView-block-content", "scavenger-sorted-page"); const { unsortedMice } = getMouseDataForMap(currentMapData, type); const sortedUnsorted = yield Promise.all( unsortedMice.map((mouse) => __async(void 0, null, function* () { const ar = yield getHighestArForMouse(mouse.unique_id, type); return __spreadProps(__spreadValues({}, mouse), { ar }); })) ); sortedUnsorted.sort((a, b) => { if (a.ar > b.ar) { return -1; } return 1; }); for (const mouse of sortedUnsorted) { const mouseDiv = yield makeMouseDiv(mouse, type); target.append(mouseDiv); } yield makeScavengerSortedPage(isNormal, sortedPage); }); moveTabToBody = () => { const sortedMiceContainer = document.querySelector("#sorted-mice-container"); if (!sortedMiceContainer) { return; } const body = document.querySelector("body"); if (!body) { return; } body.append(sortedMiceContainer); }; processSortedTabClick = () => __async(void 0, null, function* () { const currentlyActive = document.querySelector(".treasureMapRootView-subTab.sorted-map-tab.active"); if (currentlyActive) { return; } const otherTabs = document.querySelectorAll(".treasureMapRootView-subTab:not(.sorted-map-tab)"); if (otherTabs) { otherTabs.forEach((tab) => { tab.removeEventListener("click", moveTabToBody); tab.addEventListener("click", moveTabToBody); }); } const currentMapData = mapData(); if (!currentMapData || !currentMapData.goals) { return; } const activeTab = document.querySelector(".treasureMapRootView-subTab.active"); if (activeTab) { activeTab.classList.remove("active"); } const sortedTab = document.querySelector(".treasureMapRootView-subTab.sorted-map-tab"); if (sortedTab) { sortedTab.classList.add("active"); } const mapContainer = document.querySelector(".treasureMapView-blockWrapper"); if (!mapContainer) { return; } const leftBlock = mapContainer.querySelector(".treasureMapView-leftBlock"); if (leftBlock) { leftBlock.style.display = "none"; } const rightBlock = mapContainer.querySelector(".treasureMapView-rightBlock"); if (rightBlock) { rightBlock.style.display = "none"; } const existing = document.querySelector("#sorted-mice-container"); if (existing) { existing.remove(); } const sortedMiceContainer = document.createElement("div"); sortedMiceContainer.id = "sorted-mice-container"; const sortedPage = makeSortedPageWrapper(); sortedMiceContainer.append(sortedPage); mapContainer.append(sortedMiceContainer); if (map_groups_default[currentMapData.map_type]) { yield makeSortedMiceList(); } else if (currentMapData.is_scavenger_hunt) { yield makeGenericSortedPage(false, sortedPage); } else { yield makeGenericSortedPage(true, sortedPage); } const loading = document.querySelector(".sorted-loading"); if (loading) { loading.remove(); } highlighting_default(); }); addSortedMapTab = () => { const mapTabs = document.querySelector(".treasureMapRootView-subTabContainer"); if (!mapTabs || mapTabs.length <= 0) { return false; } if (mapTabs.querySelector(".sorted-map-tab")) { return false; } const sortedTab = makeElement("a", "treasureMapRootView-subTab sorted-map-tab", "Sorted"); sortedTab.setAttribute("data-type", "sorted"); sortedTab.addEventListener("click", processSortedTabClick); const divider = makeElement("div", "treasureMapRootView-subTab-spacer"); mapTabs.insertBefore(divider, mapTabs.children[0]); mapTabs.insertBefore(sortedTab, mapTabs.children[0]); return true; }; showSortedTab = () => { processSortedTabClick(); addArToggle("sorted"); }; hideSortedTab = () => { removeArToggle(); }; } }); // src/modules/better-maps/modules/consolation-prizes.js var consolation_prizes_default; var init_consolation_prizes = __esm({ "src/modules/better-maps/modules/consolation-prizes.js"() { init_utils2(); consolation_prizes_default = () => __async(void 0, null, function* () { const consolationButton = document.querySelector(".treasureMapView-consolationPrize-message"); if (!consolationButton || !mapData().has_consolation_prizes || !mapData().consolation_prizes) { return; } const existing = document.querySelector(".mh-mapper-consolation-prizes"); if (existing) { existing.remove(); } const prizeWrapper = makeElement("div", "mh-mapper-consolation-prizes"); const prizes = mapData().consolation_prizes || []; for (const prize of prizes) { const prizeDiv = makeElement("div", "mh-mapper-consolation-prize"); const prizeImg = makeElement("img", "mh-mapper-consolation-prize"); prizeImg.src = prize.thumb; prizeDiv.append(prizeImg); makeElement("div", "mh-mapper-consolation-prize-text", `${prize.quantity} ${prize.name}`, prizeDiv); prizeWrapper.append(prizeDiv); } consolationButton.parentElement.append(prizeWrapper); }); } }); // src/modules/better-maps/modules/tab-goals.js var getLinkMarkup2, getItemLinkMarkup, addMouseLinksToMap, addClassesToGroups, moveLeaveButton, addQuickInvite, addSidebarToggle, showGoalsTab, hideGoalsTab; var init_tab_goals = __esm({ "src/modules/better-maps/modules/tab-goals.js"() { init_utils2(); init_toggle_ar(); init_consolation_prizes(); getLinkMarkup2 = (name) => { name = name.replaceAll(" ", "_"); const nameMouse = `${name}_Mouse`.replaceAll("_Mouse_Mouse", "_Mouse"); return makeLink("MHCT AR", `https://www.mhct.win/attractions.php?mouse=${name}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${nameMouse}`) + makeLink("mhdb", `https://dbgames.info/mousehunt/mice/${nameMouse}`); }; getItemLinkMarkup = (name) => { name = name.replace(" ", "_"); return makeLink("MHCT DR", `https://www.mhct.win/loot.php?item=${name}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`) + makeLink("mhdb", `https://dbgames.info/mousehunt/mice/${name}`); }; addMouseLinksToMap = () => __async(void 0, null, function* () { const overlay = document.querySelector("#overlayPopup"); if (!(overlay && overlay.classList.contains("treasureMapPopup"))) { return; } const mouseIcon = document.querySelectorAll(".treasureMapView-goals-group-goal"); if (!mouseIcon || mouseIcon.length === 0) { return; } const mapViewClasses = document.querySelector(".treasureMapView"); if (!mapViewClasses) { return; } let type = "mouse"; if (mapViewClasses.classList.value.includes("scavenger_hunt")) { type = "item"; } mouseIcon.forEach((mouse) => { let mouseType = mouse.classList.value.replace("treasureMapView-goals-group-goal", "").replace(" mouse", "").replace(" item", "").replace(" complete", "").replace("landscape", "").replace("notAvailable", "").replaceAll(" ", "").trim(); if ("item" === type) { mouseType = mouse.getAttribute("data-unique-id"); } mouse.addEventListener("click", () => __async(void 0, null, function* () { const title = document.querySelector(".treasureMapView-highlight-name"); if (!title) { return; } title.classList.add("mh-ui-mouse-links-map-name"); title.addEventListener("click", () => { if (type === "item") { hg.views.ItemView.show(mouseType); } else if (type === "mouse") { hg.views.MouseView.show(mouseType); } }); title.setAttribute("data-mouse-id", mouseType); const existing = document.querySelector(`#mh-ui-mouse-links-map-${mouseType}-${type}`); if (existing) { return; } if ("mouse" === type) { const div = makeElement("div", "mh-ui-mouse-links-map"); div.id = `mh-ui-mouse-links-map-${mouseType}-${type}`; div.innerHTML = getLinkMarkup2(title.innerText); const envs = document.querySelector(".treasureMapView-highlight-environments"); if (envs) { envs.parentNode.insertBefore(div, envs.nextSibling); } } else if ("item" === type) { const div = makeElement("div", "mh-ui-mouse-links-map"); div.id = `mh-ui-mouse-links-map-${mouseType}-${type}`; div.innerHTML = getItemLinkMarkup(mouseType); const desc = document.querySelector(".treasureMapView-highlight-description"); if (desc) { desc.prepend(div); } } let appendMHCTto = document.querySelector(".treasureMapView-highlight-weaknessContainer"); if (!appendMHCTto) { appendMHCTto = document.querySelector(".mh-ui-mouse-links-map"); } const existingArs = document.querySelectorAll(".mh-ui-mouse-links-map-ars"); if (existingArs && existingArs.length > 0) { existingArs.forEach((ar) => ar.remove()); } const container = document.querySelector(".treasureMapView-highlight.goal.active"); if (!container) { return; } const arsEl = makeElement("div", "mh-ui-mouse-links-map-ars"); arsEl.id = `mh-ui-mouse-links-map-ars-${mouseType}-${type}`; yield addMHCTData({ unique_id: mouseType }, arsEl, type); if (arsEl.innerHTML === "") { return; } container.classList.add("has-mhct-ars"); container.append(arsEl); })); }); }); addClassesToGroups = (mapData3) => { const groups2 = document.querySelectorAll(".treasureMapView-goals-groups"); groups2.forEach((group) => { const title = group.querySelector(".treasureMapView-block-content-heading"); if (!title) { return; } if (title.classList.contains("mh-ui-goals-group-completed-title")) { return; } const completed = title.innerText.includes(" found these mice:") || title.innerText.includes(" found this mouse:"); group.classList.add("mh-ui-goals-group", completed ? "completed" : "incomplete"); let countText = ""; const count2 = group.querySelector(".treasureMapView-block-content-heading-count"); if (count2) { group.setAttribute("data-mouse-count", count2.innerText.replace("(", "").replace(")", "")); countText = count2.innerText; } if (!completed) { return; } const hunterName = title.innerText.replace(countText, "").replace(" found these mice:", "").replace(" found this mouse:", "").trim(); let hunter = mapData3.hunters.find((h) => h.name.trim() === hunterName); if (!hunter) { const image2 = group.querySelector(".treasureMapView-block-content-heading-image"); if (!image2) { return; } const url = image2.getAttribute("style").replace("background-image:url(", "").replace("background-image: url(", "").replace(");", ""); hunter = mapData3.hunters.find((h) => h.profile_pic === url); } if (!hunter && (hunterName === `${user.firstname} ${user.lastname}` || hunterName === `${user.firstname}${user.lastname}`)) { hunter = { name: `${user.firstname} ${user.lastname}`, sn_user_id: user.sn_user_id }; } if (!hunter) { return; } const image = group.querySelector(".treasureMapView-block-content-heading-image"); if (!image) { image.title = `Go to ${hunter.name}'s profile`; image.classList.add("mh-ui-goals-group-completed-image"); image.addEventListener("click", () => { hg.utils.PageUtil.showHunterProfile(hunter.sn_user_id); }); } const replacementTitle = makeElement("div", "treasureMapView-block-content-heading"); if (image) { replacementTitle.append(image); } const nameLink = makeElement("a", "mh-ui-goals-group-completed-title", hunter.name); nameLink.setAttribute("data-snuid", hunter.sn_user_id); nameLink.addEventListener("click", (e) => { var _a, _b; e.preventDefault(); if ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.showHunterProfile) { hg.utils.PageUtil.showHunterProfile(hunter.sn_user_id); } }); replacementTitle.append(nameLink); makeElement("span", "mh-ui-goals-group-completed-text", " found these mice:", replacementTitle); if (count2) { replacementTitle.append(count2); } title.replaceWith(replacementTitle); }); }; moveLeaveButton = () => __async(void 0, null, function* () { const leaveButton = document.querySelector(".treasureMapView-mapLeaveContainer .treasureMapView-leaveMapButton"); if (!leaveButton) { return; } const actions = document.querySelector(".treasureMapView-mapMenu-group-actions"); if (!actions) { return; } const existing = document.querySelector(".mh-ui-leave-map-button"); if (existing) { return; } const clone = leaveButton.cloneNode(true); clone.classList.add("mh-ui-leave-map-button"); clone.classList.remove("lightBlue"); clone.addEventListener("click", () => { leaveButton.click(); }); actions.insertBefore(clone, actions.firstChild); }); addQuickInvite = (mapData3) => __async(void 0, null, function* () { const sidebar = document.querySelector(".treasureMapView-rightBlock.treasureMapView-goalSidebar"); if (!sidebar) { return; } const existing = document.querySelector(".mh-ui-quick-invite"); if (existing) { existing.remove(); } if (!(mapData3 == null ? void 0 : mapData3.is_owner)) { return; } const mapId = mapData3 == null ? void 0 : mapData3.map_id; if (!mapId) { return; } const inviteWrapper = makeElement("div", "mh-ui-quick-invite-wrapper"); const inviteInput = makeElement("input", "mh-ui-quick-invite-input"); inviteInput.type = "number"; inviteInput.placeholder = "Hunter ID"; inviteWrapper.append(inviteInput); const inviteButton = makeElement("div", ["mousehuntActionButton", "tiny", "mh-ui-quick-invite"]); makeElement("span", "", "Invite", inviteButton); const indicators = makeElement("div", "mh-ui-quick-invite-indicators"); const spinner = makeElement("div", ["mh-ui-quick-invite-indicator", "mh-ui-quick-invite-spinner", "hidden"]); const success = makeElement("div", ["mh-ui-quick-invite-indicator", "mh-ui-quick-invite-success", "hidden"]); indicators.append(spinner); indicators.append(success); inviteWrapper.append(indicators); const inviteError = (message) => { debuglog("better-maps", `Invite error: ${message}`); inviteInput.disabled = false; inviteButton.classList.remove("disabled"); spinner.classList.add("hidden"); showErrorMessage({ message, append: inviteWrapper }); return false; }; const inviteAction = () => __async(void 0, null, function* () { var _a, _b, _c, _d, _e, _f, _g; if (inviteButton.classList.contains("disabled")) { return; } inviteInput.disabled = true; inviteButton.classList.add("disabled"); spinner.classList.remove("hidden"); const hunterId = Number.parseInt(inviteInput.value, 10); if (!hunterId) { return inviteError("Invalid hunter ID"); } if ((_a = mapData3 == null ? void 0 : mapData3.hunters) == null ? void 0 : _a.find((h) => h.sn_user_id === hunterId && h.is_active)) { return inviteError("Hunter is already on the map"); } debuglog("better-maps", `Inviting hunter ${hunterId} to map ${mapId}`); let snuid; const friendData = sessionGet("cache-maps-hunter-data", {}); if (friendData && friendData[hunterId]) { debuglog("better-maps", `Using cached friend data for ${hunterId}`); snuid = friendData[hunterId]; } else { debuglog("better-maps", `Fetching friend data for ${hunterId}`); const getFriendData = yield doRequest("managers/ajax/pages/friends.php", { action: "community_search_by_id", user_id: hunterId }); if ((getFriendData == null ? void 0 : getFriendData.success) && ((_b = getFriendData == null ? void 0 : getFriendData.friend) == null ? void 0 : _b.sn_user_id)) { snuid = (_c = getFriendData == null ? void 0 : getFriendData.friend) == null ? void 0 : _c.sn_user_id; const canAccept = (_g = (_f = (_e = (_d = getFriendData == null ? void 0 : getFriendData.friend.user_interactions) == null ? void 0 : _d.actions) == null ? void 0 : _e.send_map_invite) == null ? void 0 : _f.maps[0]) == null ? void 0 : _g.is_allowed; friendData[hunterId] = { snuid: snuid || false, canAccept: canAccept || false }; if (canAccept) { sessionSet("cache-maps-hunter-data", friendData); } } else { return inviteError("Could not find hunter"); } } debuglog("better-maps", `Inviting hunter ${hunterId} with snuid ${snuid} to map ${mapId}`); const invited = yield doRequest("managers/ajax/users/treasuremap.php", { action: "send_invites", map_id: mapId, "snuids[]": snuid }); if (invited && (invited == null ? void 0 : invited.success)) { debuglog("better-maps", `Successfully invited hunter ${hunterId} to map ${mapId}`); inviteInput.value = ""; inviteInput.disabled = false; inviteButton.classList.remove("disabled"); spinner.classList.add("hidden"); success.classList.remove("hidden"); setTimeout(() => { success.classList.add("hidden"); }, 2e3); } else { return inviteError("Error inviting hunter"); } debuglog("better-maps", "."); }); inviteButton.addEventListener("click", inviteAction); inviteInput.addEventListener("keyup", (e) => { if (e.key === "Enter") { inviteAction(); } }); inviteWrapper.append(inviteButton); sidebar.insertBefore(inviteWrapper, sidebar.firstChild); }); addSidebarToggle = () => __async(void 0, null, function* () { const mapView = document.querySelector(".treasureMapView"); if (!mapView) { return; } const rightBlock = mapView.querySelector(".treasureMapView-rightBlock"); if (!rightBlock) { return; } const leftBlock = mapView.querySelector(".treasureMapView-leftBlock"); if (!leftBlock) { return; } const existing = mapView.querySelector(".mh-ui-goals-sidebar-toggle"); if (existing) { return; } const toggle = makeElement("a", "mh-ui-goals-sidebar-toggle"); const isStartingToggled = sessionGet("better-maps-sidebar-toggled", false); if ("open" === isStartingToggled) { toggle.classList.remove("open"); toggle.classList.add("closed"); toggle.setAttribute("data-state", "closed"); toggle.setAttribute("title", "Show Sidebar"); mapView.classList.add("mh-ui-goals-sidebar-toggled"); rightBlock.classList.add("hidden"); leftBlock.classList.add("full-width"); } else { toggle.classList.remove("closed"); toggle.classList.add("open"); toggle.setAttribute("data-state", "open"); toggle.setAttribute("title", "Hide Sidebar"); mapView.classList.remove("mh-ui-goals-sidebar-toggled"); rightBlock.classList.remove("hidden"); leftBlock.classList.remove("full-width"); } toggle.addEventListener("click", () => { const isToggled = toggle.getAttribute("data-state"); sessionSet("better-maps-sidebar-toggled", isToggled); if ("open" === isToggled) { toggle.setAttribute("data-state", "closed"); toggle.setAttribute("title", "Show Sidebar"); toggle.classList.remove("open"); toggle.classList.add("closed"); mapView.classList.add("mh-ui-goals-sidebar-toggled"); rightBlock.classList.add("hidden"); leftBlock.classList.add("full-width"); } else { toggle.setAttribute("data-state", "open"); toggle.setAttribute("title", "Hide Sidebar"); toggle.classList.remove("closed"); toggle.classList.add("open"); mapView.classList.remove("mh-ui-goals-sidebar-toggled"); rightBlock.classList.remove("hidden"); leftBlock.classList.remove("full-width"); } }); leftBlock.append(toggle); }); showGoalsTab = (mapData3) => __async(void 0, null, function* () { addArToggle(); addMouseLinksToMap(); consolation_prizes_default(); addClassesToGroups(mapData3); moveLeaveButton(); addQuickInvite(mapData3); addSidebarToggle(); }); hideGoalsTab = () => { removeArToggle(); }; } }); // src/modules/better-maps/modules/tab-hunters.js var makeUserTableLoading, makeUserTable, getInvitedHunterData, getUserData, removeEmptyHunterSlotsFromList, getLeftHunters, modifyButtons, fixPluralInvites, showHuntersTab; var init_tab_hunters = __esm({ "src/modules/better-maps/modules/tab-hunters.js"() { init_utils2(); makeUserTableLoading = (id, title, appendTo) => { const wrapper = makeElement("div", "treasureMapView-block-title", title); wrapper.id = `hunters-loading-${id}-title`; appendTo.append(wrapper); const loading = makeElement("div", "treasureMapView-block"); loading.id = `hunters-loading-${id}-block`; const loadingWrapper = makeElement("div", "treasureMapView-allyTable", ""); const row = makeElement("div", "treasureMapView-allyRow", ""); makeElement("div", ["mousehuntPage-loading", "active"], "", row); loadingWrapper.append(row); loading.append(loadingWrapper); appendTo.append(loading); }; makeUserTable = (hunters, id, title, appendTo) => __async(void 0, null, function* () { const loadingTitle = document.querySelector(`#hunters-loading-${id}-title`); const loadingBlock = document.querySelector(`#hunters-loading-${id}-block`); if (loadingTitle) { loadingTitle.remove(); } if (loadingBlock) { loadingBlock.remove(); } const existing = document.querySelector(`#hunters-${id}`); if (existing) { return; } const wrapper = makeElement("div", ["mh-ui-custom-map-block", "treasureMapView-block-title"], title.replace("#count#", hunters.length)); wrapper.id = `hunters-${id}`; appendTo.append(wrapper); const block = makeElement("div", "treasureMapView-block"); block.id = `hunters-${id}-block`; const blockContent = makeElement("div", "treasureMapView-block-content"); const table = makeElement("div", "treasureMapView-allyTable"); hunters.forEach((hunter) => { let actions = `<a href="supplytransfer.php?fid=${hunter.sn_user_id}"class="mousehuntActionButton tiny lightBlue"><span>Send<br>Supplies</span></a>`; if ("requests" === id) { const declineAction = `<a class="treasureMapDialogView-deleteInviteRequest reject-invite-request mh-mapper-invite-request-action" data-snuid="${hunter.sn_user_id}" data-snuid="100000830940163">X</a>`; const acceptAction = `<a href="#" class="treasureMapDialogView-continueButton mousehuntActionButton accept-invite-request mh-mapper-invite-request-action" data-snuid="${hunter.sn_user_id}"><span>Accept</span></a>`; actions = `${declineAction}${acceptAction}`; } const markup = `<div class="treasureMapView-allyCell favourite"></div> <div class="treasureMapView-allyCell image" data-snuid="${hunter.sn_user_id}"> <div class="treasureMapView-hunter" data-snuid="${hunter.sn_user_id}"> <div class="treasureMapView-hunter-image-wrapper"> <img src="${hunter.profile_pic}" class="treasureMapView-hunter-image"> </div> </div> </div> <div class="treasureMapView-allyCell name"> <div class="treasureMapView-ally-name"> <a href="https://www.mousehuntgame.com/profile.php?snuid=${hunter.sn_user_id}">${hunter.name}</a> </div> <a href="#" class="treasureMapView-ally-environment treasureMapView-travelButton" data-environment-id="${hunter.environment_id}"> ${hunter.environment_name} </a> </div> <div class="treasureMapView-allyCell lastActive"> <div class="treasureMapView-ally-lastActive ${hunter.is_online ? "online" : ""}"> ${hunter.last_active_formatted} </div> </div> <div class="treasureMapView-allyCell trap"> <div class="treasureMapView-componentContainer"> <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.base_thumb});" title="${hunter.base_name}"></div> <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.weapon_thumb});" title="${hunter.weapon_name}"></div> <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.bait_thumb});" title="${hunter.bait_name}"></div> <div class="treasureMapView-componentThumb" style="background-image: url(${hunter.trinket_thumb});" title="${hunter.trinket_name}"></div> </div> </div> <div class="treasureMapView-allyCell actions">${actions}</div>`; makeElement("div", "treasureMapView-allyRow", markup, table); }); block.append(table); blockContent.append(block); appendTo.append(block); if ("requests" === id) { const actionButtons = document.querySelectorAll(".mh-mapper-invite-request-action"); actionButtons.forEach((button) => { button.addEventListener("click", () => { const snuid = Number.parseInt(button.dataset.snuid, 10); if (button.classList.contains("accept-invite-request")) { hg.utils.TreasureMapUtil.acceptInviteRequests(mapper("mapData").map_id, [snuid], () => { }, () => { }); } else { hg.utils.TreasureMapUtil.declineInviteRequests(mapper("mapData").map_id, [snuid], () => { }, () => { }); } }); }); } }); getInvitedHunterData = (invited) => __async(void 0, null, function* () { if (invited.length === 0) { return []; } if (invited.length <= 12) { const hunters2 = yield getUserData(invited); return hunters2; } const batches = []; for (let i = 0; i < invited.length; i += 12) { batches.push(invited.slice(i, i + 12)); } const hunters = []; for (const batch_ of batches) { const batch = yield getUserData(batch_); hunters.push(...batch); } return hunters; }); getUserData = (userId) => __async(void 0, null, function* () { return new Promise((resolve) => { hg.utils.User.getUserData( userId, [ "bait_name", "bait_thumb", "base_name", "base_thumb", "environment_id", "environment_name", "is_online", "last_active_formatted", "trinket_name", "trinket_thumb", "weapon_name", "weapon_thumb" ], (resp) => { resolve(resp); } ); }); }); removeEmptyHunterSlotsFromList = () => __async(void 0, null, function* () { const emptySlots = document.querySelectorAll(".treasureMapView-allyCell.name"); if (emptySlots.length) { let shouldRemove = false; emptySlots.forEach((slot) => { if (slot.textContent === "The map owner can invite more hunters." || slot.textContent === "Click to invite a friend.") { if (shouldRemove) { shouldRemove.parentNode.remove(); } slot.parentNode.classList.add("hunters-last-slot"); shouldRemove = slot; } }); } }); getLeftHunters = (mapData3) => { const huntersLeft = []; mapData3.hunters.forEach((hunter) => { if (!hunter.is_active) { huntersLeft.push(hunter); } }); return huntersLeft; }; modifyButtons = () => { const buttons = [ { selector: ".mh-ui-find-hunters-block .treasureMapAlliesView-showInviteButton", text: "Invite Friends" }, { selector: ".mh-ui-find-hunters-block .treasureMapAlliesView-showInviteTeamButton", text: "Invite Team" }, { selector: ".mh-ui-map-settings-block .treasureMapView-inviteModeButton", text: "Change Settings" }, { selector: ".mh-ui-share-block .treasureMapView-copyShareLinkButton", text: "Copy" } ]; buttons.forEach((button) => { const el = document.querySelector(button.selector); if (el) { el.classList.add("tiny"); const text = el.querySelector("span"); if (text) { text.textContent = button.text; } } }); }; fixPluralInvites = () => { const invitesEl = document.querySelector(".treasureMapView-numInvitesSent"); if (invitesEl && invitesEl.textContent === "1 invites sent.") { invitesEl.innerHTML = invitesEl.innerHTML.replace("invites", "invite"); } }; showHuntersTab = (mapData3) => __async(void 0, null, function* () { var _a; modifyButtons(); removeEmptyHunterSlotsFromList(); fixPluralInvites(); const leftBlock = document.querySelector(".treasureMapView-leftBlock"); if (!leftBlock) { return; } const huntersLeft = getLeftHunters(mapData3); if (huntersLeft.length) { makeUserTable(huntersLeft, "left", `Hunters that have left map (${huntersLeft.length || 0})`, leftBlock); } if (mapData3.invited_hunters.length) { makeUserTableLoading("invited", `Invited hunters (${mapData3.invited_hunters.length || 0})`, leftBlock); const invitedData = yield getInvitedHunterData(mapData3.invited_hunters); makeUserTable(invitedData, "invited", "Invited hunters (#count#)", leftBlock); } if (((_a = mapData3.invite_requests) == null ? void 0 : _a.length) > 0) { makeUserTableLoading("requests", `Invite Requests (${mapData3.invite_requests.length || 0})`, leftBlock); const requestData = yield getInvitedHunterData(mapData3.invite_requests); makeUserTable(requestData, "requests", "Invite Requests (#count)", leftBlock); } }); } }); // src/modules/better-maps/modules/community.js var getMapData2, updateListing, debug2, community_default; var init_community = __esm({ "src/modules/better-maps/modules/community.js"() { init_utils2(); getMapData2 = (mapId, forceUpdate = false) => __async(void 0, null, function* () { return new Promise((resolve) => { hg.utils.TreasureMapUtil.getMapInfo(mapId, (resp) => { resolve(resp); }, () => { resolve([]); }, forceUpdate); }); }); updateListing = (mapId) => __async(void 0, null, function* () { let mapData3; const mapEl = document.querySelector(`.treasureMapListingsTableView-row[data-map-id="${mapId}"]`); if (!mapEl) { return; } mapEl.classList.add("mh-improved-map-listing-highlight"); const mapsData = yield getData("community-map-data", {}); let oldIds = /* @__PURE__ */ new Set(); if (mapsData && mapsData.old) { oldIds = new Set(mapsData.old); } if (oldIds.has(mapId)) { mapEl.remove(); return; } if (mapEl.innerText.includes("Loading")) { const observer = new MutationObserver(() => __async(void 0, null, function* () { if (mapEl.innerText.includes("Loading")) { yield sleep(500); return; } observer.disconnect(); yield updateListing(mapId); })); observer.observe(mapEl, { childList: true, subtree: true }); return; } const cachedData = yield dbGet("cache", `map-listing-cache-${mapId}`); if (cachedData) { mapData3 = cachedData.data.mapData; } else { mapData3 = yield getMapData2(mapId); yield sleep(500); if (!mapData3 || !mapData3.treasure_map || !mapData3.treasure_map.hunters) { return; } mapData3 = mapData3.treasure_map; dbSet("cache", { id: `map-listing-cache-${mapId}`, mapData: mapData3 }); } const captain = mapData3.hunters.find((hunter) => hunter.captain === true); if (!captain) { return; } const lastActive = captain == null ? void 0 : captain.last_active_formatted; const captainEl = mapEl.querySelector(".treasureMapListingsTableView-owner"); if (captainEl) { const lastActiveWrapper = makeElement("div", ["mh-improved-map-listing-last-active-wrapper", "treasureMapView-ally-lastActive"]); if (captain.is_online) { lastActiveWrapper.classList.add("online"); } makeElement("div", "mh-improved-map-listing-last-active", captain.last_active_formatted, lastActiveWrapper); captainEl.append(lastActiveWrapper); } if (lastActive.includes("week") || lastActive.includes("month") || lastActive.includes("year")) { mapEl.remove(); return; } if (mapData3.max_hunters - 1 === mapData3.hunters.length || mapData3.invite_requests.length > 15) { mapEl.classList.add("mh-improved-map-listing-full"); } mapEl.classList.remove("mh-improved-map-listing-highlight"); }); debug2 = (response, data) => __async(void 0, null, function* () { if ("get_listings" !== data.action) { return; } if (!response.treasure_map_listings) { return; } const listingMapIds = response.treasure_map_listings.map((listing) => listing == null ? void 0 : listing.map_id); const hideMhct = addStyles("#mhhh_flash_message_div { display: none !important; }", "hide-mhct"); for (const mapId of listingMapIds) { yield updateListing(mapId); } hideMhct.remove(); }); community_default = () => { onRequest("users/treasuremap.php", debug2); }; } }); // src/modules/better-maps/modules/shops.js var updateShopsMarkup, updateFromClick, updateFromRequest, shops_default; var init_shops = __esm({ "src/modules/better-maps/modules/shops.js"() { init_utils2(); updateShopsMarkup = () => __async(void 0, null, function* () { const shops = document.querySelectorAll(".treasureMapShopsView-shopItems .treasureMapPopup-shop"); if (!shops.length) { return; } shops.forEach((shop) => { const environment = shop.querySelector(".treasureMapPopup-shop-environment"); if (!environment) { return; } const heading = environment.querySelector(".treasureMapView-block-content-heading"); if (!heading) { return; } const container = environment.querySelector(".treasureMapPopup-shop-environmentItems"); if (!container) { return; } if (!environment.classList.contains("active")) { container.classList.add("hidden"); } heading.addEventListener("click", () => { container.classList.toggle("hidden"); }); }); }); updateFromClick = () => __async(void 0, null, function* () { const _showShops = hg.controllers.TreasureMapController.showShops; hg.controllers.TreasureMapController.showShops = (data) => { _showShops(data); updateShopsMarkup(); }; }); updateFromRequest = (response, data) => { if ((data == null ? void 0 : data.action) !== "get_shops") { return; } updateShopsMarkup(); }; shops_default = () => __async(void 0, null, function* () { updateFromClick(); onRequest("users/treasuremap.php", updateFromRequest); }); } }); // src/modules/better-maps/modules/sidebar.js var getCompletedGoals, addMapToSidebar, refreshMap, refreshSidebar, shouldRefresh, timeoutFive, timeoutTen, refreshSidebarAfterTurn, mapData2, miceThumbs, itemThumbs, sidebar_default; var init_sidebar = __esm({ "src/modules/better-maps/modules/sidebar.js"() { init_utils2(); getCompletedGoals = () => { var _a, _b, _c, _d; let goals = (mapData2 == null ? void 0 : mapData2.is_scavenger_hunt) ? (_a = mapData2 == null ? void 0 : mapData2.goals) == null ? void 0 : _a.item : (_b = mapData2 == null ? void 0 : mapData2.goals) == null ? void 0 : _b.mouse; if (!goals) { return []; } const completedGoals = []; const hunters = (mapData2 == null ? void 0 : mapData2.hunters) || []; for (const hunter of hunters) { const completed = (mapData2 == null ? void 0 : mapData2.is_scavenger_hunt) ? (_c = hunter == null ? void 0 : hunter.completed_goal_ids) == null ? void 0 : _c.item : (_d = hunter == null ? void 0 : hunter.completed_goal_ids) == null ? void 0 : _d.mouse; if (completed) { completedGoals.push(...completed); } } goals = goals.filter((goal) => !completedGoals.includes(goal.unique_id)).sort((a, b) => a.name.localeCompare(b.name)); return goals; }; addMapToSidebar = () => __async(void 0, null, function* () { var _a, _b, _c; const sidebar = document.querySelector(".pageSidebarView .pageSidebarView-block"); if (!sidebar) { return; } const mapId = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.default_map_id) || false; if (!mapId) { return; } mapData2 = sessionGet(`mh-improved-map-cache-${mapId}`); if (!mapData2) { yield refreshMap(); } const mapSidebar = makeElement("div", "mh-improved-map-sidebar"); const title = makeElement("h3", "mh-improved-map-sidebar-title", ((_c = mapData2 == null ? void 0 : mapData2.name) == null ? void 0 : _c.replaceAll("Treasure Map", "")) || "Map"); title.addEventListener("click", () => __async(void 0, null, function* () { mapSidebar.classList.add("loading"); yield refreshMap(); yield addMapToSidebar(); setTimeout(() => { mapSidebar.classList.remove("loading"); }, 1e3); })); mapSidebar.append(title); const goals = getCompletedGoals(mapData2); const goalsEl = makeElement("div", "mh-improved-map-sidebar-goals"); for (const goal of goals) { const goalEl = makeElement("div", "mh-improved-map-sidebar-goal"); const goalImage = makeElement("div", "mh-improved-map-sidebar-goal-image"); const thumbnail = mapData2.is_scavenger_hunt ? itemThumbs.find((thumb) => thumb.type === goal.type) : miceThumbs.find((thumb) => thumb.type === goal.type); goalImage.style.backgroundImage = thumbnail ? `url(${thumbnail.thumb})` : `url(${goal.large})`; goalEl.append(goalImage); makeElement("div", "mh-improved-map-sidebar-goal-name", goal.name, goalEl); const environments5 = (goal == null ? void 0 : goal.environment_ids) || []; if (environments5.includes(user == null ? void 0 : user.environment_id)) { goalEl.classList.add("mh-improved-map-sidebar-goal-active"); } goalEl.addEventListener("click", () => { if (mapData2.is_scavenger_hunt) { hg.views.ItemView.show(goal.type); } else { hg.views.MouseView.show(goal.type); } }); goalsEl.append(goalEl); } mapSidebar.append(goalsEl); const existing = document.querySelector(".mh-improved-map-sidebar"); if (existing) { existing.replaceWith(mapSidebar); } else { sidebar.append(mapSidebar); } }); refreshMap = () => __async(void 0, null, function* () { var _a, _b; const mapId = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.default_map_id) || false; let newMapData; try { newMapData = yield doRequest("managers/ajax/users/treasuremap.php", { action: "map_info", map_id: mapId }); } catch (error) { console.error("Error refreshing map:", error); return false; } if (!(newMapData && (newMapData == null ? void 0 : newMapData.treasure_map))) { return false; } setMapData(mapId, newMapData.treasure_map); const currentMapData = sessionGet(`mh-improved-map-cache-${mapId}`); if (currentMapData && mapData2 && mapData2.treasure_map) { const currentGoals = getCompletedGoals(currentMapData); const newGoals = getCompletedGoals(newMapData.treasure_map); if (currentGoals.length !== newGoals.length) { yield addMapToSidebar(); } } else { yield addMapToSidebar(); } mapData2 = newMapData.treasure_map; return newMapData; }); refreshSidebar = () => __async(void 0, null, function* () { const refreshed = yield refreshMap(); if (!refreshed) { shouldRefresh = false; return; } addMapToSidebar(); }); shouldRefresh = true; refreshSidebarAfterTurn = () => { clearTimeout(timeoutFive); clearTimeout(timeoutTen); if (shouldRefresh) { timeoutFive = setTimeout(refreshSidebar, 5 * 60 * 1e3); timeoutTen = setTimeout(refreshSidebar, 10 * 60 * 1e3); } }; sidebar_default = () => __async(void 0, null, function* () { miceThumbs = yield getData("mice-thumbnails"); itemThumbs = yield getData("item-thumbnails"); addMapToSidebar(); onTravel(null, { callback: addMapToSidebar }); onTurn(() => { refreshSidebar(); refreshSidebarAfterTurn(); }, 1e3); }); } }); // src/modules/better-maps/styles/general.css var general_default; var init_general = __esm({ "src/modules/better-maps/styles/general.css"() { general_default = '.treasureMapView-singleEnvironment-label{padding-bottom:8px}.treasureMapView-block.treasureMapView-singleEnvironment{border-radius:2px}.treasureMapView-block-content.halfHeight{padding:0;border-radius:0}.treasureMapView-block,.treasureMapView-block>.treasureMapView-block-content{border-radius:3px}.treasureMapView-mapMenu-group.rewards .treasureMapView-mapMenu-group-title,.treasureMapView-ally-ownerLabel{display:none}input.treasureMapView-shareLinkInput{display:inline-block;width:87px;padding:3px;margin-right:2px}.treasureMapView-ownerRequestActions{display:block;width:61px;margin:0 auto}.treasureMapView-mapMenu-group.rewards{display:flex;flex-direction:row-reverse;margin-top:-10px;margin-right:-5px}.rewards .treasureMapView-mapMenu-rewardName{max-width:unset;margin-right:3px;font-size:12px}.rewards .treasureMapView-mapMenu-subgroup.chest.mousehuntTooltipParent{display:flex;flex-direction:row-reverse;gap:5px;align-items:center}.rewards .treasureMapView-mapMenu-group-content{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:360px}.max_hunters_10 .rewards .treasureMapView-mapMenu-group-content{max-width:200px}.rewards .treasureMapView-mapMenu-auraIcon{width:33px;height:33px;margin-top:-10px}.treasureMapView-mapMenu.max_hunters_8 .treasureMapView-mapMenu-auraIcon,.treasureMapView-mapMenu.max_hunters_9 .treasureMapView-mapMenu-auraIcon,.treasureMapView-mapMenu.max_hunters_10 .treasureMapView-mapMenu-aura-name .treasureMapView-mapMenu-auraIcon,.treasureMapView-mapMenu.max_hunters_10 .treasureMapView-mapMenu-auraIcon{width:44px;height:44px}.rewards .treasureMapView-mapMenu-auraIconContainer{margin:0}.rewards .treasureMapView-mapMenu-group-actions{display:flex;flex-direction:row;justify-content:flex-end;width:auto}.rewards .treasureMapView-mapMenu-group-actions .mousehuntActionButton{margin-top:5px;margin-right:4px;margin-bottom:0!important}.treasureMapView-allyCell.name{padding-left:10px}.treasureMapView-ally-name{padding-bottom:5px}.treasureMapView-mapMenu-mapIcon{width:45px}.max_hunters_10 .treasureMapView-mapMenu-mapIcon{width:60px}img.treasureMapView-reward-chestIcon{box-sizing:border-box;width:160px;height:160px;padding:0;margin:20px auto;background:transparent;box-shadow:none}.treasureMapInvitesView .treasureMapView-leftBlock:first-child .treasureMapView-block-title:first-child{display:none}.treasureMapView-block-content.noMinHeight.noPadding.treasureMapInvitesView-scoreboards .treasureMapView-block-title:nth-child(3),.treasureMapView-block-content.noMinHeight.noPadding.treasureMapInvitesView-scoreboards .treasureMapView-scoreboard:nth-child(4){display:none}.treasureMapInventoryView-scrollCase-aura{overflow:hidden;font-size:9px;line-height:15px}.treasureMapInventoryView-scrollCase-aura br:after{content:" "}.treasureMapInventoryView-scrollCase-aura br{content:""}.treasureMapInventoryView-scrollCase-aura b:first-of-type{display:block;font-size:10px}.treasureMapView-block-content-heading{margin:10px 0 5px}.treasureMapInventoryView-scrollCase{align-items:center;padding:10px;margin:5px;background-color:#ffffffa6;border:1px solid rgb(150 150 150 / 50%);border-radius:5px}.mh-dark-mode .treasureMapInventoryView-scrollCase{color:#000;background-color:#32323240;border-color:#424242}.treasureMapView-block-content-heading-image{margin-right:10px}.mh-dark-mode .treasureMapShopsView-shopItems .treasureMapView-block-content-heading,.mh-dark-mode .treasureMapShopsView-shopItems .treasureMapView-block-content-heading-count{color:#000}.mh-dark-mode .pageFrameView .treasureMapPopup-shop-environment.active:before{background-color:transparent}.treasureMapPopup-shop[data-environment-type=rift_valour]{background-color:#e5daed}.treasureMapPopup-shop[data-environment-type=rift_bristle_woods]{background-color:#bda39e}.treasureMapPopup-shop[data-environment-type=rift_furoma]{background-color:#ffdca4}.treasureMapPopup-shop[data-environment-type=rift_whisker_woods]{background-color:#cfe07e}.treasureMapPopup-shop[data-environment-type=rift_burroughs]{background-color:#c6c6c6}.treasureMapPopup-shop[data-environment-type=rift_gnawnia]{background-color:#ffdaf4}.treasureMapPopup-shop[data-environment-type=table_of_contents]{background-color:#dfffd4}.treasureMapPopup-shop[data-environment-type=prologue_pond]{background-color:#d3ffff}.treasureMapPopup-shop[data-environment-type=foreword_farm]{background-color:#faedcd}.treasureMapPopup-shop[data-environment-type=floating_islands]{background-color:#fce0d7}.treasureMapPopup-shop[data-environment-type=moussu_picchu]{background-color:#fed3ff}.treasureMapPopup-shop[data-environment-type=ancient_city]{background-color:#ccc}.treasureMapPopup-shop[data-environment-type=fungal_cavern]{background-color:#c3f3de}.treasureMapPopup-shop[data-environment-type=sunken_city]{background-color:#c8f9ff}.treasureMapPopup-shop[data-environment-type=queso_geyser],.treasureMapPopup-shop[data-environment-type=queso_quarry],.treasureMapPopup-shop[data-environment-type=queso_plains],.treasureMapPopup-shop[data-environment-type=queso_river]{background-color:#f8f3ae}.treasureMapPopup-shop[data-environment-type=fort_rox]{background-color:#f2d5c9}.treasureMapPopup-shop[data-environment-type=desert_oasis]{background-color:#d1e7bf}.treasureMapPopup-shop[data-environment-type=desert_city]{background-color:#e48f89}.treasureMapPopup-shop[data-environment-type=desert_warpath]{background-color:#ffb280}.treasureMapPopup-shop[data-environment-type=slushy_shoreline]{background-color:#a0d3ee}.treasureMapPopup-shop[data-environment-type=seasonal_garden]{background-color:#e8e8e9}.treasureMapPopup-shop[data-environment-type=pollution_outbreak]{background-color:#cde691}.treasureMapPopup-shop[data-environment-type=kings_gauntlet]{background-color:#ccc}.treasureMapPopup-shop[data-environment-type=cape_clawed]{background-color:#b8d3dc}.treasureMapPopup-shop[data-environment-type=catacombs]{background-color:#a88ca4}.treasureMapPopup-shop[data-environment-type=great_gnarled_tree]{background-color:#abd59b}.treasureMapPopup-shop[data-environment-type=town_of_digby]{background-color:#e5e6d8}.treasureMapPopup-shop[data-environment-type=mousoleum]{background-color:#d6c8a2}.treasureMapPopup-shop[data-environment-type=harbour]{background-color:#fffcb6}.treasureMapPopup-shop[data-environment-type=bountiful_beanstalk]{background-color:#94f05a}.treasureMapPopup-shop[data-environment-type=queso_quarry],.treasureMapPopup-shop[data-environment-type=queso_plains]{display:none}.treasureMapPopup-shop-item-description-costContainer{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding-top:5px;margin-top:10px}.treasureMapInventoryView-scrollCase-name{padding-bottom:5px}.mapper-self img{border-radius:50%;outline:2px solid #73ddff}.treasureMapView-block-title.mh-ui-scavenger-hunt-title,.treasureMapView-block.treasureMapView-scavengerHunt{display:none}.treasureMapView-hunter.empty img.treasureMapView-hunter-image{border:1px solid #aaa;opacity:.4}.treasureMapDialogView-userSelector .userSelectorView-content{height:550px}.treasureMapDialogView .userSelector-cell.name{font-size:12px}td.userSelector-cell.map_num_clues_found.number{font-size:8px}th.userSelector-column.is_favourite{color:transparent}.userSelector-table th.userSelectorView-sortByLink{text-align:center}.userSelector-table th.userSelectorView-sortByLink:after{margin-right:10px;margin-left:1px}.userSelectorView-filterContainer{font-size:12px}label.userSelectorView-filter-label{color:transparent}.treasureMapUserSelectorView-toggleFavouritesContainer.treasureMapView-block-title label{font-weight:400}.treasureMapDialogView .userSelector-cell abbr{text-decoration:none}.treasureMapDialogView-userSelector-selectedUserList-content{counter-reset:sent left}.treasureMapDialogView-userSelector-selectedUser{position:relative;counter-increment:sent}.treasureMapDialogView-userSelector-selectedUser.empty{counter-increment:left}.treasureMapUserSelectorView-actions:hover .treasureMapDialogView-userSelector-selectedUser:after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#fff;text-align:center;text-shadow:-1px 0 1px #000,1px 0 1px #000,0 0 0 #000,0 -1px 1px #000,0 1px 1px #000,0 0 0 #000;content:counter(sent)}.treasureMapUserSelectorView-actions:hover .treasureMapDialogView-userSelector-selectedUser.empty:after{content:counter(left)}.userSelector-table .userSelector-groupHeading td{padding:5px 0 2px 5px;border-right:none;border-left:none}.userSelector-table .userSelector-groupHeading td:first-child{border-top:none}.treasureMapView-environment-hunters .treasureMapView-hunter.captain .treasureMapView-hunter-image{width:20px;height:20px;outline:1px solid #ffe298;box-shadow:none}.mh-mapper-consolation-prizes{display:flex;flex-direction:column}h2.mh-mapper-consolation-prizes-title{padding:5px;margin-top:10px;font-size:12px;font-weight:700}.mh-mapper-consolation-prize{display:flex;flex-direction:row;align-items:center}img.mh-mapper-consolation-prize{width:25px;height:25px;margin-right:5px}.treasureMapView-block-title.mh-ui-environments-title,.treasureMapView-block-title.mh-ui-map-location-title,.treasureMapView-block-title.mh-ui-consolation-prizes-title{display:none}.treasureMapView-block-title.mh-ui-goals-title{margin:-7px;color:transparent}.treasureMapRootView-subTab-label{display:none}input.treasureMapView-block-search-text{height:18px;font-size:12px;border:1px solid #ccc}.treasureMapRootView-subTabRow{align-items:center}.treasureMapView-highlight{padding:0;border-radius:6px;outline:1px solid #505050;box-shadow:0 2px 3px -1px #292929,0 2px 10px -2px #ababab}.treasureMapView-highlight-content{padding:6px 0}.treasureMapView-highlight.goal.active.sticky.mouse.has-mhct-ars{width:40%}.treasureMapView-highlight-weakness-types img{width:17px}.treasureMapView-goals-groups.incomplete{padding-bottom:15px}.treasureMapView-highlight.environment .treasureMapView-highlight-content,.treasureMapView-highlight-description{padding:10px}.mh-ui-environments-block{padding:6px;margin:-1px}.mh-ui-environments-block .treasureMapView-block-content.halfHeight{max-height:unset}.treasureMapView-goals-group-goal{width:calc(33% - 5px);margin:3px 5px 3px 0}.treasureMapView-highlight .treasureMapView-goals-group-goal{width:auto}.treasureMapView-goals-group-goal.notAvailable{opacity:.5}.treasureMapView-goals-group-goal.notAvailable.m400.mouse,.treasureMapView-goals-group-goal.notAvailable:hover,.treasureMapView-goals-group-goal.notAvailable.sticky{opacity:1}.complete .treasureMapView-goals-group-goal-name,.complete .treasureMapView-goals-group-goal-padding{height:35px}.treasureMapView-goals-group-goal.complete:after{top:12px;left:7px;width:21px;height:21px}.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton,.mousehuntActionButton.mh-ui-leave-map-button{background:#ffa5a5}.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton:before,.mousehuntActionButton.mh-ui-leave-map-button:before{background:#f27b6a;box-shadow:0 0 10px #ffa5a5 inset}.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton:hover:before,.treasureMapView-mapLeaveContainer .mousehuntActionButton.lightBlue.treasureMapView-leaveMapButton:focus:before,.mousehuntActionButton.mh-ui-leave-map-button:hover:before,.mousehuntActionButton.mh-ui-leave-map-button:focus:before{background:#ffa5a5}.treasureMapView-block-content.treasureMapInvitesView-scoreboards{padding:2px;margin-top:-20px;overflow-x:hidden}.mh-dark-mode .pageFrameView #overlayPopup.treasureMapPopup .treasureMapRootView-content a.treasureMapView-block-row.active{color:#000;background:#f2eb6f}.treasureMapView-hunter.upgrader .treasureMapView-hunter-image{box-shadow:0 0 1px 3px #ffb40c}.treasureMapView-hunter-miceCaught.active{background-color:#eee}.mh-dark-mode .pageFrameView .treasureMapView-rightBlock{padding:0;background-color:transparent}.treasureMapView-highlight-catcher{display:inline-block;height:auto;background:none;border:none}.treasureMapView-highlight-group,.treasureMapView-highlight-environments{text-align:center}.treasureMapView-highlight-catcher-title{display:inline-block;margin-top:-20px;margin-left:12px;vertical-align:middle}.treasureMapView-highlight-weakness-title{font-size:8.4px}.treasureMapView-highlight.goal{width:30%}.treasureMapView-highlight-weaknessContainer{display:flex;align-items:baseline;margin:0 1px}.treasureMapInventoryView-relicHunter-hintSuffix{margin-bottom:10px;font-size:10px;font-style:italic;text-align:center}.treasureMapInventoryView-relicHunter{padding-top:120px;border-radius:3px}.treasureMapInventoryView-relicHunter:before{height:110px;border-bottom:1px solid #ccc}.treasureMapPopup-season-reward-name{padding:2px;font-size:11px}.treasureMapPopup-seasonContainer.mousehuntTooltipParent{font-size:11px;background:transparent;border:1px solid #ccc;border-radius:3px}.treasureMapView-block-search{right:10px;bottom:17px}.treasureMapInventoryView .treasureMapView-block-title,.treasureMapShopsView .treasureMapView-block-title{margin-bottom:0;visibility:hidden}.treasureMapInventoryView .treasureMapView-block-search,.treasureMapShopsView .treasureMapView-block-search{visibility:visible}.treasureMapRootView-footer .treasureMapRootView-footer-item{font-size:11px}.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(3) .treasureMapRootView-footer-item-thumb,.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(4) .treasureMapRootView-footer-item-thumb{height:21px;padding-left:3px;margin-right:-10px;background-color:#7b789a;background-repeat:no-repeat;background-position:center;border-top-right-radius:0;border-bottom-right-radius:0}.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(3) .treasureMapRootView-footer-item-quantity,.treasureMapRootView-footer .treasureMapRootView-footer-item:nth-child(4) .treasureMapRootView-footer-item-quantity{height:13px;padding:4px;margin-left:5px;border-top-left-radius:0;border-bottom-left-radius:0}.treasureMapView-mapMenu.treasureMapRootView-padding{margin-bottom:30px}.treasureMapView-mapMenu.treasureMapRootView-padding.max_hunters_10{margin-bottom:50px}.mh-ui-we-did-it-title{display:none}.mh-ui-we-did-it-block{margin-top:3px}.treasureMapView-block.treasureMapView-reward.mh-ui-we-did-it-block{margin-top:3px;background-color:#95ef9b;border-color:#14851b}.treasureMapPopup-mapInvite .treasureMapView-hunter-wrapper.mousehuntTooltipParent{font-size:10px}.treasureMapPopup-mapInvite .treasureMapView-hunter{margin:3px 0}.treasureMapView-mapMenu-group-content.upgraded .treasureMapView-mapMenu-mapIcon,.treasureMapListingsTableView-mapThumbnail.rare{filter:drop-shadow(0 0 2px #ffb40c) drop-shadow(0 0 5px #ffb40c);box-shadow:none}.treasureMapDialogView-inviteFriend-completeContainer{display:grid;grid-template-columns:repeat(4,1fr);place-items:stretch stretch}.treasureMapDialogView-inviteFriend-complete{display:flex;align-items:center;justify-content:flex-start;text-align:left}.treasureMapDialogView-environmentGoals{max-height:unset}.treasureMapView-hunter-icon{top:-9px}.treasureMapTooltipView.active{top:0!important;display:flex;flex-direction:column;place-content:flex-start space-around;align-items:center}.mh-ui-multiple-maps .treasureMapTooltipView.active{top:35px!important}.treasureMapView-mapWarning.treasureMapRootView-padding{padding-left:5px;margin-bottom:10px;font-size:10px;line-height:1.5;text-align:center;box-shadow:0 0 1px 1px #ffa5a5}.treasureMapView-consolationPrizeMessage{margin:15px 0;box-shadow:0 0 1px 1px #ffa5a5}.treasureMapView-mapWarning:before{display:none}.treasureMapDialogView-title{margin-bottom:5px}.incomplete .treasureMapView-goals-group-goal-padding{overflow:visible}.treasureMapView-goals-group-goal-image{width:34px;height:100%;border-radius:5px}.treasureMapView-goals-group-goal.landscape .treasureMapView-goals-group-goal-image{height:48px;background-position:center}.treasureMapView-goals-group-goal.complete.landscape .treasureMapView-goals-group-goal-image{height:33px}.treasureMapView-goals-group-goal:hover:before,.treasureMapView-goals-group-goal.sticky:before{inset:-1px;outline:1px solid #ccc;box-shadow:none}.treasureMapView-goals-group-goal.item{width:calc(25% - 5px);padding:5px 0}.full-width .treasureMapView-goals-group-goal{width:calc(16% - 1px)}.treasureMapView-goals-group-goal:hover:before{background-color:#ececec}.treasureMapView-goals-group-goal:hover .treasureMapView-goals-group-goal-image{mix-blend-mode:multiply}.treasureMapView-highlight.environment{top:25px;right:175px;left:unset;width:45%}.treasureMapView-highlight-environments{max-height:126px;margin-left:10px;overflow-y:auto}.treasureMapView-scoreboard-table .treasureMapView-block-row:hover{background-color:#eee}.treasureMapView-previewBar{padding-left:15px;margin:0;background:#d9ffbf}.treasureMapView-previewBar:before{position:absolute;top:0;right:0;display:block;width:100px;height:40px;content:"";background:#d9ffbf url(https://www.mousehuntgame.com/images/ui/elements/larry_circle_large.gif) 0 -16px no-repeat;background-size:90px;transform:scaleX(-1)}.treasureMapView-previewBar-content{display:flex;justify-content:space-between;margin-right:100px}.treasureMapView-previewBar .mousehuntActionButton[onclick*="hg.controllers.TreasureMapController.showCommunity();"]{display:none}.treasureMapView-previewBar-padding{display:flex;align-items:center}.treasureMapView-previewBar-actions{display:flex;flex-direction:row;align-items:center}.treasureMapView-mapMenu-group:first-child .treasureMapView-mapMenu-group-title{margin-bottom:15px}.mh-improved-map-listing-last-active-wrapper{display:flex;align-items:center;margin-left:10px}.mh-improved-map-listing-full{opacity:.5}.treasureMapPopup-mapInvite .treasureMapInventoryView-scrollCase{padding:0;margin:5px 0;border:none}.treasureMapView-block-content.tall.treasureMapInvitesView-inviteList{padding:5px}.treasureMapPopup-mapInvite .treasureMapView-block-content-heading{margin:0}.treasureMapPopup-mapInvite{padding:5px}.treasureMapView-scoreboard{border-radius:3px}.treasureMapView-scoreboard .treasureMapView-block-cell.rank{padding-left:2px}.treasureMapInventoryView .treasureMapView-blockWrapper .treasureMapView-leftBlock .treasureMapView-block{padding:0;border:none}.treasureMapInventoryView .treasureMapView-blockWrapper .treasureMapView-block-content-heading{margin:10px 10px 5px;border:none}.treasureMapInventoryView-scrollCase-content br+br{display:none}.treasureMapInventoryView-scrollCase-content{line-height:16px}.treasureMapInventoryView-scrollCase-content br+br+b{display:inline-block}.treasureMapView-block-title.mh-ui-maps-title,.treasureMapView-block-title.mh-ui-map-scrolls-title,.treasureMapView-block-title.mh-ui-scroll-shop-title{display:none}.treasureMapShopsView .treasureMapView-block-search{bottom:20px}.treasureMapTooltipView-hunterText-state.captain{position:absolute;top:5px;left:5px;visibility:hidden}.treasureMapTooltipView-hunterText-state.captain:after{position:absolute;top:0;left:0;width:18px;height:16px;visibility:visible;content:"";background:url(https://www.mousehuntgame.com/images/ui/tournaments/captain_icon.png?asset_cache_version=3) no-repeat 50% 50% / contain}.treasureMapTooltipView-hunterText-state.upgrader{position:absolute;top:5px;right:5px;visibility:hidden}.treasureMapTooltipView-hunterText-state.upgrader:after{position:absolute;top:0;right:0;width:16px;height:16px;visibility:visible;content:"";background:#ffb615;border-radius:50%}.treasureMapView-hunter-wrapper .quickSendWrapper{top:60px!important;left:30px}.treasureMapTooltipView{height:40px}.treasureMapDialogView.wide.limitHeight.confirm .treasureMapDialogView-description{display:none}.treasureMapDialogView.wide.limitHeight.confirm .treasureMapDialogView-header{margin-bottom:0}.treasureMapDialogView-chest-item-padding:before{box-shadow:1px 1px 2px -1px #333}.mh-ui-environments-block .treasureMapView-block-content:first-child,.treasureMapView-block.mh-ui-listed-maps-block,.treasureMapView-block-title.mh-ui-listed-maps-title{display:none}\n'; } }); // src/modules/better-maps/styles/helper.css var helper_default2; var init_helper2 = __esm({ "src/modules/better-maps/styles/helper.css"() { helper_default2 = "#custom-submenu-item-mh-improved-map-helper .name{display:flex;flex-direction:column;justify-content:center;height:30px;line-height:1.3}#custom-submenu-item-mh-improved-map-helper .title{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}#custom-submenu-item-mh-improved-map-helper .subtitle{font-size:10px}.mh-improved-map-helper-popup pre{box-sizing:border-box;width:100%;height:400px;padding:10px;overflow:scroll;font-family:monospace;white-space:normal;background-color:#eee}\n"; } }); // src/modules/better-maps/styles/hunters.css var hunters_default; var init_hunters = __esm({ "src/modules/better-maps/styles/hunters.css"() { hunters_default = ".treasureMapView-componentContainer{width:130px}.treasureMapView-block.treasureMapView-invitedHuntersList{margin:20px 0}.treasureMapView-block.treasureMapView-invitedHuntersList .userSelectorView-user-image{width:20px;height:20px}.treasureMapView-block.treasureMapView-invitedHuntersList .treasureMapView-invitedHuntersList-row-link{font-size:10px}.treasureMapView-invitedHuntersList-row{margin-top:3px}.treasureMapDialogView-deleteInviteRequest.reject-invite-request{display:inline-block;width:12px;padding:3px;margin-right:6px;color:#242424;text-align:center;background-color:#dcd5d5;border-radius:50%}.treasureMapDialogView-deleteInviteRequest.reject-invite-request:hover,.treasureMapDialogView-deleteInviteRequest.reject-invite-request:focus,.treasureMapDialogView-deleteInviteRequest.reject-invite-request:active{text-decoration:none;background-color:#a3a3a3}.treasureMapView-allyRow:last-child .treasureMapView-allyCell.hunters-last-slot{display:inline-block;width:90px;margin-top:16px;margin-left:10px;font-style:italic;white-space:nowrap;vertical-align:middle}.treasureMapView-mapMenu-group-invite.mh-ui-invite-wrapper{display:flex;gap:5px}.treasureMapView-mapMenu-group-invite .mousehuntActionButton.mh-ui-invite-button{margin-bottom:0!important}.mh-ui-find-hunters-title,.mh-ui-map-settings-title,.mh-ui-share-title{display:none}.mh-ui-find-hunters-block{margin-top:18px}.mh-ui-map-settings-block .treasureMapView-block-content{display:flex;flex-direction:column;gap:5px;align-items:stretch;justify-content:center}.treasureMapView-block.mh-ui-share-block .treasureMapView-block-content{display:flex;gap:3px;align-items:center}a.mousehuntActionButton.lightBlue.treasureMapView-inviteModeButton{margin-top:0}.mh-ui-find-hunters-block .treasureMapView-mapMenu-group-invite{display:flex;align-items:stretch;justify-content:space-around}.treasureMapView-mapMenu-group-invite .mousehuntActionButton{margin-bottom:0!important}.treasureMapView-header .treasureMapView-hunter-image{min-width:44px;min-height:44px}.mh-ui-quick-invite-wrapper{position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:space-around;max-width:185px;padding:10px;margin-bottom:10px;background-color:#eee;border:1px solid #ccc;border-radius:3px}input.mh-ui-quick-invite-input{width:auto;max-width:100px;padding:5px;margin:0;border:1px solid #c6c6c6}.mh-ui-quick-invite-indicator{position:absolute;top:15px;right:65px;width:20px;height:20px}.mh-ui-quick-invite-indicator.mh-ui-quick-invite-spinner{background-image:url(https://www.mousehuntgame.com/images/ui/loaders/small_spinner.gif);background-repeat:no-repeat;background-size:16px}.mh-ui-quick-invite-indicator.mh-ui-quick-invite-success{background-image:url(https://www.mousehuntgame.com/images/ui/hud/meadow_checkmark.png);background-repeat:no-repeat;background-size:16px}.mh-ui-quick-invite-wrapper .mh-ui-error-message{position:absolute;top:42px;right:5px;left:5px;text-align:center}span.treasureMapView-shareLinkInputStatus{display:none}.treasureMapView-mapMenu-group-invite{display:flex;flex-direction:column;gap:10px}.treasureMapView-inviteModeDescription{margin-bottom:5px}.treasureMapView-hunter-wrapper.mousehuntTooltipParent{padding-top:20px;margin-top:-10px}\n"; } }); // src/modules/better-maps/styles/map-ar.css var map_ar_default; var init_map_ar = __esm({ "src/modules/better-maps/styles/map-ar.css"() { map_ar_default = ".treasureMapView.treasure .treasureMapView-goals-group-goal[data-mh-ui-ar=true] .treasureMapView-goals-group-goal-name,.treasureMapView.event .treasureMapView-goals-group-goal[data-mh-ui-ar=true] .treasureMapView-goals-group-goal-name{position:relative;display:flex;flex-direction:column;gap:3px;align-items:flex-start;justify-content:center}.mh-ui-ar{padding:3px;font-size:10px;color:#000;background-color:#fff;border:1px solid #d9d9d9;border-radius:4px}.poster .mh-ui-ar{position:absolute;right:0;bottom:-7px;font-family:lucida grande,tahoma,verdana,arial,sans-serif;font-size:10px;color:#000;text-shadow:none}.mh-ui-ar-hidden .mh-ui-ar{display:none}.complete .mh-ui-ar{background-color:#e5e5e5}.mh-ui-ar-guaranteed{background-color:#0ef;border-color:#8fb1b3}.mh-ui-ar-super-easy{background-color:#8ffaab;border-color:#73b484}.mh-ui-ar-easy{background-color:#b9ff9e;border-color:#8fb17a}.mh-ui-ar-medium{background-color:#ffdab9;border-color:#c5a381}.mh-ui-ar-hard{background-color:#ffc440;border-color:#c59c40}.mh-ui-ar-kinda-hard{background-color:#fe964d;border-color:#c57a40}.mh-ui-ar-super-hard{background-color:#ff9e9e;border-color:#c55a5a}.mh-ui-ar-extreme{color:#fff;background-color:#ed6464;border-color:#a64a4a}.mh-ui-ar-impossible{color:#fff;background-color:#c92222;border-color:#5a2121}.mh-ui-toggle-ar-button,.mh-ui-ar-failed{margin-left:10px}.treasure .treasureMapView-goals-group-goal[data-mh-ui-ar=true].item .treasureMapView-goals-group-goal-name,.event .treasureMapView-goals-group-goal[data-mh-ui-ar=true].item .treasureMapView-goals-group-goal-name{align-items:center}\n"; } }); // src/modules/better-maps/styles/mhct.css var mhct_default; var init_mhct = __esm({ "src/modules/better-maps/styles/mhct.css"() { mhct_default = ".mhct-data{display:none}.mouse-container-selected .mhct-data{display:block}.treasureMapView-highlight.goal.sticky .mh-ui-mouse-links-map-ars .mhct-data{display:block;margin-top:1px}.mhct-title{display:none;padding:10px;margin-bottom:10px;font-size:12px;border-bottom:1px solid #dedede}.mhct-row{display:grid;grid-template-columns:3fr 3fr 1fr;column-gap:4px;place-items:center stretch;padding:4px;font-size:11px;color:#000}.mhct-row:nth-child(odd){background-color:#e2e2e2}.mhct-location{display:flex;flex-direction:column}.mhct-stage{color:#666}.mh-dark-mode .mhct-stage{color:#a7a7a7}.mhct-rate{font-family:monospace;font-size:13px;text-align:right}.mh-ui-mouse-links-map-ars,.treasureMapView-highlight.environment .mh-ui-mouse-links-map-ars{display:none}.sticky .mh-ui-mouse-links-map-ars{display:block}.mh-ui-mouse-links-map-ars .mhct-data{position:relative;display:flex;margin:0;color:#000;background-color:#fff;border-top:none;border-radius:6px}.mh-dark-mode .mh-ui-mouse-links-map-ars .mhct-data{color:#fff;border-color:#2c2c2c}.mh-ui-mouse-links-map-ars .mhct-row:nth-child(odd){color:#000;background-color:#f2f2f2}.mh-ui-mouse-links-map-ars .mhct-rate{display:flex;align-items:center;height:100%;font-size:13px}.mh-ui-mouse-links-map-ars .mhct-row{place-items:start stretch}.mh-ui-mouse-links-map-ars .mhct-title{display:flex;align-items:center;justify-content:space-between;padding:5px;font-size:11px;color:#000;background-color:#d6d6d6;border-top:1px solid #dedede;border-bottom:1px solid #2c415a;border-top-left-radius:4px;border-top-right-radius:4px}.mh-dark-mode .mh-ui-mouse-links-map-ars .mhct-title{color:#fff;background-color:#000;border-color:#2c2c2c}.mh-ui-mouse-links-map-ars .mhct-stage{max-width:80px;overflow:hidden;text-overflow:ellipsis}.treasureMapView-highlight-content{border-bottom-right-radius:0;border-bottom-left-radius:0}.mh-ui-mouse-links-map-ars .mhct-title,.mh-ui-mouse-links-map-ars .mhct-data{border-top-left-radius:0;border-top-right-radius:0}.mh-ui-mouse-links-map-ars .mhct-row:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}\n"; } }); // src/modules/better-maps/styles/scroll-shop.css var scroll_shop_default; var init_scroll_shop = __esm({ "src/modules/better-maps/styles/scroll-shop.css"() { scroll_shop_default = '.treasureMapPopup-shop .treasureMapView-block-content-heading{padding:10px;margin:0;border-color:transparent}.treasureMapInventoryView-scrollCase:first-of-type{margin-top:0}.treasureMapPopup-shop-environment{padding-bottom:0;margin-bottom:5px;border:1px solid rgb(0 0 0 / 12%);border-radius:3px}.treasureMapShopsView .treasureMapView-leftBlock{width:99%;height:600px}.treasureMapShopsView .treasureMapView-rightBlock{display:none}.treasureMapPopup-shop{margin-bottom:10px;background-color:#fbfbfb;border-radius:3px}.treasureMapPopup-shop-environment.active:before{box-shadow:none}.treasureMapView-block-content.treasureMapShopsView-shopItems{padding:0}.treasureMapShopsView .treasureMapView-blockWrapper .treasureMapView-leftBlock>.treasureMapView-block{height:calc(100% - 18px);overflow-y:auto;border:none}.treasureMapInventoryView-scrollCase-content div[style="border: 1px red dotted; padding: 5px; font-size: 10px;"]{display:none}b[style="color:red; font-size: 14px;"],b[style="color:red; font-size: 14px;"]+br{display:none}\n'; } }); // src/modules/better-maps/styles/sidebar.css var sidebar_default2; var init_sidebar2 = __esm({ "src/modules/better-maps/styles/sidebar.css"() { sidebar_default2 = '.pageSidebarView{padding-left:10px}.pageFrameView-column.right{border-left-width:15px}.pageFrameView{grid-template-columns:[first] auto [content-start] 760px [sidebar] 210px [content-end] auto [last]}.mh-improved-map-sidebar{padding:0;margin:5px 0 15px;border:1px solid #ddedff}.mh-improved-map-sidebar-title{position:relative;padding:5px;font-size:11px;text-align:center;background-color:#ddedff}.mh-improved-map-sidebar-title:hover{cursor:pointer}.mh-improved-map-sidebar-goals{display:flex;flex-direction:column}.mh-improved-map-sidebar-goal{display:flex;gap:5px;align-items:center;justify-content:flex-start;padding:1px 5px}.mh-improved-map-sidebar-goal-image{width:20px;height:20px;background-size:cover;border-radius:3px;box-shadow:inset 0 0 0 1px #fff}.mh-improved-map-sidebar-goal-name{font-size:10px}.mh-improved-map-sidebar-goal:hover{cursor:pointer;background-color:#eee}.mh-improved-map-sidebar-goal-active{background-color:#fdfbcc}.mh-improved-map-sidebar-title:after{position:absolute;top:2px;right:0;box-sizing:border-box;display:block;width:17px;height:17px;padding:9px;margin:1px;content:"";background:url(https://www.mousehuntgame.com/images/ui/puzzle/refresh.png) no-repeat center center / contain;border-radius:50%;opacity:.3}.mh-improved-map-sidebar-title:hover:after{opacity:1}.loading .mh-improved-map-sidebar-title:after{animation:mh-improved-spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.loading .mh-improved-map-sidebar-title:after{animation:none}}.mh-improved-map-sidebar-goal-has-hunter:after{position:absolute;top:3px;right:4px;width:15px;height:15px;content:"";background-size:contain;border:1px solid #808080;border-radius:50%}\n'; } }); // src/modules/better-maps/styles/sorted-map.css var sorted_map_default; var init_sorted_map = __esm({ "src/modules/better-maps/styles/sorted-map.css"() { sorted_map_default = "#sorted-mice-container .mouse-category-twilight-midnight-pitch .mouse-category-title{font-size:13px}#sorted-mice-container .mouse-category-first-light-utter-darkness .mouse-category-title{font-size:12px}\n"; } }); // src/modules/better-maps/styles/sorted.css var sorted_default; var init_sorted = __esm({ "src/modules/better-maps/styles/sorted.css"() { sorted_default = `#sorted-mice-container{margin:20px 5px}#sorted-mice-container .mouse-category-container{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;place-items:stretch stretch;margin-bottom:25px}#sorted-mice-container .mouse-category-wrapper{position:relative;color:#000;background-color:#e6e6e6;border:1px solid rgb(5 5 5 / 50%);border-radius:0;box-shadow:0 2px 1px -1px #909090}#sorted-mice-container .mouse-category-header{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:6px 10px;margin-bottom:3px;color:#000;background-color:#ffffffa6;border-bottom:1px solid rgb(5 5 5)}#sorted-mice-container .mouse-category-icon{width:30px;height:30px;margin-right:10px}#sorted-mice-container .mouse-category-icon-title-wrapper{display:flex;align-items:center}#sorted-mice-container .mouse-category-title{font-size:14px}#sorted-mice-container .mouse-category-subtitle{margin-top:2px;font-size:11px;font-style:italic}#sorted-mice-container .mouse-category-mice{padding:4px}#sorted-mice-container .mouse-container{padding-right:5px;margin-bottom:5px;cursor:pointer;border-radius:4px}#sorted-mice-container .mouse-data{position:relative;display:flex;align-items:center}#sorted-mice-container .mouse-name{flex:1}#sorted-mice-container .mouse-extra-info{display:none}#sorted-mice-container .mouse-container-selected,#sorted-mice-container .mouse-container:hover,#sorted-mice-container .mouse-container:focus{position:relative;background:#ffffff7f;outline:1px solid rgb(25 25 25 / 35%)}#sorted-mice-container .mouse-container-selected .mouse-mhct-extra-info-wrapper{position:fixed;z-index:10;display:block;width:350px;padding:10px 5px;margin:-5px -10px;background-color:#eaeaea;border:1px solid #a8a8a8;border-radius:3px;box-shadow:0 10px 15px #0000007f;transform:translate(-75px,-5px)}#sorted-mice-container .mouse-subcategory-mice .mouse-container-selected .mouse-mhct-extra-info-wrapper{right:-15px;left:-15px}#sorted-mice-container .mouse-container-selected .mouse-extra-info{display:block}#sorted-mice-container .mouse-image{width:auto;height:35px;margin:5px;border-radius:3px;outline:1px solid #989898}#sorted-mice-container .scavenger-sorted-page .mouse-image{outline:none}.mh-dark-mode #sorted-mice-container .mouse-image{border-radius:3px}#sorted-mice-container .mouse-category-wrapper-hidden{display:none}#sorted-mice-container .mouse-subcategory-wrapper{margin:3px;background-color:#fff9;border:1px solid rgb(0 0 0 / 60%);box-shadow:inset 1px 1px 2px -1px #0009}#sorted-mice-container .mouse-subcategory-header{position:relative;padding:8px;margin-bottom:3px;font-size:11px;border-bottom:1px solid #999}#sorted-mice-container .mouse-subcategory-mice{padding:0 5px}#sorted-mice-container .mouse-locations{display:flex;flex-direction:column}#sorted-mice-container .mouse-location{display:inline-block;margin-bottom:5px}#sorted-mice-container .mhct{margin-top:15px}#sorted-mice-container .location-text-wrapper{text-align:center}#sorted-mice-container .mouse-weakness{display:flex;align-items:center;justify-content:center;margin-top:10px}#sorted-mice-container .weakness-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}#sorted-mice-container .power-types img{width:15px;height:15px;margin:1px}#sorted-mice-container .weakness-name{flex:0 0 100%;margin-right:2px;margin-bottom:2px;font-size:10px;text-align:center}#sorted-mice-container .mouse-locations-wrapper{display:flex}.mouse-category-wrapper.mouse-category-current-floor .mouse-category-header:after,.mouse-subcategory-wrapper.mouse-subcategory-current-floor .mouse-subcategory-header:after{position:absolute;top:-4px;right:2px;z-index:1;width:25px;height:25px;margin:0;content:"";background-color:#fff;background-image:url(https://www.mousehuntgame.com//images/ui/friends/anonymous_user.png);background-size:cover;border-radius:50%}.mouse-subcategory-wrapper.mouse-subcategory-current-floor .mouse-subcategory-header:after{top:5px;border:1px solid #9f9f9f}.mouse-category-wrapper.mouse-category-current-floor .mouse-category-header:before{position:absolute;top:-8px;right:-4px;width:37px;height:48px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/bountiful_beanstalk/player.png);filter:hue-rotate(275deg);background-repeat:no-repeat;background-position:center;background-position-y:0;background-size:100%}#sorted-mice-container .mouse-subcategory-wrapper .mouse-subcategory-header{margin-bottom:3px;background-color:#ffffffbf;border-bottom:1px solid #070707}.mhct-row.mhct-row-no-env{cursor:not-allowed}.scavenger-location-content,.sorted-page-content.generic-sorted-page{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 30px}.scavenger-location-content .mh-ui-ar{margin-left:5px}.poster .sorted-page-content .mh-ui-ar{position:relative;right:unset;bottom:unset}.sorted-page-content .mhct-stage{max-width:110px;overflow:hidden;text-overflow:ellipsis}.treasureMapView-leftBlock{position:relative}.mh-ui-goals-sidebar-toggle{position:absolute;top:10px;right:20px;width:15px;height:15px;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 24 24" width="28" fill="currentColor"><path d="M4 0h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4zm0 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4zm7.828 8L8.293 6.464A1 1 0 0 1 9.707 5.05l4.243 4.243a1 1 0 0 1 0 1.414L9.707 14.95a1 1 0 1 1-1.414-1.414L11.828 10z"></path></svg>');background-repeat:no-repeat;background-size:100%;opacity:.5}.mh-ui-goals-sidebar-toggle.closed{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-2 -2 24 24" width="28" fill="currentColor"><path d="M4 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H4zm0-2h12a4 4 0 0 1 4 4v12a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"></path><path d="M8.414 9H14a1 1 0 1 1 0 2H8.414l2.536 2.536a1 1 0 0 1-1.414 1.414l-4.243-4.243a.997.997 0 0 1 0-1.414L9.536 5.05a1 1 0 1 1 1.414 1.414L8.414 9z"></path></svg>')}.mh-ui-goals-sidebar-toggle:hover{opacity:1}.treasureMapView-leftBlock.full-width{width:100%}.full-width .treasureMapView-goals-group-goal{width:calc(20% - 5px)}.scavenger-toggle-wrapper{display:flex;gap:10px;justify-content:flex-start;margin-bottom:20px}.sorted-page[data-scavenger-sorted-by=none] .sorted-page-content.treasureMapView-block-content.scavenger-sorted-page{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 30px} `; } }); // src/modules/better-maps/styles/sticky.css var sticky_default; var init_sticky = __esm({ "src/modules/better-maps/styles/sticky.css"() { sticky_default = ".treasureMapView-highlight.hidden.better-maps-sticky-clone{display:none}\n"; } }); // src/modules/better-maps/styles/userscripts.css var userscripts_default; var init_userscripts = __esm({ "src/modules/better-maps/styles/userscripts.css"() { userscripts_default = 'fieldset.tsitu-mapping{display:flex;align-items:center;justify-content:flex-end;float:right;width:200px!important;padding:0!important;margin-right:13px;margin-left:0!important;border:none!important}span.tsitu-mapping{display:flex!important;align-items:center;padding-bottom:8px;margin:0!important}span.tsitu-mapping.tsitu-refresh-span>span{display:none}.tsitu-mapping br,.tsitu-mapping legend,.tsitu-mapping label{display:none}input[name=tsitu-mapping-id-input]{width:100px;height:17px;line-height:20px}.tsitu-mapping button[style="margin-left: 5px;"]{padding:4px 3px;margin-right:4px;margin-left:2px!important;font-size:9px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:5px;box-shadow:0 -5px 8px -2px #ffae00 inset}.tsitu-mapping button[style="margin-left: 5px;"]:hover,.tsitu-mapping button[style="margin-left: 5px;"]:focus{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}button.mousehuntActionButton.tiny.tsitu-mapping{padding:4px!important;margin:0!important}.mh-dark-mode input[name=tsitu-mapping-id-input]{color:#fff;background-color:#636363;border:1px solid #2c2c2c}\n'; } }); // src/modules/better-maps/index.js var imported, styles, updateMapClasses, updateBlockContent, addBlockClasses, interceptMapRequest, initMapper, intercept, clearStickyMouse, updateRelicHunterHint, _showInventory, relicHunterUpdate, init6, better_maps_default; var init_better_maps = __esm({ "src/modules/better-maps/index.js"() { init_utils2(); init_settings6(); init_helper(); init_tab_sorted(); init_tab_goals(); init_tab_hunters(); init_community(); init_shops(); init_sidebar(); init_general(); init_helper2(); init_hunters(); init_map_ar(); init_mhct(); init_scroll_shop(); init_sidebar2(); init_sorted_map(); init_sorted(); init_sticky(); init_userscripts(); imported = [general_default, helper_default2, hunters_default, map_ar_default, mhct_default, scroll_shop_default, sidebar_default2, sorted_map_default, sorted_default, sticky_default, userscripts_default]; styles = imported; updateMapClasses = () => { var _a, _b, _c; const map = document.querySelector(".treasureMapRootView"); if (map) { if (((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.maps) == null ? void 0 : _c.length) >= 2) { map.classList.add("mh-ui-multiple-maps"); } else { map.classList.remove("mh-ui-multiple-maps"); } } }; updateBlockContent = (block, type) => { if ("environments" === type) { const environments5 = block.querySelectorAll(".treasureMapView-environment"); const sortedEnvironments = [...environments5].sort((a, b) => a.innerText.localeCompare(b.innerText)); sortedEnvironments.forEach((env) => { block.append(env); }); } }; addBlockClasses = () => { const rightBlocks = document.querySelectorAll(".treasureMapView-rightBlock > div"); const leftBlocks = document.querySelectorAll(".treasureMapView-leftBlock > div"); const blocks = [...rightBlocks, ...leftBlocks]; let prevBlockType = ""; blocks.forEach((block) => { if (block.classList.contains("treasureMapView-block-title")) { const blockType = block.innerText.trim().toLowerCase().replaceAll(" ", "-").replaceAll(/[^a-z-]/g, "").replace("--", "-").replace("goalssearch", "goals"); block.classList.add(`mh-ui-${blockType}-title`); updateBlockContent(block, `${blockType}-title`); prevBlockType = blockType; } else { block.classList.add(`mh-ui-${prevBlockType}-block`); updateBlockContent(block, prevBlockType); } }); }; interceptMapRequest = (mapId) => { sessionSet("map-refreshed", Date.now()); if (!mapId) { return false; } const init77 = (mapData3) => { setGlobal("mapper", { mapData: mapData3, mapModel: new hg.models.TreasureMapModel(mapData3) }); doEvent2("mapper_loaded", mapData3); return data; }; const data = getMapData(mapId, true); if (data) { return init77(data); } return false; }; initMapper = (map) => { if (!map || !map.map_id || !map.map_type) { return; } const content = document.querySelector(".treasureMapRootView-content"); if (content && content.classList.contains("loading")) { const observer = new MutationObserver((mutations, mObserver) => { mutations.forEach((mutation) => { if (mutation.type === "attributes" && mutation.attributeName === "class" && !mutation.target.classList.contains("loading")) { mObserver.disconnect(); initMapper(map); } }); }); const rootOfChanges = document.querySelector(".treasureMapRootView"); observer.observe(rootOfChanges, { attributes: true, childList: true, subtree: true }); } addSortedMapTab(); const tabs = document.querySelectorAll(".treasureMapRootView-subTab"); tabs.forEach((tab) => { tab.addEventListener("click", () => { addBlockClasses(); doEvent2("map_tab_click", map); doEvent2(`map_${tab.getAttribute("data-type")}_tab_click`, map); }); }); if (getSetting("better-maps.default-to-sorted", false)) { if (!(map.can_claim_reward || map.is_complete)) { doEvent2("map_sorted_tab_click", map); } } else { doEvent2("map_show_goals_tab_click", map); } addBlockClasses(); }; intercept = () => { const parentShowMap = hg.controllers.TreasureMapController.showMap; hg.controllers.TreasureMapController.showMap = (id = false) => { var _a, _b; parentShowMap(id); const intercepted = interceptMapRequest(id != null ? id : (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.default_map_id); setTimeout(() => { var _a2, _b2; if (!intercepted) { interceptMapRequest(id != null ? id : (_b2 = (_a2 = user == null ? void 0 : user.quests) == null ? void 0 : _a2.QuestRelicHunter) == null ? void 0 : _b2.default_map_id); } }, 1e3); }; onRequest("users/treasuremap.php", (data) => { if (data.treasure_map && data.treasure_map.map_id) { setMapData(data.treasure_map.map_id, data.treasure_map); } }, true); onRequest("board/board.php", (data) => { if (data.treasure_map && data.treasure_map.map_id) { setMapData(data.treasure_map.map_id, data.treasure_map); } }, true); }; clearStickyMouse = () => { const sticky = document.querySelector(".treasureMapView-highlight"); if (sticky) { sticky.classList.remove("sticky"); sticky.classList.remove("active"); } const mapGroupGoal = document.querySelectorAll(".treasureMapView-goals-group-goal"); if (mapGroupGoal) { mapGroupGoal.forEach((goal) => { goal.classList.remove("sticky"); }); } }; updateRelicHunterHint = () => __async(void 0, null, function* () { const relicHunter = document.querySelector(".treasureMapInventoryView-relicHunter-hint"); if (!relicHunter) { return false; } if (relicHunter.getAttribute("data-travel-button-added")) { return true; } relicHunter.setAttribute("data-travel-button-added", true); const hint = relicHunter.innerText.trim(); const relicHunterHints = yield getData("relic-hunter-hints"); let key = false; Object.keys(relicHunterHints).forEach((k) => { if (relicHunterHints[k].includes(hint)) { key = k; } }); if (!key) { return true; } environments = yield getData("environments"); const environment = environments.find((e) => e.id === key); if (!environment) { return true; } let hintWrapper = document.querySelector(".treasureMapInventoryView-relicHunter"); if (!hintWrapper) { hintWrapper = relicHunter; } makeElement("div", "treasureMapInventoryView-relicHunter-hintSuffix", `... in ${environment.article}.`, hintWrapper); const travelButton = makeElement("div", ["mousehuntActionButton", "small"]); makeElement("span", "", "Travel", travelButton); travelButton.addEventListener("click", () => { hg.utils.User.travel(environment.id); }); hintWrapper.append(travelButton); return true; }); relicHunterUpdate = () => { if (_showInventory) { return; } _showInventory = hg.controllers.TreasureMapController.showInventory; hg.controllers.TreasureMapController.showInventory = () => { _showInventory(); let tries = 0; const interval = setInterval(() => __async(void 0, null, function* () { tries++; if ((yield updateRelicHunterHint()) || tries > 5) { clearInterval(interval); } }), 250); }; }; init6 = () => __async(void 0, null, function* () { addStyles(styles, "better-maps"); eventRegistry.addEventListener("map_sorted_tab_click", showSortedTab); eventRegistry.addEventListener("map_show_goals_tab_click", showGoalsTab); eventRegistry.addEventListener("map_manage_allies_tab_click", showHuntersTab); eventRegistry.addEventListener("map_tab_click", (map) => { hideGoalsTab(map); hideSortedTab(map); clearStickyMouse(); }); eventRegistry.addEventListener("mapper_loaded", initMapper); intercept(); relicHunterUpdate(); shops_default(); if (getSetting("better-maps.community")) { community_default(); } if (getSetting("experiments.better-maps-helper")) { helper_default(); } if (!getSetting("no-sidebar") && getSetting("better-maps.show-sidebar-goals", true)) { sidebar_default(); } let clearCacheTimeout; onDialogShow("map", () => __async(void 0, null, function* () { const tabs = document.querySelectorAll(".treasureMapRootView-header-navigation-item"); tabs.forEach((tab) => { const classes = [...tab.classList]; if (classes.includes("active")) { doEvent2("map_navigation_tab_click", classes.find((c) => c !== "treasureMapRootView-header-navigation-item").trim()); } tab.addEventListener("click", () => { doEvent2("map_navigation_tab_click", classes.find((c) => c !== "treasureMapRootView-header-navigation-item" && c !== "active").trim()); }); }); clearCacheTimeout = setTimeout(() => { clearTimeout(clearCacheTimeout); hg.controllers.TreasureMapController.clearMapCache(); }, 10 * 1e3); })); onEvent("map_navigation_tab_click", () => { addBlockClasses(); updateMapClasses(); }); onRequest("users/treasuremap.php", () => { addBlockClasses(); updateMapClasses(); }); }); better_maps_default = { id: "better-maps", name: "Better Maps", type: "better", default: true, description: "Adds a number of features to maps, including showing attracting rates, a sorted tab that categorizes a variety of maps, and showing more information on the Hunters tab.", load: init6, settings: settings_default5 }; } }); // src/modules/better-journal/journal-gold-and-points/styles.css var styles_default7; var init_styles8 = __esm({ "src/modules/better-journal/journal-gold-and-points/styles.css"() { styles_default7 = '.mh-ui-gold,.mh-ui-points{position:relative;margin-left:20px}.mh-ui-gold:after,.mh-ui-points:after{position:absolute;inset:-2px 0 0 -20px;width:18px;height:18px;content:"";background-image:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/dccbaeebbdfa745340ff9363749f35ba.png);background-position:center;background-size:contain}.mh-ui-points:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/eeebc1c32b4242b95f75041be7275980.png)}\n'; } }); // src/modules/better-journal/journal-gold-and-points/index.js var wrapGoldAndPoints, journal_gold_and_points_default; var init_journal_gold_and_points = __esm({ "src/modules/better-journal/journal-gold-and-points/index.js"() { init_utils2(); init_styles8(); wrapGoldAndPoints = (entry) => { if (entry.getAttribute("data-modified-points-gold")) { return; } entry.setAttribute("data-modified-points-gold", true); if (entry.querySelector(".mh-ui-points") || entry.querySelector(".mh-ui-gold")) { return; } const points = entry.innerHTML.match(/worth (.+?) points/i); const gold = entry.innerHTML.match(/points and (.+?) gold/i); if (points) { entry.innerHTML = entry.innerHTML.replace(points[0], `worth <span class="mh-ui-points">${points[1]}</span> points`); } if (gold) { entry.innerHTML = entry.innerHTML.replace(gold[0], `points and <span class="mh-ui-gold">${gold[1]}</span> gold`); } }; journal_gold_and_points_default = () => __async(void 0, null, function* () { addStyles(styles_default7, "better-journal-gold-and-points"); addEvent("journal-entry", wrapGoldAndPoints, { weight: 2e3, id: "better-journal-gold-and-points" }); }); } }); // src/modules/better-journal/journal-history/index.js var makeEntriesMarkup, doPageStuff, getAllEntries, lastDate, saveToDatabase, doJournalHistory, doJournalHistoryRequest, pager, journalEntries, miceThumbs2, journal_history_default; var init_journal_history = __esm({ "src/modules/better-journal/journal-history/index.js"() { init_utils2(); makeEntriesMarkup = (entries) => { return entries.map((entry) => { if (entry.data) { entry = entry.data; } entry = { id: (entry == null ? void 0 : entry.id) || 0, date: (entry == null ? void 0 : entry.date) || "0:00", location: (entry == null ? void 0 : entry.location) || "", text: (entry == null ? void 0 : entry.text) || "", type: (entry == null ? void 0 : entry.type) || [], image: (entry == null ? void 0 : entry.image) || "" }; if ((entry.type.includes("catchsuccess") || entry.type.includes("catchsuccessloot") || entry.type.includes("bonuscatchsuccess") || entry.type.includes("luckycatchsuccess") || entry.type.includes("bonuscatchsuccess")) && !entry.mouse) { const mouseLink = entry.text.match(/hg\.views\.MouseView\.show\('([^']+)'\)/); if (mouseLink && mouseLink[1]) { entry.mouse = mouseLink[1]; } } let html = `<div class="${entry.type.join(" ")}" data-entry-id="${entry.id}" data-mouse-type="${entry.mouse || ""}">`; if (entry.mouse) { const mouseImages = miceThumbs2.find((mouse) => mouse.type === entry.mouse); if (mouseImages) { html += `<div class="journalimage"><a onclick="hg.views.MouseView.show('${entry.mouse}'); return false;"><img src="${mouseImages.thumb}" border="0"></a></div>`; } } if (entry.image && !entry.mouse) { html += `<div class="journalimage">${entry.image}</div>`; } html += `<div class="journalbody"><div class="journalactions"></a></div><div class="journaldate">${entry.date} - ${entry.location}</div><div class="journaltext">${entry.text}</div></div></div></div>`; return html; }).join(""); }; doPageStuff = (page, event = null) => { if (page <= 6 || page > totalPages) { return; } if (event) { event.preventDefault(); event.stopPropagation(); } const journalEntriesForPage = journalEntries.slice((page - 1) * 12, page * 12); const journalEntryContainer = document.querySelector("#journalContainer .journalEntries"); if (!journalEntriesForPage.length || !journalEntryContainer) { return; } journalEntryContainer.append(makeElement("div", "journal-history-entries", makeEntriesMarkup(journalEntriesForPage))); doEvent2("journal-history-entry-added", journalEntryContainer); }; getAllEntries = () => __async(void 0, null, function* () { if (!journalEntries.length) { journalEntries = yield dbGetAll("journal"); } if (!journalEntries.length) { return []; } journalEntries.sort((a, b) => b.id - a.id); return journalEntries; }); lastDate = ""; saveToDatabase = (entry) => __async(void 0, null, function* () { var _a; const entryId = Number.parseInt(entry.getAttribute("data-entry-id"), 10); if (!entryId) { return; } const entryText = entry.querySelector(".journalbody .journaltext"); if (!entryText) { return; } const original = yield dbGet("journal", entryId); if (original && ((_a = original.data) == null ? void 0 : _a.text)) { return; } const dateEl = entry.querySelector(".journaldate"); let date = dateEl ? dateEl.innerText : lastDate; lastDate = date; date = date.split("-"); const entryImage = entry.querySelector(".journalimage"); const journalData = { id: entryId, date: date[0] ? date[0].trim() : "0:00", location: date[1] ? date[1].trim() : "Unknown", text: entryText.innerHTML, type: [...entry.classList], mouse: entry.getAttribute("data-mouse-type") || null, image: entryImage ? entryImage.innerHTML : null }; yield dbSet("journal", journalData); }); doJournalHistory = () => __async(void 0, null, function* () { if (!pager) { const journalPageLink = document.querySelector(".pagerView-nextPageLink.pagerView-link"); if (!journalPageLink) { return; } pager = hg.views.JournalView.getPager(journalPageLink); } journalEntries = journalEntries.length ? journalEntries : yield getAllEntries(); totalPages = Math.ceil(journalEntries.length / 12); pager.setTotalItems(journalEntries.length); pager.enable(); pager.render(); }); doJournalHistoryRequest = () => { doJournalHistory(); if (pager.getCurrentPage() > 6) { doPageStuff(pager.getCurrentPage()); } }; journalEntries = []; miceThumbs2 = []; journal_history_default = (enabled) => __async(void 0, null, function* () { miceThumbs2 = yield getData("mice-thumbnails"); if (enabled) { doJournalHistory(); onRequest("pages/journal.php", doJournalHistoryRequest); } addEvent("journal-entry", saveToDatabase, { weight: 1, id: "better-journal-history" }); }); } }); // src/modules/better-journal/journal-icons-minimal/styles.css var styles_default8; var init_styles9 = __esm({ "src/modules/better-journal/journal-icons-minimal/styles.css"() { styles_default8 = '.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]{position:relative;padding-left:20px;white-space:nowrap}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]:before{position:absolute;top:-3px;left:-2px;display:inline-block;width:19px;height:19px;content:"";background-repeat:no-repeat;background-size:contain}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=super_brie_cheese"]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chrome_trinket"]:before{top:-4px;left:-3px;background-image:url(https://i.mouse.rip/upscaled/7d9f0e220db8280b84b8bffe39cd803e.png);background-size:22px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]{padding-left:20px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=party_trinket"]:before{left:-4px;background-image:url(https://i.mouse.rip/upscaled/8331fe131377c15fcf5c4773bde1fd8f.png)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=snowball_trinket"]:before{top:-2px;background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/36d3d62f27e2b76944591f86229bc2f0.png)}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"],.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]{padding-left:17px}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=scavenger_hunt_hint_stat_item"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]:before{left:-3px;background-image:url(https://www.mousehuntgame.com/images/items/stats/large/5da5d920ba95f944d4e5b37ae235685e.png)}.journal .entry.unstable_charm_trigger a[href*="https://www.mousehuntgame.com/item.php?item_type="]:before{display:none}.journal .entry.unstable_charm_trigger .journaltext a{padding-left:unset}\n'; } }); // src/modules/better-journal/journal-icons/styles.css var styles_default9; var init_styles10 = __esm({ "src/modules/better-journal/journal-icons/styles.css"() { styles_default9 = '.entry.short.misc.custom.refine_pollutinum .journaltext a:before{display:none}.entry.short.misc.custom.refine_pollutinum .journaltext a{padding:0}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=map_clue_stat_item"]:before{left:1px}.spring_hunt_charge_trinket_effect .journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chocolatium_stat_item"]:before,.spring_hunt_relic_hunter_egg_drop .journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=relic_hunter_egg_convertible"]:before{display:none}.spring_hunt_charge_trinket_effect .journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=chocolatium_stat_item"],.spring_hunt_relic_hunter_egg_drop .journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=relic_hunter_egg_convertible"]{padding-left:unset}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=storm_egg_convertible"]:before,.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=prize_credit_stat_item"]:before{left:0}.journaltext a[href="https://www.mousehuntgame.com/item.php?item_type=fulminas_gift_convertible"]{padding-left:22px}\n'; } }); // src/modules/better-journal/journal-icons/index.js var journal_icons_default; var init_journal_icons = __esm({ "src/modules/better-journal/journal-icons/index.js"() { init_utils2(); init_styles9(); init_styles10(); journal_icons_default = () => __async(void 0, null, function* () { const existing = document.querySelector("#better-journal-icons"); if (existing) { return; } addExternalStyles("https://api.mouse.rip/journal-icons.css"); addStyles([styles_default9, styles_default8], "better-journal-icons"); }); } }); // src/modules/better-journal/journal-icons-minimal/index.js var journal_icons_minimal_default; var init_journal_icons_minimal = __esm({ "src/modules/better-journal/journal-icons-minimal/index.js"() { init_utils2(); init_styles9(); journal_icons_minimal_default = () => __async(void 0, null, function* () { addStyles(styles_default8, "better-journal-icons-minimal"); }); } }); // src/modules/better-journal/journal-item-colors/colors.json var colors_default; var init_colors = __esm({ "src/modules/better-journal/journal-item-colors/colors.json"() { colors_default = [ { item: "scavenger_hunt_hint_stat_item", color: "#1e831e" }, { item: "map_clue_stat_item", color: "#1e831e" }, { item: "fulminas_gift_convertible", color: "#a012a0" }, { item: "chrome_trinket", color: "#8b9ec8" }, { item: "snowball_trinket", color: "#1f719e" } ]; } }); // src/modules/better-journal/journal-item-colors/index.js var makeStyles, journal_item_colors_default; var init_journal_item_colors = __esm({ "src/modules/better-journal/journal-item-colors/index.js"() { init_utils2(); init_colors(); makeStyles = () => { let styles8 = ""; colors_default.forEach((color) => { styles8 += `.journal .entry a[href="https://www.mousehuntgame.com/item.php?item_type=${color.item}"] { color: ${color.color}; }`; }); return styles8; }; journal_item_colors_default = () => __async(void 0, null, function* () { addStyles(makeStyles(), "better-journal-link-colors"); }); } }); // src/modules/better-journal/journal-list/styles.css var styles_default10; var init_styles11 = __esm({ "src/modules/better-journal/journal-list/styles.css"() { styles_default10 = 'ul.better-journal-list{margin-left:15px;list-style:disc}.better-journal-list a:after{content:""!important}.journal .content .entry .journaltext .better-journal-list{line-height:16px}.journal .content .entry.bountifulBeanstalk-defeatedGiant .journaltext ul{margin-top:-15px;line-height:21px;list-style:disc}.journal .content .entry.bountifulBeanstalk-defeatedGiant .journaltext li{margin-left:20px}\n'; } }); // src/modules/better-journal/journal-list/index.js var makeListItems, splitText, getItemsFromText, formatAsList, journal_list_default; var init_journal_list = __esm({ "src/modules/better-journal/journal-list/index.js"() { init_utils2(); init_styles11(); makeListItems = (itemList) => { const list = makeElement("ul", "better-journal-list"); if (0 === itemList.length) { return list; } itemList.forEach((item) => { makeElement("li", "better-journal-list-item", item, list); }); return list; }; splitText = (text) => { const items2 = text.split(/, (?=\d)| and (?=\d)/); return items2.map((item) => item.trim()).filter(Boolean); }; getItemsFromText = (type, text) => { let items2; if ("loot" === type) { items2 = text.innerHTML.split(" that dropped "); if (items2.length < 2) { return { list: [], newText: text.innerHTML }; } return { items: items2, list: splitText(items2[1]), newText: `${items2[0]} that dropped:` }; } if ("convertible" === type) { items2 = text.innerHTML.split("I received "); if (items2.length < 2) { return { list: [], newText: text.innerHTML }; } const suffix = items2[1].split(" from "); if (suffix.length < 2) { return { list: splitText(items2[1]), newText: "I received: " }; } let suffixString = suffix[1]; if (suffixString.endsWith(".")) { suffixString = suffixString.slice(0, -1); } return { list: splitText(suffix[0]), newText: `I opened ${suffixString} and received:` }; } if (text.innerHTML.includes("the following loot</b>")) { items2 = text.innerHTML.split("the following loot</b>"); return { list: splitText(items2[1]), newText: `${items2[0]} the following loot</b>: ` }; } if (text.innerHTML.includes("Inside my chest was")) { items2 = text.innerHTML.split("Inside my chest was"); return { list: splitText(items2[1]), newText: `${items2[0]} Inside my chest was: ` }; } return { list: [], newText: text.innerHTML }; }; formatAsList = (entry) => __async(void 0, null, function* () { const processed = entry.getAttribute("data-better-journal-processed"); if (processed) { return; } const lootClassesToCheck = [ "bonuscatchsuccess", "catchsuccess", "catchsuccessloot", "luckycatchsuccess", "catchsuccessprize" ]; const convertibleClassesToCheck = [ "convertible_open" ]; const otherClassesToCheck = [ "iceberg_defeated", "dailyreward" ]; const classes = new Set(entry.classList); let type; if (lootClassesToCheck.some((c) => classes.has(c))) { type = "loot"; } else if (convertibleClassesToCheck.some((c) => classes.has(c))) { type = "convertible"; } else if (otherClassesToCheck.some((c) => classes.has(c))) { type = "other"; } else { return; } entry.setAttribute("data-better-journal-processed", "true"); const text = entry.querySelector(".journalbody .journaltext"); const { newText, list } = getItemsFromText(type, text); text.innerHTML = newText; text.append(makeListItems(list)); }); journal_list_default = () => __async(void 0, null, function* () { addStyles(styles_default10, "better-journal-list"); addEvent("journal-entry", formatAsList, { weight: 3e3, id: "better-journal-list" }); }); } }); // src/modules/better-journal/journal-replacements/styles.css var styles_default11; var init_styles12 = __esm({ "src/modules/better-journal/journal-replacements/styles.css"() { styles_default11 = ".itemtransaction p.mhi-x-entry{display:inline}.itemtransaction p.mhi-x-entry .dot,.entry.short.relicHunter_catch br{display:none}\n"; } }); // src/modules/better-journal/journal-replacements/index.js var replacements, replaceInEntry, updateLog, updateMouseImageLinks, updateItemLinks, shouldSkip, processEntry, journal_replacements_default; var init_journal_replacements = __esm({ "src/modules/better-journal/journal-replacements/index.js"() { init_utils2(); init_styles12(); replacements = [ // Hunt entries ["I sounded the Hunter's Horn and was successful in the hunt!", ""], ["where I was successful in my hunt! I", "and"], ["I went on a hunt with", "I hunted with"], [/\d+? oz. /i, ""], [/\d+? lb. /i, ""], [/from (\d+?) x/i, "from $1"], [/purchased (\d+?) x/i, "purchased $1"], ["<br><b>The mouse also dropped the following loot:</b>", "==DROPREPLACE=="], [".<br>==DROPREPLACE==<br>", " that dropped "], ["<br>==DROPREPLACE==<br>", " that dropped "], ["I caught an", "I caught a"], ["I caught a", "<p>I caught a"], ["found that I had caught a mouse! I", ""], ["found that I had caught a mouse! <p>I", ""], ["I checked my trap and caught", "I checked my trap and found"], ["I returned to check my trap, but it appeared", "I checked my trap, but"], ["was successful in the hunt! I", ""], ["where I was successful in my hunt! I", "and"], ["my efforts were fruitless. A", "a"], ["got <font", "was <font"], ["trap.<br><br>Additionally, the fiend pillaged", "trap, and stealing"], ["gold from me!", "gold."], ["trap.<br><br>Additionally, the power of this mouse crippled my courage, setting me back", "trap and I lost"], // Map entries ["I successfully completed ", "Completing "], ["! Everyone who helped has been rewarded with", " gave me"], [" each!", ", I can "], ["claim my reward", "claim the reward."], ["now!", ""], [", ending the hunt!", "."], ["View Map Summary", ""], // Other ["I should hunt and catch a Relic Hunter or visit a Cartographer to obtain a new Treasure Map!", ""], ["hunt and catch a Relic Hunter or ", "I can "], ["Treasure Map!", "Treasure Map."], [", causing my trap to glimmer with a magnificent shine", ""], [", causing my trap to sparkle with a fiendish glow", ""], [", causing my trap to spark with lightning", ""], ["!The", "! The"], ["(Local Time)", ""], ["and your item(s) have been", ""], [":</b><br>", "</b> "], [/<a href="receipt.php.+?view receipt<\/a>/i, ""], ["me:<br>", "me "], [/i should tell my friends to check .+? during the next .+? to catch one!/i, ""], [/i can go to my .+? to open it/i, ""], ["Luckily she was not interested in my cheese or charms!", ""], ["while she was in my trap, but", "and"], [" while scampering off!", ""], ["The mouse stole", " The mouse stole"], ["Chest, I can", "Chest, "], ["<br>I should ", "I can "], ["<br>I can ", "I can "], [" I replaced my bait since it seemed to be stale.", ""], ["*POP* Your Unstable Charm pops off your trap and has", "My Unstable Charm"], ["You quickly add it to your inventory!", ""], ["I quickly added it to my inventory!", ""], [" burned out and left behind ", " turned into "], [" a elusive ", " a "], ["I moved forward a whopping", "I moved forward"], ["!I", "! I"], ["in search of more loot", ""], ["or I can return to the", "or return to the"], [" and begin a new expedition", ""], [" ate a piece of cheese without setting off my trap.", " stole my cheese."], ["slowly collapsed into itself with a powerful force, compressing mist in the air into an ", "compressed mist in the air into an "], ["Your S.U.P.E.R. Scum Scrubber scrubbed the mouse clean and found ", "My trap found an extra "], ["You scrubba-lubba-dub-dubbed your barrel and refined ", "I refined "], ["an additional 1 ", "an additional "], [">.", ">"], [", and ", " and "], ["!.,", "!"], ["My tower's ", "My "], ["Energy Cannon", "cannon"], ["before it could even touch my cheese!", ""], ["The mouse dropped the following prize", "that dropped"], ["My Unstable Charm turned into", "My Unstable Charm became"], ["\u2022 ", " "], ["My Condensed Creativity created additional loot:", "My Condensed Creativity created an additional "], ["The mouse stole an Ancient Relic and dropped a Relic Hunter Scroll Case", "The mouse stole an Ancient Relic and dropped a Relic Hunter Scroll Case!"], ["*BLING*", '<span class="decoration"></span>'], ["Aura helped me find", "Aura found"], ["processed added", "processed and added"], ["I have started a", "I started a"], // Event stuff // SEH [/was.+chocolatonium.+trap!/i, ""], // Halloween [/an additional:<br>/i, "an additional "], ["<br></p><p>", "<p>"], ["<br><p>", "<p>"], [/<p class="mhi-x-entry"><span class="dot"> • <\/span>/g, "", "!shop_purchase"], [/(\d+?) x /gi, '<p class="mhi-x-entry"><span class="dot"> \u2022 </span>$1 x ', "!shop_purchase"], [/<p><\/p>/g, ""], ["I can view other recipe", '<p class="double">I can view other recipe'], // SEH. ["A chocoholic", "I caught a bonus"], ["A chocolate-crazed", "I caught a bonus"], ["A voracious", "I caught a bonus"], ["A gluttonous", "I caught a bonus"], ["A hypoglycemic", "I caught a bonus"], ["A ravenous", "I caught a bonus"], ["A greedy", "I caught a bonus"], ["A hungry", "I caught a bonus"], ["A hyperactive", "I caught a bonus"], ["A sugar-induced", "I caught a bonus"], ["Eggstra Fondue extracted", "My Eggstra Fondue extracted"], ["Additionally my Eggstra Fondue also extracted", "And"], ["Here is the loot summary from my infiltration of", "I looted the following from"], ["Trove. and received", "Trove and received"], ["Lucky me, a prize mouse wandered by and fell for my trap!", "\u{1F389}\uFE0F A prize mouse fell into my trap!"], [/(\d+?,?\d*?) x /gi, " $1 ", "shop_purchase"], ["In a flash of light my", "My"], ["Dragon Slayer Cannon</a> found an additional ", "Dragon Slayer Cannon</a> found another "] ]; replaceInEntry = (entry) => { if (entry.getAttribute("data-replaced")) { return; } const element = entry.querySelector(".journalbody .journaltext"); replacements.forEach((string) => __async(void 0, null, function* () { if (!Array.isArray(string)) { return; } if (string.length === 3) { if (string[2].includes("!") && entry.classList.contains(string[2])) { return; } if (!entry.classList.contains(string[2])) { return; } } const oldText = element.innerHTML; const newText = oldText.replace(string[0], string[1]); if (oldText !== newText) { element.innerHTML = newText; } })); entry.setAttribute("data-replaced", "true"); }; updateLog = (entry) => { if (!entry.classList.contains("log_summary")) { return; } const link = entry.querySelector("td a"); if (!link) { return; } link.classList.add("mh-ui-progress-log-link", "mousehuntActionButton", "small", "lightBlue"); const span = document.createElement("span"); span.innerText = "View Progress Log"; link.innerText = ""; link.append(span); }; updateMouseImageLinks = (entry) => { const mouseType = entry.getAttribute("data-mouse-type"); if (!mouseType) { return; } const hasUpdated = entry.getAttribute("data-mouse-image-updated"); if (hasUpdated) { return; } const mouseImageLink = entry.querySelector(".journalimage a[onclick]"); if (!mouseImageLink) { return; } mouseImageLink.setAttribute("onclick", `hg.views.MouseView.show('${mouseType}'); return false;`); entry.setAttribute("data-mouse-image-updated", "true"); }; updateItemLinks = (entry) => { if (!entry.classList.contains("iceberg_defeated")) { return; } const itemLinks = entry.querySelectorAll('.journaltext a[href*="item.php"]'); if (!itemLinks) { return; } itemLinks.forEach((link) => { const itemType = link.href.match(/item\.php\?item_type=(\w+)/); if (itemType && itemType.length === 2) { link.addEventListener("click", (e) => { e.preventDefault(); hg.views.ItemView.show(itemType[1]); }); } }); }; shouldSkip = (entry) => { const keepOriginalClasses = /* @__PURE__ */ new Set([ "lunar_lantern", "valentines_matchmaker", "vending_machine_purchase", "fullyExplored" ]); if (!entry.classList) { return true; } const classList = [...entry.classList]; return classList.some((c) => keepOriginalClasses.has(c)); }; processEntry = (entry) => __async(void 0, null, function* () { if (shouldSkip(entry)) { return; } replaceInEntry(entry); updateLog(entry); updateMouseImageLinks(entry); updateItemLinks(entry); }); journal_replacements_default = () => __async(void 0, null, function* () { addStyles(styles_default11, "better-journal-replacements"); addEvent("journal-entry", (entry) => { processEntry(entry); setTimeout(() => { processEntry(entry); }, 500); }, { weight: 1e3, id: "better-journal-replacements" }); }); } }); // src/modules/better-journal/journal-styles/styles/backgrounds.css var backgrounds_default; var init_backgrounds = __esm({ "src/modules/better-journal/journal-styles/styles/backgrounds.css"() { backgrounds_default = ".journal .content .entry{background-repeat:no-repeat}.journal .content .entry,.journal .content .entry.adventureBook-journal,.journal .content .entry.craft.newrecipe,.journal .content .entry.folkloreForest-bookClaimed,.journal .content .entry.aurora_base_trigger,.journal .content .entry.regulator_base_trigger,.journal .content .entry.short.misc.custom.denture_base_decay_trigger,.journal .content .entry.burroughs_rift.danger_zone,.journal .content .entry.burroughs_rift.regulator_base_trigger,.journal .content .entry.birthday_factory,.journal .content .entry.boiling_cauldron_potion_bonus.boon_potion_bonus,.journal .content .entry.desert_heater_base_trigger,.journal .content .iceberg_advance_prevented,.journal .content .entry.minigame_done,.journal .content .entry.minigame_start,.journal .content .entry.living_grove_base_trigger,.journal .content .entry.queso_geyser,.journal .content .entry.rift_valour.claim_loot,.journal .content .entry.slac_in_a_box_trigger.popped,.journal .content .entry.sunken_city.dive,.journal .content .entry.sunken_city.zone,.journal .content .train_station.load_supply_crates,.journal .content .train_station.minigame_done,.journal .content .train_station.minigame_start,.journal .content .train_station.phase_bridge_jump,.journal .content .train_station.prize_claimed,.journal .content .train_station.progress,.journal .content .train_station.raider_wave_defeated,.journal .content .train_station.stoke_furnace,.journal .content .train_station.train_done,.journal .content .train_station.train_leave,.journal .content .train_station.train_start,.journal .content .train_station.use_mouse_repellent,.journal .content .train_station.warehouse_manager_catch,.journal .content .train_station.warehouse_manager_done,.journal .content .train_station.phase_boarding,.journal .content .entry.winter_hunt_2013,.journal .content .entry.winter_hunt_2015,.journal .content .entry.winter_hunt_2016,.journal .content .entry.floatingIslands,.journal .content .entry.vegetation_base_trigger{background-position:10px center;background-size:50px}.journal .content .entry.minimalJournalImage,.journal .content .entry.labyrinthSmall.labyrinth-clue,.journal .content .entry.winterTaiga{background-position:10px center!important;background-size:50px!important}.journal .content .entry.bonuscatchfailure,.journal .content .entry.bonuscatchsuccess{background-position:left;background-size:cover}.journal .content .entry.minimalJournalImage{background-position:15px center!important;background-size:40px!important}\n"; } }); // src/modules/better-journal/journal-styles/styles/date-hiding.css var date_hiding_default; var init_date_hiding = __esm({ "src/modules/better-journal/journal-styles/styles/date-hiding.css"() { date_hiding_default = ".journal .content .entry.short.refine_pollutinum .journalbody .journaldate,.journal .content .entry.short.torch_charm_event .journalbody .journaldate,.journal .content .entry.short.unstable_charm_trigger .journalbody .journaldate,.journal .content .entry.short.tournamentpointswithloot .journalbody .journaldate,.journal .content .entry.short.tournamentpoints .journalbody .journaldate,.journal .content .entry.short.rift-bristlewoods-acolyteSandStolen .journalbody .journaldate,.journal .content .entry.short.rift-bristlewoods-lootBooster .journalbody .journaldate,.journal .content .entry.short.super_rift_vacuum_trigger .journalbody .journaldate,.journal .content .entry.short.queso_canyon_queso_pumped .journalbody .journaldate,.journal .content .entry.short.custom.chesla_trap_trigger .journalbody .journaldate,.journal .content .entry.short.wordCount.minimalJournal .journalbody .journaldate,.journal .content .entry.short.folkloreForest.folkloreForest-lootFuelBoost .journalbody .journaldate,.journal .content .entry.short.labyrinth.labyrinth-chooseDoor .journalbody .journaldate,.journal .content .entry.short.labyrinth.labyrinth-intersection .journalbody .journaldate,.journal .content .entry.short.labyrinth.labyrinth-scrambleDoors .journalbody .journaldate,.journal .content .entry.short.misc.custom.chesla_trap_trigger .journalbody .journaldate,.journal .content .entry.short.misc.custom.birthday_factory.claim_package .journaldate,.journal .content .entry.folkloreForest-tableOfContents.mythweaverIncrease .journaldate,.journal .content .entry.iceberg_advance .journalbody .journaldate,.journal .content .entry.iceberg_defeated .journalbody .journaldate,.journal .content .entry.iceberg_phase_change .journalbody .journaldate,.journal .content .entry.iceberg_advance_prevented.general .journalbody .journaldate,.journal .content .entry.spring_hunt_charge_trinket_effect .journalbody .journaldate,.journal .content .entry.harbour .journalbody .journaldate,.journal .content .entry.iceberg_drill .journalbody .journaldate,.journal .content .entry.short.desertstreak .journalbody .journaldate,.journal .content .entry.short.rift-whisker-woods-increase .journalbody .journaldate{display:none}.journal .content .log_summary.stats .journaldate,.journal .entry.birthday2018-anniversary-trap-trigger .journaldate,.journal .birthday2015-trayComplete-special .journaldate,.journal .train_station.progress .journaldate,.journal .entry.furoma_base_trigger .journaldate,.journal .entry.living_grove_base_trigger .journaldate,.journal .entry.desert_heater_base_trigger .journaldate,.journal .entry.queso_cannonstorm_base_trigger .journaldate,.journal .entry.aurora_base_trigger .journaldate,.journal .entry.timepiece_trigger .journaldate,.journal .entry.vegetation_base_trigger .journaldate,.journal .entry.electromagnetic_base_trigger .journaldate,.journal .entry.pirate_sleigh_trigger .journaldate,.journal .entry.slac_in_a_box_trigger .journaldate,.journal .entry.regulator_base_trigger .journaldate,.journal .entry.rift_mist_diffuser_trigger .journaldate,.journal .entry.spring_hunt_relic_hunter_egg_drop .journaldate,.journal .entry.denture_base_saved_trigger .journaldate,.journal .entry.denture_base_decay_trigger .journaldate,.journal .entry.printing_press_base_journal_entry .journaldate,.journal .entry.lunar_lantern .journaldate,.journal .entry.mousoleum .journaldate,.journal .entry.labyrinth-lantern .journaldat,.journal .entry.labyrinth-base-burnClue .journaldate,.journal .entry.labyrinth-clue .journaldate,.journal .entry.bountifulBeanstalk-goldenHarpStrings .journaldate,.journal .entry.riftFuroma-energyLost .journaldate{display:none!important}\n"; } }); // src/modules/better-journal/journal-styles/styles/fullstop.css var fullstop_default; var init_fullstop = __esm({ "src/modules/better-journal/journal-styles/styles/fullstop.css"() { fullstop_default = '.entry.short.log_summary.stats .fullstop{display:none}.journal .entry .journaltext br:after{content:" "}.journal .entry .journaltext br:last-child,.journal .content .entry .journaltext>br:last-of-type,.journal .content .entry .journaltext>br:first-of-type{display:none}.journal .content .entry .journaltext>br+br:last-of-type,.journal .content .entry.floatingIslands.fullyExplored .journaltext br,.journal .content .entry.floatingIslands.defeatedEnemy .journaltext br,.journal .content .entry.harbour br{display:block}.journal .content .entry.floatingIslands.fullyExplored .journaltext br:first-of-type{display:none}.journal .entry.catchsuccessloot .journaltext br,.journal .entry.luckycatchsuccess .journaltext br,.journal .entry.relicHunter_catch .journaltext br:after,.journal .entry.relicHunter_complete .journaltext br:after{content:""}.unstable_charm_trigger .journaltext a:last-of-type:after,.journaltext .loot:last-of-type:after,.journaltext .lucky:last-of-type:after,.journaltext .item:last-of-type:after,.entry.short.supplytransferitem .journaltext a:after,.entry.gloomyGreenwood-incense .journaltext:after,.journal .entry.relicHunter_complete .journaltext b:last-of-type:after,.entry.halloween_boiling_cauldron.brew_finished a:last-of-type:after,.entry.halloween_boiling_cauldron.brew_removed a:last-of-type:after,.entry.folkloreForest-farmToTable .journaltext a:last-of-type:after,.entry.folkloreForest-forewordFarm.folkloreForest-plantStarted .journaltext a:after,.entry.festiveSpiritLootBoost .journaltext a:after,.entry.golemUpgraded .journaltext a:after,.entry.workshopPartProduced .journaltext a:after,.entry.birthday_factory.enter_room b:after,.entry.potionuse span:last-of-type:after,.entry.labyrinth-clue.labyrinth-clue-good .journaltext:after,.entry.donationComplete .journaltext a:last-of-type:after{display:inline;content:"."}.journaltext .better-journal-list a.lucky:last-of-type:after,.journaltext .better-journal-list a.item:last-of-type:after,.journaltext .better-journal-list a.loot:last-of-type:after,.entry.alchemists_cookbook_base_bonus .journaltext .loot:last-of-type:after,.entry.short.dailyreward a:last-of-type:after,.entry.folkloreForest-plantStarted,.entry.short.log_summary.stats .journaltext .loot:last-of-type:after,.entry.convertible_open .journaltext .item:last-of-type:after,.entry.short.craft.convertible_open .journaltext .item:last-of-type:after,.entry.short.supplytransferitem .journaltext #friend-data-wrapper a:after,.entry.short.craft.convertible_open a.item:after{display:none;content:""}.entry.floatingIslands.fullyExplored .journaltext .item:last-of-type:after{content:""}.journaltext .lucky:last-of-type:after,.journaltext .lucky:after{display:none}\n'; } }); // src/modules/better-journal/journal-styles/styles/general.css var general_default2; var init_general2 = __esm({ "src/modules/better-journal/journal-styles/styles/general.css"() { general_default2 = '.journalEntries{background-color:#f1f1f1}.journal .content{padding:0 5px}.journal .content .entry .journalbody{margin-top:3px;margin-bottom:3px;margin-left:85px}.journal .content .entry.minimalJournal .journalbody{margin-left:10px}.journal .content .entry{position:relative;padding:6px 3px 6px 0;border:1px solid #5b5b5b;border-bottom:none;transition:box-shadow .1s}.journal .content .entry .journalimage{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:60px;height:auto;margin:10px 0 0 10px}.shop_purchase .journal .content .entry .journalimage{margin:15px 0 0 10px}.journal .content .entry .journalimage a:hover,.journal .content .entry .journalimage a:focus{overflow:visible}.journal .content .entry .journalimage a{display:inline-block;width:59px;height:59px;overflow:hidden}.journal .content .entry a:hover img,.journal .content .entry a:focus img{filter:brightness(1.1)}.journal .content .entry .journalbody .journaltext{margin-right:5px;line-height:20px}.journal .content .entry .journaltext b{font-weight:400}.journal .content .entry .journaltext p:first-of-type{margin-top:0}.journal .content .entry .journaltext>*{line-height:24px}.journal .content .entry .journalbody .journaldate{display:inline-block;width:calc(100% - 10px);padding-top:5px;padding-bottom:3px;margin-bottom:5px;font-size:11px;font-weight:100;border-bottom:1px solid rgb(0 0 0 / 30%)}.journal-detailLinkContainer a:first-child{display:none}.journal-detailLinkContainer{text-align:center}a.journal-detailLink.full{font-size:11px;text-transform:lowercase;background:none}a.journal-detailLink.full:before{text-transform:capitalize;content:"View "}a.journal-detailLink.full:after{content:" \\2192"}.pagerView-container{border:1px solid #5b5b5b;border-right:none;border-left:none}.pagerView-link{border:none}.jsingle .journalEntries{padding-top:1px}.journal .content .entry a:hover img{border:1px solid #6db8ca;outline:1px solid #90d3e4;box-shadow:0 0 6px -2px #e3e31f}.journal .content .entry .journaltext p:last-of-type{margin-bottom:0}.journal .content .entry .journaltext .decoration{margin-right:65px}.journal .content .entry .journaltext .decoration:after{position:absolute;top:0;left:0;display:block;width:28px;height:28px;content:"";background:url(https://www.mousehuntgame.com/images/items/trinkets/large/430b05beed99ba1995f5ab78e394f5d6.png) no-repeat;background-size:contain}.journal .content .entry .journalbody .journalactions{position:absolute;right:5px;float:none}.journal .content .entry .journaltext p.double{margin-top:1em}.jsingle.journal .content .log_summary table{margin:0 auto}.journal .content .entry.minimalJournalImage .journalbody .journaldate{display:none}p.mhi-x-entry{display:block;padding:0;margin:0;line-height:22px!important}.journal .content .entry:hover{box-shadow:inset 0 0 5px #0006}.journal .content .entry.craft.item{padding-bottom:10px}.journal .content .entry.out_of_candles{background-color:#bd7f89}.journal .content .entry.desert_heater_base_trigger.fail{background-image:url(https://i.mouse.rip/upscaled/flameshard_crafting_item.png);background-blend-mode:luminosity}.journal .content .entry.alchemists_cookbook_base_bonus{background-position:10px}.journal .content .entry.electromagnetic_base_trigger:after{display:none}.journal .content .entry.halloween-special-loot,.journal .content .entry.halloween2019_shot_supplies{padding-left:0}.journal .content .entry.outofsuperbriebutton{margin-left:0}.journal .content .entry.pirate_sleigh_trigger{background:#4fa9e6}.journal .content .entry.queso_cannonstorm_base_trigger.fail{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/fe36041df0bec6dcc887ce67feefc4c8.png)}.journal .content .entry.short.queso_canyon_queso_pumped .journalbody{margin-left:85px}.journal .content .entry.valentines_matchmaker{padding-left:0;margin-left:0;background-position:center;background-size:cover}.journal .entry.luckycatchsuccess .journalimage:after,.journal .entry.short.misc.custom.donationComplete br:last-of-type,.journal .content .entry.short.relicHunter_complete .journaltext>br+br:last-of-type,.journal .entry.short.relicHunter_complete br:nth-of-type(2),.journal .entry.vegetation_base_trigger:after{display:none}.journal .content .entry.vending_machine_purchase{background-position:top,bottom,center;background-size:contain}.journal .content .entry .journaltext,.journal .content .entry .journaltext p{font-size:11px}\n'; } }); // src/modules/better-journal/journal-styles/styles/progress-log.css var progress_log_default; var init_progress_log = __esm({ "src/modules/better-journal/journal-styles/styles/progress-log.css"() { progress_log_default = ".journal .entry.log_summary .journalbody{margin-left:10px}.journal .entry.log_summary .journaltext b{display:block;width:30%;padding-top:.5em;padding-bottom:5px;margin:0 auto;font-weight:900;border-bottom:1px solid #c6c6c6}.mh-ui-progress-log-link{display:block;width:50%;margin:1em auto}.log_summary tbody{display:block;margin:0}.entry.short.log_summary{background-color:#fff}#overlayPopup.hunting_summary .label{padding:5px;font-size:13px;background-color:#eee;border:1px solid #ccc}.journal .content .log_summary table td.value{padding-right:10px;font-size:12px;line-height:24px}.journal .content .log_summary table{display:flex;justify-content:center}.journal .content .log_summary table td.field{padding-left:10px}.journal .content .log_summary table td.field.mice,.journal .content .log_summary table td.field.points,.journal .content .log_summary table td.field.gold,.journal .content .log_summary table td.field.loot{padding:0;font-size:12px;text-align:center}.journal .content .log_summary table tr:nth-child(7){outline:none}.journal .content .log_summary table td.spacer{display:none}.journal .content .log_summary table th{border-color:#c6c6c6}#overlayPopup.hunting_summary .leftColumn,#overlayPopup.hunting_summary .rightColumn{margin-bottom:20px}#overlayPopup.hunting_summary .title{margin:10px;font-size:19px;text-align:center}#overlayPopup.hunting_summary .baitContainer,#overlayPopup.hunting_summary .lootContainer{display:grid;margin-bottom:20px;border:1px solid #ccc}#overlayPopup.hunting_summary .lootContainer{grid-template-columns:1fr 1fr 1fr 1fr}#overlayPopup.hunting_summary .baitContainer .label,#overlayPopup.hunting_summary .lootContainer .label{border-top:none;border-right:none;border-left:none}#overlayPopup.hunting_summary .baitContainer .label{grid-column:span 2}#overlayPopup.hunting_summary .lootContainer .label{grid-column:span 4}#overlayPopup.hunting_summary .lootContainer a .wrapper{padding:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#overlayPopup.hunting_summary .miceContainer a{display:grid;grid-template-columns:0 50px auto;align-items:center;padding:6px 0;font-size:10px;line-height:14px}#overlayPopup.hunting_summary .miceContainer{display:grid;grid-template-columns:1fr 1fr;place-items:start stretch}#overlayPopup.hunting_summary .miceContainer .catches{float:none;font-size:11px}#overlayPopup.hunting_summary .miceContainer a img{margin:0 3px}#overlayPopup.hunting_summary .baitContainer a{display:inline-block;float:none;width:auto}#overlayPopup.hunting_summary .lootContainer a{width:160px}#overlayPopup.hunting_summary .baitContainer a .wrapper{font-size:10px}#overlayPopup.hunting_summary .baitContainer a img{width:35px;height:auto;margin-top:6px}#overlayPopup.hunting_summary .baitContainer a b{display:inline-block;padding-bottom:6px}.reportTitle{margin-bottom:5px;font-size:1.5em}.reportSubtitle{font-size:1.125em}.journal .content .entry.log_summary .journaltext>table{line-height:initial}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/aura.css var aura_default; var init_aura = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/aura.css"() { aura_default = ".journal .content .entry.spookyAuraActivated{background-color:#9df327}.entry.short.misc.custom.anniversaryAuraActivated i{font-size:10px}.entry.short.misc.custom.anniversaryAuraActivated br:nth-of-type(3){display:none}.entry.short.misc.custom.minimalJournalImage.relicHunter_slayer_aura_relic_bonus .journaltext{line-height:25px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/badge.css var badge_default; var init_badge = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/badge.css"() { badge_default = ".journal .content .entry.badge{z-index:1;margin-bottom:-1px;background:linear-gradient(135deg,#eee,#c6d8ee 50%);border:1px solid #5b5b5b;transition:transform .3s ease-in-out}.journal .content .entry.badge:hover{transform:scale(1.1)}.journal .content .entry.badge:hover,.journal .content .entry.badge{animation:mh-improved-glow 1s 2}.journal .content .entry.badge .journalimage{width:80px;height:80px;margin:0}.journal .content .entry.badge .journalimage img{width:65px;transition:.3s ease-in-out}.journal .content .entry.badge:hover .journalimage img{transform:rotate(-10deg)}@media (prefers-reduced-motion: reduce){.journal .content .entry.badge,.journal .content .entry.badge:hover{transform:none;animation:none}.journal .content .entry.badge .journalimage img{transform:none}}.entry.short.badge.better-journal-styles-badge-bronze{background:linear-gradient(135deg,#eee,#f6b584 80%)}.entry.short.badge.better-journal-styles-badge-silver{background:linear-gradient(135deg,#eee,#c6d8ee 50%)}.entry.short.badge.better-journal-styles-badge-gold{background:linear-gradient(135deg,#eee,#fff24e 80%)}.entry.short.badge.better-journal-styles-badge-platinum{background:linear-gradient(135deg,#eee,#c3b8ff 80%)}.entry.short.badge.better-journal-styles-badge-diamond{background:linear-gradient(135deg,#eee,#8bdae9 80%)}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/crafting.css var crafting_default; var init_crafting = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/crafting.css"() { crafting_default = ".journal .entry.craft.item{min-height:70px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/draw-winner.css var draw_winner_default; var init_draw_winner = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/draw-winner.css"() { draw_winner_default = '.journal .entry.drawwinner{box-shadow:inset 0 0 4px 2px #8fc68f;animation:warpathWiggle 1s 5}.journal .entry.drawwinner:after{position:absolute;inset:0;content:"";background:url(https://www.mousehuntgame.com/images/ui/journal/donation_shimmer.png) no-repeat -130px 0;animation:donationShimmer 5s infinite}@media (prefers-reduced-motion: reduce){.journal .entry.drawwinner,.journal .entry.drawwinner:after{animation:none}}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/events.css var events_default; var init_events2 = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/events.css"() { events_default = ".journal .entry.ronza_chrome_voucher_claim{background-color:#cae5e8;background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a3be8c11176c289f6c79068cbe813968.png)}.journal .entry.halloween-candy{background-color:#f1b7dc}.journal .entry.lunar_lantern{background-color:#ffd0b3;border:1px solid #5b5b5b;border-bottom:none}.entry.short.misc.custom.chocolateshop_reward_claimed{background-color:#e7cdaa}.spring_hunt_charge_trinket_effect .journalimage img{width:30px}.journal .entry.spring_hunt_charge_trinket_effect{display:flex;align-items:center;min-height:35px;padding-bottom:6px}.journal .entry.spring_hunt_charge_trinket_effect .journalimage{margin:0}.journal .entry.chocolateshop_item_purchased{background-repeat:repeat}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/larry-gift.css var larry_gift_default; var init_larry_gift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/larry-gift.css"() { larry_gift_default = '.entry.short.misc.custom.larryGift:after{position:absolute;top:20px;right:-5px;display:block;width:61px;height:61px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/onboarding/info_arrow_larry.png);filter:opacity(.4) saturate(.3);background-repeat:no-repeat;background-position:10px;background-size:contain;transition:filter .2s;transform:scaleX(-1) rotate(-5deg);transform-origin:center}.entry.short.misc.custom.larryGift:hover:after{filter:opacity(1) saturate(1)}.entry.short.misc.custom.larryGift .journalbody{margin-right:45px}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/maps.css var maps_default; var init_maps2 = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/maps.css"() { maps_default = ".journal .entry.relicHunter_complete .journaltext b{font-weight:700}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/other.css var other_default; var init_other = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/other.css"() { other_default = ".journal .relicHunter_slayer_aura_relic_bonus{background-image:url(https://www.mousehuntgame.com/images/items/collectibles/large/a6e804d0d9eeb22ff01660a144521ff1.png);background-repeat:no-repeat;background-size:45px!important}.journal .entry.generic_falure,.journal .entry.pollutinum_stolen{background:#ffbfbf}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/popup.css var popup_default; var init_popup = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/popup.css"() { popup_default = "#OnboardArrow.onboardPopup.top .canShare .larryTip{bottom:48px;display:flex;flex-flow:column wrap;height:30px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/rank-up.css var rank_up_default; var init_rank_up = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/rank-up.css"() { rank_up_default = '.journal .entry.titlechange{background-image:url(https://www.mousehuntgame.com/images/ui/hud/camp/re_engagement/popup/rank_up_icon.png);background-repeat:no-repeat;background-position:right center;background-size:contain}.journal .entry.titlechange:after{position:absolute;inset:0;pointer-events:none;content:"";background:url(https://www.mousehuntgame.com/images/ui/journal/donation_shimmer.png) no-repeat -130px 0;filter:hue-rotate(123deg);transition:all .3s;animation:donationShimmer 5s infinite}@media screen and (prefers-reduced-motion: reduce){.journal .entry.titlechange:after{animation:none}}.journal .content .titlechange .journalimage img,.journal .content .titlechange .journalimage{width:75px}.journal .entry.titlechange .journalbody{text-shadow:0 0 1px #70c9da}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/social-gift.css var social_gift_default; var init_social_gift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/social-gift.css"() { social_gift_default = ".socialGift.socialGift-send .journaltext{min-height:40px;max-height:60px;padding-right:10px;padding-left:80px;margin-right:-3px;margin-bottom:-4px;margin-left:-80px;overflow-y:auto;box-shadow:inset 0 -20px 15px -16px #999}.journal .entry.socialGift.socialGift-send .journalbody .journaltext{margin-right:-2px;margin-left:-85px}.socialGift.socialGift-send .journaltext #friend-data-wrapper{display:none}.journal .entry.socialGift-send{padding-bottom:0}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/tournaments.css var tournaments_default; var init_tournaments = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/tournaments.css"() { tournaments_default = ".entry.short.tournamentpointswithloot,.entry.short.tournamentpoints{padding:2px;background:#dbd1b4}.entry.short.tournamentpointswithloot .journalbody,.entry.short.tournamentpoints .journalbody{display:flex;align-items:center;justify-content:flex-start;margin:5px 5px 5px 10px;white-space:normal}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/base/alchemist-cookbook.css var alchemist_cookbook_default; var init_alchemist_cookbook = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/base/alchemist-cookbook.css"() { alchemist_cookbook_default = ".journal .content .entry.alchemists_cookbook_base_bonus .journalbody{margin-left:80px}.journal .entry.alchemists_cookbook_base_bonus{background-position:5px;box-shadow:inset 0 0 20px #ae3fa4}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/base/ssdb.css var ssdb_default; var init_ssdb = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/base/ssdb.css"() { ssdb_default = ".journal .content .entry.short.misc.custom.denture_base_decay_trigger{background-blend-mode:lighten}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/catch/bonus.css var bonus_default; var init_bonus = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/catch/bonus.css"() { bonus_default = '.journal .content .bonuscatchsuccess,.journal .content .bonuscatchfailure{box-shadow:none}.journal .content .bonuscatchsuccess:after,.journal .content .bonuscatchfailure:after{top:10px;right:12px;left:unset;content:"BONUS"}.journal .content .bonuscatchsuccess:before,.journal .content .bonuscatchfailure:before{display:none}.journal .content .bonuscatchfailure:after{background-color:#cb0e01}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/catch/failure.css var failure_default; var init_failure = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/catch/failure.css"() { failure_default = ".journal .content .entry.catchfailure{background-color:#f2f2f2;background-position:0;background-size:75px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/catch/lucky.css var lucky_default; var init_lucky = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/catch/lucky.css"() { lucky_default = ".journal .entry.luckycatchsuccess .journalimage:after{background:none}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/catch/prize.css var prize_default; var init_prize = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/catch/prize.css"() { prize_default = ".journal .content .catchsuccessprize{background-color:#7dea7d}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/charm/gilded.css var gilded_default; var init_gilded = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/charm/gilded.css"() { gilded_default = ".entry.short.misc.custom.chesla_trap_trigger{display:flex;align-items:center;min-height:35px;padding-left:10px;font-size:10px;line-height:15px;background-color:#f5def9}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/charm/rift-vacuum.css var rift_vacuum_default; var init_rift_vacuum = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/charm/rift-vacuum.css"() { rift_vacuum_default = ".journal .entry.short.super_rift_vacuum_trigger{box-shadow:0 0 20px #c997de inset}.journal .entry.short.custom.super_rift_vacuum_trigger{background-position:10px 5px;background-size:50px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/charm/torch.css var torch_default; var init_torch = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/charm/torch.css"() { torch_default = ".entry.short.misc.custom.torch_charm_event{display:flex;align-items:center;min-height:35px;padding-left:5px;font-size:10px;line-height:15px;background-color:#dcf7ff}.entry.short.misc.custom.torch_charm_event .journalimage{width:55px}.entry.short.misc.custom.torch_charm_event .journalimage img{width:45px;height:45px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/charm/ultimate.css var ultimate_default; var init_ultimate = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/charm/ultimate.css"() { ultimate_default = '.journal .content .ultimate_pop,.journal .content .ultimate_intact{position:relative;background-color:#49eec2;background-size:60px}.journal .content .ultimate_pop:before,.journal .content .ultimate_intact:before{position:absolute;top:25px;left:10px;width:56px;height:56px;content:"";border:2px solid #49eec2}.journal .content .ultimate_intact{animation:mh-improved-glow .8s ease-in-out 1}.journal .content .ultimate_pop{animation:mh-improved-dim .8s ease-in-out 1}@media (prefers-reduced-motion: reduce){.journal .content .ultimate_intact,.journal .content .ultimate_pop{animation:none}}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/charm/unstable.css var unstable_default; var init_unstable = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/charm/unstable.css"() { unstable_default = ".entry.short.misc.custom.unstable_charm_trigger{display:flex;align-items:center;min-height:35px;padding-left:5px;font-size:10px;line-height:15px;background-color:#dcf7ff}.journal .entry.short.misc.custom.unstable_charm_trigger .journaltext{max-width:265px;margin-left:-10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jsingle.journal .entry.short.misc.custom.unstable_charm_trigger .journaltext{max-width:580px}.entry.short.misc.custom.unstable_charm_trigger .journalimage{width:45px;margin-top:0}.journal .entry.short.misc.custom.unstable_charm_trigger .journalimage img{width:40px;height:40px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/birthday.css var birthday_default; var init_birthday = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/birthday.css"() { birthday_default = ".journal .content .entry.vending_machine_purchase{padding:6px 6px 10px 0;background-repeat:no-repeat,no-repeat,repeat;background-position:top,bottom,center;background-size:contain}.journal .content .entry.vending_machine_purchase .journalimage{position:relative;display:block;width:unset;height:unset;margin:10px 0 0 6px;background-color:#2a2a2f;box-shadow:0 0 2px -1px #43434b}.journal .content .entry.vending_machine_purchase .journalimage img{width:55px;height:55px}.journal .content .entry.vending_machine_purchase .journalbody{margin:0 0 0 70px}.journal .content .entry.vending_machine_purchase .journaldate{display:none}.journal .content .entry.vending_machine_purchase .journaltext{margin-top:16px;font-size:10px;font-weight:900;line-height:12px}.journal .content .entry.vending_machine_purchase .journaltext>br+br:last-of-type,.journal .content .entry.vending_machine_purchase .journaltext br{display:block!important}.journal .content .entry.vending_machine_purchase .journaltext>div{position:relative;font-size:11px;font-weight:400;line-height:18px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/brift.css var brift_default; var init_brift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/brift.css"() { brift_default = ".journal .entry.burroughs_rift.danger_zone{background-color:#ccdfe2;background-position:10px center;background-size:59px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/bwrift.css var bwrift_default; var init_bwrift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/bwrift.css"() { bwrift_default = ".entry.short.rift-bristlewoods-acolyteSandStolen{padding:2px;background:#ffc16e}.entry.short.rift-bristlewoods-acolyteSandStolen .journalbody{display:flex;align-items:center;justify-content:flex-start;padding-left:45px;margin:5px 5px 5px 10px;white-space:normal}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/floating-islands.css var floating_islands_default; var init_floating_islands = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/floating-islands.css"() { floating_islands_default = ".journal .entry.floatingIslands.dirigibleTravel{max-height:103px;overflow-y:auto}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/folklore-forest.css var folklore_forest_default; var init_folklore_forest = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/folklore-forest.css"() { folklore_forest_default = '.journal .entry.folkloreForest.folkloreForest-lootFuelBoost{min-height:unset;background-color:#b6f1d1}.entry.folkloreForest-farmToTable .journaltext a:nth-last-of-type(2):after{content:" and "}.journal .entry.folkloreForest-tableOfContents.wordCount{display:flex;align-items:center;justify-content:center;height:35px;background-color:#fff9ee;box-shadow:inset 0 0 9px -2px #a78f77}.journal .entry.folkloreForest-tableOfContents.wordCount .journaltext{max-width:275px;margin:0 auto;font-size:11px}.journal .entry.folkloreForest-tableOfContents.wordCount:after{position:absolute;top:10px;left:2px;width:37px;height:37px;color:#d9bb92;content:"";background-image:url(https://www.mousehuntgame.com/images/folklore_forest_upgrades/golden_quill_thumb.png);background-repeat:no-repeat;background-size:cover;mix-blend-mode:luminosity}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/frift.css var frift_default; var init_frift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/frift.css"() { frift_default = '.journal .content .entry.riftFuroma{position:relative}.journal .content .entry.riftFuroma-energyLost .journalbody{margin-left:80px}.journal .content .entry.riftFuroma-energyLost .journalbody:before{position:absolute;top:-12px;left:-96px;display:block;width:75px;height:80px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/rift_furoma/droid.png);filter:grayscale(1);background-repeat:no-repeat;background-position:0 -100px;background-size:110%;mix-blend-mode:luminosity}.journal .content .entry.riftFuroma-energyLost .journaltext{display:flex;align-items:center;min-height:54px}.journal .content .entry.riftFuroma-retreat{background-color:#f4c3b2}.journal .content .entry.riftFuroma-energyLost{min-height:60px}.journal .content .entry.riftFuroma-enterPagoda,.journal .content .entry.riftFuroma-unlockBattery{background-color:#f3b782}.journal .content .entry.riftFuroma-exitPagoda{background-color:#e3bfb4}\n'; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/garden.css var garden_default; var init_garden = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/garden.css"() { garden_default = ".journal .content .entry.minigame_start.yellow_drops{background-color:#fffd97;background-blend-mode:darken}.journal .content .entry.minigame_start.red_drops{background-color:#ffaf98;background-blend-mode:darken}.journal .content .entry.minigame_start.orange_drops{background-color:#ffde97;background-blend-mode:darken}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/halloween.css var halloween_default; var init_halloween = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/halloween.css"() { halloween_default = ".journal .entry.gloomyGreenwood-incense{background-color:#ffc277}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/harbour.css var harbour_default; var init_harbour = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/harbour.css"() { harbour_default = ".entry.harbour.catch{background-color:#d2ba96}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/iceberg.css var iceberg_default; var init_iceberg = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/iceberg.css"() { iceberg_default = ".journal .content .iceberg_advance,.journal .content .iceberg_pushback,.journal .content .iceberg_pushback_prevented,.journal .entry.riftFuroma{font-style:inherit}.journal .content .iceberg_advance .journalbody,.journal .content .iceberg_pushback .journalbody,.journal .content .iceberg_pushback_prevented .journalbody{font-size:11px}.journal .content .iceberg_advance_prevented.general{background-color:#a6d1ee;background-position:10px}.journal .content .iceberg_advance,.journal .content .iceberg_advance_prevented,.journal .content .iceberg_pushback,.journal .content .iceberg_pushback_prevented{padding-bottom:6px}.entry.short.iceberg_phase_change .journaltext{display:flex;align-items:center}.journal .content .entry.iceberg_defeated .journaltext>br{display:block}.journal .content .entry.iceberg_phase_change .journalbody .journaltext{line-height:23px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/labyrinth.css var labyrinth_default; var init_labyrinth = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/labyrinth.css"() { labyrinth_default = ".entry.short.misc.custom.labyrinth.labyrinth-chooseDoor,.entry.short.misc.custom.labyrinth.labyrinth-intersection{display:flex;align-items:center}.journal .content .entry.ancient-stealth .journalbody{margin-left:85px}.journal .content .entry.ancient-stealth .journaldate{display:none}.journal .entry.labyrinth-intersection{background-color:#acc8dc}.journal .entry.ancient-stealth{padding:1px 0}.entry.short.misc.custom.labyrinth.labyrinth-exitMaze li{padding:0;line-height:1.6}.entry.short.misc.custom.labyrinth.labyrinth-exitMaze br{display:block}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/mousoleum.css var mousoleum_default; var init_mousoleum = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/mousoleum.css"() { mousoleum_default = ".journal .content .entry.mousoleum.creepy_coffin_trigger,.journal .content .entry.mousoleum.repair_wall,.journal .content .entry.mousoleum.damage_wall{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d764ca82aa14f187f9796e1e5334e20c.png)}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/queso.css var queso_default; var init_queso = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/queso.css"() { queso_default = ".journal .entry.queso_geyser.wild_tonic_disabled{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/8e292ff717bd65936d2c96707aa77de0.png);background-blend-mode:darken}.journal .entry.queso_canyon_queso_pumped{background-image:url(https://www.mousehuntgame.com/images/items/bait/transparent_thumb/06c81c66b0f21f2a8b6a2b989f40bd8d.png);background-position:10px -5px}.journal .entry.queso_canyon_queso_pumped .journalbody{margin-left:65px}.journal .entry.queso_cannonstorm_base_trigger .journalimage img{width:50px;padding-left:0}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/toxic-spill.css var toxic_spill_default; var init_toxic_spill = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/toxic-spill.css"() { toxic_spill_default = ".entry.short.misc.custom.refine_pollutinum{display:flex;align-items:center;height:45px;background-color:#7f7;background-position:10px;background-size:50px}.entry.short.misc.custom.torch_charm_event .refine_pollutinum{width:55px}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/vrift.css var vrift_default; var init_vrift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/vrift.css"() { vrift_default = ".journal .entry.rift_valour.minimalJournalImage.enter_tower .journaltext,.journal .entry.rift_valour.minimalJournalImage.no_loot_retreat .journaltext,.journal .entry.rift_valour.minimalJournalImage.upgrade_longstride .journaltext,.journal .entry.rift_valour.minimalJournalImage.upgrade_stamina .journaltext,.journal .entry.rift_valour.minimalJournalImage.upgrade_siphon .journaltext{padding-top:0}.journal .entry.rift_valour.moved_forward{background-color:#8fe5ff}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/location/wwrift.css var wwrift_default; var init_wwrift = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/location/wwrift.css"() { wwrift_default = ".journal .content .entry.short.rift-whisker-woods-increase .journalbody{margin:0 30px;font-size:10px;text-align:center}.journal .content .entry.rift-whisker-woods-catch-miniboss{background-color:#d8d479}.journal .content .entry.rift-whisker-woods-catch-boss{background-color:#fac75f}.journal .content .entry.rift-whisker-woods-increase-high{background-color:#e3d981}.journal .content .entry.rift-whisker-woods-increase-miniboss{background-color:#ffba4e}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/mouse/glazy.css var glazy_default; var init_glazy = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/mouse/glazy.css"() { glazy_default = ".mh-dark-mode .entry.short.catchsuccessloot[data-mouse-type=glazed],.entry.short.catchsuccessloot[data-mouse-type=glazed]{color:#000!important;background-color:#fcdb28;box-shadow:0 0 10px 8px #fdee96 inset}.mh-dark-mode .entry.short.catchsuccessloot[data-mouse-type=glazed] a{color:#3b5998}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/mouse/stuck-snowball.css var stuck_snowball_default; var init_stuck_snowball = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/mouse/stuck-snowball.css"() { stuck_snowball_default = ".journal .entry.stuck_snowball_catch{background:#a5d6fb}\n"; } }); // src/modules/better-journal/journal-styles/styles/custom-entries/mouse/valentines.css var valentines_default; var init_valentines = __esm({ "src/modules/better-journal/journal-styles/styles/custom-entries/mouse/valentines.css"() { valentines_default = ".journal .content .entry.valentines_matchmaker{background-position:left;animation:mh-improved-background-slide 240s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.journal .content .entry.valentines_matchmaker{animation:none}}\n"; } }); // src/modules/better-journal/journal-styles/index.js var imported2, styles2, addBadgeClass, journal_styles_default; var init_journal_styles = __esm({ "src/modules/better-journal/journal-styles/index.js"() { init_utils2(); init_backgrounds(); init_date_hiding(); init_fullstop(); init_general2(); init_progress_log(); init_aura(); init_badge(); init_crafting(); init_draw_winner(); init_events2(); init_larry_gift(); init_maps2(); init_other(); init_popup(); init_rank_up(); init_social_gift(); init_tournaments(); init_alchemist_cookbook(); init_ssdb(); init_bonus(); init_failure(); init_lucky(); init_prize(); init_gilded(); init_rift_vacuum(); init_torch(); init_ultimate(); init_unstable(); init_birthday(); init_brift(); init_bwrift(); init_floating_islands(); init_folklore_forest(); init_frift(); init_garden(); init_halloween(); init_harbour(); init_iceberg(); init_labyrinth(); init_mousoleum(); init_queso(); init_toxic_spill(); init_vrift(); init_wwrift(); init_glazy(); init_stuck_snowball(); init_valentines(); imported2 = [backgrounds_default, date_hiding_default, fullstop_default, general_default2, progress_log_default, aura_default, badge_default, crafting_default, draw_winner_default, events_default, larry_gift_default, maps_default, other_default, popup_default, rank_up_default, social_gift_default, tournaments_default, alchemist_cookbook_default, ssdb_default, bonus_default, failure_default, lucky_default, prize_default, gilded_default, rift_vacuum_default, torch_default, ultimate_default, unstable_default, birthday_default, brift_default, bwrift_default, floating_islands_default, folklore_forest_default, frift_default, garden_default, halloween_default, harbour_default, iceberg_default, labyrinth_default, mousoleum_default, queso_default, toxic_spill_default, vrift_default, wwrift_default, glazy_default, stuck_snowball_default, valentines_default]; styles2 = imported2; addBadgeClass = (entry) => { if (!entry) { return; } const isBadge = entry.classList.contains("badge"); if (!isBadge) { return; } const badgeType = entry.querySelector(".journalimage img"); if (!badgeType) { return; } const badgeTypeClass = badgeType.src.replace("https://www.mousehuntgame.com/images/ui/crowns/crown_", "").replace(".png", "").trim(); entry.classList.add(`better-journal-styles-badge-${badgeTypeClass}`); const content = entry.querySelector(".journaltext"); if (!content) { return; } content.innerHTML = content.innerHTML.replace("I can view my trophy crowns on my", "").replace('<a href="https://www.mousehuntgame.com/hunterprofile.php?tab=kings_crowns">hunter profile</a>', "").replace("<br>", "").replace(".", "").trim(); }; journal_styles_default = () => __async(void 0, null, function* () { addStyles(styles2, "better-journal-styles"); addEvent("journal-entry", addBadgeClass, { id: "better-journal-styles-badge" }); }); } }); // src/modules/better-journal/list-and-icons.css var list_and_icons_default; var init_list_and_icons = __esm({ "src/modules/better-journal/list-and-icons.css"() { list_and_icons_default = ".journal .content .entry .journaltext .better-journal-list{line-height:21px}\n"; } }); // src/modules/better-journal/styles.css var styles_default12; var init_styles13 = __esm({ "src/modules/better-journal/styles.css"() { styles_default12 = ".journal .entry .journalbody .journaltext p{margin:0}.journal .content .entry .journaltext .better-journal-list{margin-top:5px}.journaltext .lucky:after{width:14px;height:14px;background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png);background-size:cover}\n"; } }); // src/modules/better-journal/settings/index.js var settings_default6; var init_settings7 = __esm({ "src/modules/better-journal/settings/index.js"() { init_utils2(); settings_default6 = () => __async(void 0, null, function* () { return [ { id: "better-journal.styles", title: "Journal styles", default: true }, { id: "better-journal.replacements", title: "Journal text replacements", default: true }, { id: "better-journal.icons", title: "Show loot icons" }, { id: "better-journal.icons-minimal", title: "Show loot icons (minimal)" }, { id: "better-journal.list", title: "Show loot as list" }, { id: "better-journal.gold-and-points", title: "Show gold and points icons", default: true }, { id: "better-journal.item-colors", title: "Unique item colors (Map clues, Ful'Mina's gifts, etc.)", default: true }, { id: "better-journal.journal-history", title: "Journal History", default: getSetting("experiments.journal-history", true) } ]; }); } }); // src/modules/better-journal/index.js var init7, better_journal_default; var init_better_journal = __esm({ "src/modules/better-journal/index.js"() { init_utils2(); init_journal_gold_and_points(); init_journal_history(); init_journal_icons(); init_journal_icons_minimal(); init_journal_item_colors(); init_journal_list(); init_journal_replacements(); init_journal_styles(); init_list_and_icons(); init_styles13(); init_settings7(); init7 = () => __async(void 0, null, function* () { addStyles(styles_default12, "better-journal"); const enabled = { styles: getSetting("better-journal.styles", true), list: getSetting("better-journal.list", false), icons: getSetting("better-journal.icons"), iconsMinimal: getSetting("better-journal.icons-minimal"), replacements: getSetting("better-journal.replacements", true), goldAndPoints: getSetting("better-journal.gold-and-points", true), itemColors: getSetting("better-journal.item-colors", true), progressLog: getSetting("better-journal.progress-log", true) }; if (enabled.styles) { journal_styles_default(); } if (enabled.list) { journal_list_default(); if (enabled.icons || enabled.iconsMinimal) { addStyles(list_and_icons_default, "better-journal-list-and-icons"); } } if (enabled.icons) { journal_icons_default(); journal_icons_minimal_default(); } else if (enabled.iconsMinimal) { journal_icons_minimal_default(); } if (enabled.replacements) { journal_replacements_default(); } if (enabled.goldAndPoints) { journal_gold_and_points_default(); } if (enabled.itemColors) { journal_item_colors_default(); } journal_history_default(getSetting("better-journal.history", getFlag("journal-history", true))); }); better_journal_default = { id: "better-journal", name: "Better Journal", type: "better", default: true, description: "Modify the journal text, layout, and styling.", load: init7, settings: settings_default6 }; } }); // src/modules/better-marketplace/settings/index.js var settings_default7; var init_settings8 = __esm({ "src/modules/better-marketplace/settings/index.js"() { settings_default7 = () => __async(void 0, null, function* () { return [ { id: "better-marketplace.search-all", title: "Default to showing all items in search", default: false }, { id: "better-marketplace.small-images", title: "Smaller images", default: false } ]; }); } }); // src/modules/better-marketplace/styles/small-images.css var small_images_default; var init_small_images = __esm({ "src/modules/better-marketplace/styles/small-images.css"() { small_images_default = ".marketplaceView-table-image .marketplaceView-itemImage{width:40px;height:40px;min-height:unset}\n"; } }); // src/modules/better-marketplace/styles/styles.css var styles_default13; var init_styles14 = __esm({ "src/modules/better-marketplace/styles/styles.css"() { styles_default13 = "div#select2-drop.marketplaceView-header-search-dropdown .select2-result-label{white-space:nowrap}div#select2-drop.marketplaceView-header-search-dropdown .select2-result-sub .select2-result-label{display:grid;grid-template-columns:30px 4fr 1fr;place-items:center start;padding-left:10px}div#select2-drop.marketplaceView-header-search-dropdown .friendsPage-filter-environment-thumb{width:25px;height:25px;border-radius:0;box-shadow:none}.marketplaceView-item-quickListings .marketplaceView-table-listing-quantity:hover,.marketplaceView-item-quickListings .marketplaceView-table-listing-quantity:focus{text-decoration:underline}a.marketplaceView-goldValue.marketplaceView-quantityNotGold:after{display:none;background-image:none}label.mhui-marketplace-search-toggle{display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff;border-radius:10px}.marketplaceView-header-searchContainer{top:5px;right:30px!important;height:70px}.marketplaceView-header-search-title{margin-bottom:2px}.marketplaceView-item-leftBlock{margin-top:20px}.marketplaceView-itemImage .limitedEdition{display:none}.marketplaceHome-blockItem.small .marketplaceView-itemImage{width:70px;height:70px;padding-bottom:0;margin-bottom:10px}.marketplaceHome-blockItem.small .marketplaceView-item-imageContainer{width:auto}.marketplaceHome-blockItem.small .marketplaceView-favouriteButton{right:5px}tr.open td.marketplaceView-table-name{white-space:nowrap}.marketplaceListing .marketplaceView-itemImage.favourite{border:none;box-shadow:none}.marketplaceView-item h1{display:flex;align-items:center;justify-content:flex-start}.mh-improved-marketplace-item-title-actions{display:inline-flex;flex-grow:1;gap:5px;justify-content:end;margin-right:5px}.marketplaceView-item.view .mousehuntCharacterGuideBox .mousehuntCharacterGuideBox-content{margin-left:80px}.marketplaceView-item-averagePrice,.marketplaceView-item-averagePrice span{font-size:12px}.marketplaceView-table-chartImage{position:absolute;top:0;right:-30px;bottom:0;height:49px;opacity:.5}.marketplaceView-table-name:hover .marketplaceView-table-chartImage{opacity:1}td.marketplaceView-table-name{position:relative}\n"; } }); // src/modules/better-marketplace/index.js var initSearch, modifySearch, waitForSearchReady, autocloseClaim, getLinkMarkup3, overloadShowItem, waitForFooterReady, addChartToCategories, _showBrowseCategory, _showBrowser, replaceShowBrowseCategory, originalSelect, newSelect, init8, better_marketplace_default; var init_better_marketplace = __esm({ "src/modules/better-marketplace/index.js"() { init_utils2(); init_settings8(); init_small_images(); init_styles14(); initSearch = (searchInputDOM) => { const blankOpt = document.createElement("option"); blankOpt.value = ""; blankOpt.text = ""; blankOpt.disabled = true; blankOpt.selected = true; blankOpt.hidden = true; searchInputDOM.prepend(blankOpt); searchInputDOM = $(".marketplaceView-header-search"); searchInputDOM.select2({ formatResult: hg.views.MarketplaceView.formatSelect2Result, formatSelection: hg.views.MarketplaceView.formatSelect2Result, dropdownAutoWidth: false, placeholder: "Search for items\u2026", minimumInputLength: 0, dropdownCssClass: "marketplaceView-header-search-dropdown", width: "resolve" }).on("change", () => { if (!searchInputDOM.prop("disabled") && searchInputDOM.val()) { hg.views.MarketplaceView.showItem( searchInputDOM.val(), "view", false, false, true ); } }); }; modifySearch = (opts) => __async(void 0, null, function* () { const searchContainer = document.querySelector(".marketplaceView-header-searchContainer"); if (!searchContainer) { return; } let searchInputDOM = $(".marketplaceView-header-search"); searchInputDOM.select2("destroy"); if (originalSelect === null) { const originalSelectNode = document.querySelector(".marketplaceView-header-search"); originalSelect = originalSelectNode.cloneNode(true); originalSelect.classList.remove("marketplaceView-header-search"); } const itemsToRemove = yield getData("marketplace-hidden-items"); opts.forEach((opt) => { if (!opt.value || opt.value === "" || itemsToRemove.some((item) => item.id === opt.value || item.name === opt.text)) { opt.remove(); } }); initSearch(searchInputDOM); newSelect = document.querySelector("select.marketplaceView-header-search"); const toggleSearch = makeElement("input", "mhui-marketplace-search-toggle"); toggleSearch.setAttribute("type", "checkbox"); const label = makeElement("label", "mhui-marketplace-search-toggle"); label.setAttribute("for", "mhui-marketplace-search-toggle"); label.append(toggleSearch); label.append(document.createTextNode("Search all items")); const defaultToAll = getSetting("better-marketplace.search-all"); toggleSearch.checked = defaultToAll; if (defaultToAll) { newSelect.innerHTML = originalSelect.innerHTML; newSelect.value = originalSelect.value; } label.addEventListener("click", () => { toggleSearch.checked = !toggleSearch.checked; toggleSearch.dispatchEvent(new Event("change")); }); toggleSearch.addEventListener("change", () => { searchInputDOM = $(".marketplaceView-header-search"); searchInputDOM.select2("destroy"); const currentOpts = document.querySelector(".marketplaceView-header-search"); if (toggleSearch.checked) { currentOpts.innerHTML = originalSelect.innerHTML; currentOpts.value = originalSelect.value; } else { currentOpts.innerHTML = newSelect.innerHTML; currentOpts.value = newSelect.value; } initSearch(searchInputDOM); }); searchContainer.append(label); }); waitForSearchReady = (attempts = 0) => { const opts = document.querySelectorAll(".marketplaceView-header-search option"); let timeoutPending = false; if (opts.length === 0) { if (attempts < 10) { timeoutPending = setTimeout(() => waitForSearchReady(attempts + 1), 300); } return; } if (timeoutPending) { clearTimeout(timeoutPending); } setTimeout(() => { modifySearch(opts); }, 300); }; autocloseClaim = (resp) => { var _a, _b; if (!(resp && resp.success)) { return; } const journalEntry = (_b = (_a = resp == null ? void 0 : resp.journal_markup[0]) == null ? void 0 : _a.render_data) == null ? void 0 : _b.css_class; if (!journalEntry || journalEntry === "") { return; } if (journalEntry.includes("marketplace_claim_listing") || journalEntry.includes("marketplace_complete_listing")) { setTimeout(() => hg.views.MarketplaceView.hideDialog(), 250); } }; getLinkMarkup3 = (name, id) => { return makeLink("MHCT", `https://www.mhct.win/loot.php?item=${id}`, true) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`); }; overloadShowItem = () => { const originalShowItem = hg.views.MarketplaceView.showItem; hg.views.MarketplaceView.showItem = (itemId, action, defaultQuantity, defaultUnitPriceWithTariff, force) => { const actionButton = document.querySelector(".marketplaceView-item-actionType .marketplaceView-listingType"); if (actionButton) { actionButton.addEventListener("click", () => { const actionType = actionButton.classList.contains("buy") ? "sell" : "buy"; originalShowItem(itemId, actionType, defaultQuantity, defaultUnitPriceWithTariff, force); }); } originalShowItem(itemId, action, defaultQuantity, defaultUnitPriceWithTariff, force); const actions = document.querySelector(".marketplaceView-item-titleActions"); if (!actions) { return; } const existing = document.querySelector(".mh-improved-marketplace-item-title-actions"); if (existing) { existing.remove(); } let itemName = document.querySelector(".marketplaceView-item-titleName"); itemName = itemName ? itemName.textContent.trim() : ""; const buttons = makeElement("div", "mh-improved-marketplace-item-title-actions", getLinkMarkup3(itemName, itemId)); actions.insertBefore(buttons, actions.firstChild); }; }; waitForFooterReady = (attempts = 0) => { const opts = document.querySelectorAll(".marketplaceView-table-listing-quantity"); let timeoutPending = false; if (!(opts && opts.length > 0)) { if (attempts < 10) { timeoutPending = setTimeout(() => updateQuantityButtons(attempts + 1), 300); } return; } if (timeoutPending) { clearTimeout(timeoutPending); } setTimeout(() => { opts.forEach((order) => { order.addEventListener("click", () => { const quantity = order.textContent.trim(); hg.views.MarketplaceView.setOrderQuantity(quantity); }); }); }, 300); }; addChartToCategories = () => __async(void 0, null, function* () { const items2 = document.querySelectorAll(".marketplaceView-table tr"); items2.forEach((item) => { const itemId = item.getAttribute("data-item-id"); if (!itemId) { return; } const name = item.querySelector(".marketplaceView-table-name"); if (!name) { return; } const hasChartImage = item.querySelector(".marketplaceView-table-chartImage"); if (hasChartImage) { return; } const chartImage = makeElement("img", "marketplaceView-table-chartImage"); chartImage.src = `https://markethunt-chart.mouse.rip/${itemId}.png?small`; name.append(chartImage); }); }); _showBrowseCategory = null; _showBrowser = null; replaceShowBrowseCategory = () => { if (_showBrowseCategory) { return; } _showBrowseCategory = hg.views.MarketplaceView.showBrowseCategory; hg.views.MarketplaceView.showBrowseCategory = (category) => { _showBrowseCategory(category); addChartToCategories(); }; _showBrowser = hg.views.MarketplaceView.showBrowser; hg.views.MarketplaceView.showBrowser = (category) => { _showBrowser(category); addChartToCategories(); }; }; originalSelect = null; newSelect = null; init8 = () => __async(void 0, null, function* () { const stylesToUse = [styles_default13]; if (getSetting("better-marketplace.small-images")) { stylesToUse.push(small_images_default); } addStyles(stylesToUse, "better-marketplace"); onOverlayChange({ marketplace: { show: () => { waitForSearchReady(); overloadShowItem(); if (getSetting("better-marketplace.show-chart-images")) { replaceShowBrowseCategory(); } } } }); onRequest("users/marketplace.php", autocloseClaim); onRequest("users/marketplace.php", waitForFooterReady, true); }); better_marketplace_default = { id: "better-marketplace", name: "Better Marketplace", type: "better", default: true, description: 'Updates the marketplace layout and appearance and adds a variety of small features, like being able to click the "Buying" or "Selling" text to toggle between the two.', load: init8, settings: settings_default7 }; } }); // src/modules/better-mice/hover-mice/styles.css var styles_default14; var init_styles15 = __esm({ "src/modules/better-mice/hover-mice/styles.css"() { styles_default14 = '#mouse-data-wrapper{position:absolute;z-index:999999;box-sizing:border-box;display:block;width:300px;height:100px;background:linear-gradient(#decebb 5%,#f0eddf 50%);border:1px solid #9a8872;border-radius:10px;box-shadow:0 1px 5px -1px #5e5e5e}.mouse-data-wrapper-loading{display:flex;align-items:flex-end;justify-content:center;height:90%;background-image:url(https://www.mousehuntgame.com/images/ui/loaders/drip_spinner.gif);background-repeat:no-repeat;background-position:center;background-size:55px}#mouse-data-wrapper .mouse-data{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;height:95px}#mouse-data-wrapper .mouse-image{height:80px;margin-left:10px;border:1px solid #25211e;border-radius:5px}#mouse-data-wrapper .mouse-text{display:flex;flex-direction:column;justify-content:space-around;height:80px;margin-right:10px}#mouse-data-wrapper .mouse-name{width:160px;font-size:12px;font-weight:900}.mouse-catch-stats{display:grid;grid-template-columns:2fr 3fr;gap:0 20px;font-size:10px}.mouse-catch-stats div{display:flex;flex-direction:row;align-items:center;justify-content:space-between;line-height:1.5}#mouse-data-wrapper .mouse-data.crown:after{position:absolute;top:7px;right:5px;width:30px;height:30px;content:"";background-size:cover}#mouse-data-wrapper .mouse-data.crown.bronze:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_bronze.png)}#mouse-data-wrapper .mouse-data.crown.silver:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png)}#mouse-data-wrapper .mouse-data.crown.gold:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_gold.png)}#mouse-data-wrapper .mouse-data.crown.platinum:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_platinum.png)}#mouse-data-wrapper .mouse-data.crown.diamond:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_diamond.png)}\n'; } }); // src/modules/better-mice/hover-mice/index.js var fetchAndFillMouseData, debugPopup2, mouseDataWrapper, isLoading2, makeMouseMarkup2, main4, hoverMice2, hover_mice_default; var init_hover_mice = __esm({ "src/modules/better-mice/hover-mice/index.js"() { init_utils2(); init_styles15(); fetchAndFillMouseData = (mouseId) => __async(void 0, null, function* () { var _a; if (isLoading2) { return; } isLoading2 = true; let mouse; const cachedMouseData = sessionGet(`better-mice-hover-mice-${mouseId}`, false); if (cachedMouseData) { mouse = cachedMouseData; } else { const mouseDataRequest = yield doRequest("managers/ajax/mice/getstat.php", { action: "get_mice", "mouse_types[]": mouseId }); if (!((_a = mouseDataRequest == null ? void 0 : mouseDataRequest.mice) == null ? void 0 : _a.length)) { return; } mouse = mouseDataRequest == null ? void 0 : mouseDataRequest.mice[0]; sessionSet(`better-mice-hover-mice-${mouseId}`, mouse); } const mouseData = makeElement("div", "mouse-data"); if (mouse.crown && "none" !== mouse.crown) { mouseData.classList.add("crown", mouse.crown); } const mouseImage = makeElement("img", "mouse-image"); mouseImage.src = mouse.square; mouseData.append(mouseImage); const mouseText = makeElement("div", "mouse-text"); makeElement("div", "mouse-name", mouse.name, mouseText); const catchStats = makeElement("div", "mouse-catch-stats"); const catches = makeElement("div", "mouse-catches"); makeElement("span", "", "Catches: ", catches); makeElement("span", "", mouse.num_catches_formatted, catches); catchStats.append(catches); const avgWeight = makeElement("div", "mouse-avg-weight"); makeElement("span", "", "Avg: ", avgWeight); makeElement("span", "", mouse.avg_weight, avgWeight); catchStats.append(avgWeight); const misses = makeElement("div", "mouse-misses"); makeElement("span", "", "Misses: ", misses); makeElement("span", "", mouse.num_misses_formatted, misses); catchStats.append(misses); const heaviest = makeElement("div", "mouse-heaviest"); makeElement("span", "", "Heaviest: ", heaviest); makeElement("span", "", mouse.heaviest_catch, heaviest); catchStats.append(heaviest); mouseText.append(catchStats); mouseData.append(mouseText); mouseDataWrapper.innerHTML = mouseData.outerHTML; isLoading2 = false; }); debugPopup2 = false; isLoading2 = false; makeMouseMarkup2 = (mouseId, e) => __async(void 0, null, function* () { if (mouseDataWrapper) { mouseDataWrapper.remove(); } mouseDataWrapper = makeElement("div", "mouse-data-wrapper"); mouseDataWrapper.id = "mouse-data-wrapper"; mouseDataWrapper.innerHTML = '<span class="mouse-data-wrapper-loading">Loading...</span>'; fetchAndFillMouseData(mouseId); document.body.append(mouseDataWrapper); const rect = e.target.getBoundingClientRect(); const top = rect.top + window.scrollY; const left = rect.left + window.scrollX; let tooltipTop = top - mouseDataWrapper.offsetHeight - 10; if (tooltipTop < 0) { tooltipTop = top + rect.height + 10; } mouseDataWrapper.style.top = `${tooltipTop}px`; mouseDataWrapper.style.left = `${left - mouseDataWrapper.offsetWidth / 2 + rect.width / 2}px`; if (e.target && !debugPopup2) { e.target.addEventListener("mouseleave", () => { mouseDataWrapper.remove(); }); } }); main4 = () => { const miceLinks = document.querySelectorAll('.journal .content .entry .journaltext a[onclick*="MouseView.show"]'); if (!miceLinks) { return; } miceLinks.forEach((link) => { const mouseType = link.getAttribute("onclick").match(/'([^']+)'/)[1]; link.setAttribute("onclick", `hg.views.MouseView.show('${mouseType}'); return false;`); link.addEventListener("mouseover", (e) => { makeMouseMarkup2(mouseType, e); }); link.addEventListener("mouseout", () => { mouseDataWrapper.remove(); }); }); }; hoverMice2 = () => { addStyles(styles_default14, "better-mice-hover-mice"); debugPopup2 = getSetting("debug.hover-popups", false); setTimeout(main4, 500); onRequest("*", () => { setTimeout(main4, 1e3); }); onTurn(() => { sessionsDelete("better-mice-hover-mice-"); }, 1e3); }; hover_mice_default = hoverMice2; } }); // src/modules/better-mice/mouse-page.js var makeKingsCrownsTab, makeKingsCrownsTabContentContent, makeMouseCrownSection, makeKingsCrownsTabContent, addKingsCrownsToMicePage, parseImperialWeight, getSetRowValue, sortStats, addSortButton, getSelectorPrefix, addSortingToCat, hasAddedSortingTabClickListeners, addSortingTabClickListeners, clickCurrentTab, addSortingToStatsPage, mouse_page_default; var init_mouse_page = __esm({ "src/modules/better-mice/mouse-page.js"() { init_utils2(); makeKingsCrownsTab = () => { const tabContainer = document.querySelector(".mousehuntHud-page-tabHeader-container"); if (!tabContainer) { return; } const existingTab = document.querySelector(".mousehuntHud-page-tabHeader.kings-crowns-tab"); if (existingTab) { return; } const kingsCrownsTab = makeElement("a", ["mousehuntHud-page-tabHeader", "groups", "kings-crowns-tab"]); makeElement("span", "", "King's Crowns", kingsCrownsTab); kingsCrownsTab.setAttribute("data-tab", "kings_crowns"); kingsCrownsTab.setAttribute("data-legacy-mode", ""); kingsCrownsTab.setAttribute("onclick", "hg.utils.PageUtil.onclickPageTabHandler(this); return false;"); tabContainer.append(kingsCrownsTab); return kingsCrownsTab; }; makeKingsCrownsTabContentContent = () => { const tabContentContainer = document.querySelector(".mousehuntHud-page-tabContentContainer"); if (!tabContentContainer) { return; } const tabContent = makeElement("div", ["mousehuntHud-page-tabContent", "kings_crowns"]); tabContent.setAttribute("data-tab", "kings_crowns"); tabContent.setAttribute("data-template-file", "AdversariesPage"); makeElement("div", "mousehuntHud-page-tabContent-loading", "", tabContent); const subTabContent = makeElement("div", ["mousehuntHud-page-subTabContent", "all", "active"]); subTabContent.setAttribute("data-tab", "all"); subTabContent.setAttribute("data-template-file", "AdversariesPage"); subTabContent.setAttribute("data-template", "subtab"); subTabContent.setAttribute("data-initialized", ""); subTabContent.setAttribute("data-user-id", ""); makeElement("div", "mouseCrownsView", "", subTabContent); tabContent.append(subTabContent); tabContentContainer.append(tabContent); }; makeMouseCrownSection = (type, mice, header = false, subheader = false) => { const wrapper = makeElement("div", ["kings-crown-section", "mouseCrownsView-group", type]); if (header) { const headerDiv = makeElement("div", "mouseCrownsView-group-header"); makeElement("div", ["mouseCrownsView-crown", type], "", headerDiv); const name = makeElement("div", "mouseCrownsView-group-header-name"); makeElement("b", false, header, headerDiv); if (subheader) { makeElement("div", "mouseCrownsView-group-header-subtitle", subheader, name); } headerDiv.append(name); wrapper.append(headerDiv); } const list = makeElement("div", "mouseCrownsView-group-mice"); mice.forEach((mouse) => { if (!mouse.id) { return; } const mouseWrapper = makeElement("div", "mouseCrownsView-group-mouse"); mouseWrapper.setAttribute("data-mouse-id", mouse.id); mouseWrapper.setAttribute("data-mouse-type", mouse.type); mouseWrapper.setAttribute("data-mouse-large", mouse.large); mouseWrapper.setAttribute("onclick", "hg.views.MouseCrownsView.showMouseImage(this); return false;"); if (mouse.landscape) { mouseWrapper.classList.add("landscape"); } const innerWrapper = makeElement("div", "mouseCrownsView-group-mouse-padding"); const image = makeElement("div", ["mouseCrownsView-group-mouse-image", mouse.type]); image.setAttribute("data-image", mouse.image); image.setAttribute("data-loader", "mouse"); image.setAttribute("style", `background-image: url("${mouse.image}");`); innerWrapper.append(image); makeElement("div", "mouseCrownsView-group-mouse-catches", mouse.num_catches, innerWrapper); const label = makeElement("div", "mouseCrownsView-group-mouse-label"); const nameWrapper = makeElement("span", false, ""); makeElement("div", "mouseCrownsView-group-mouse-name", mouse.name, nameWrapper); label.append(nameWrapper); innerWrapper.append(label); const favoriteButton = makeElement("div", "mouseCrownsView-group-mouse-favouriteButton"); if (mouse.is_favourite) { favoriteButton.classList.add("active"); } favoriteButton.setAttribute("data-mouse-id", mouse.id); favoriteButton.setAttribute("onclick", "hg.views.MouseCrownsView.toggleFavouriteHandler(event); return false;"); innerWrapper.append(favoriteButton); mouseWrapper.append(innerWrapper); list.append(mouseWrapper); }); wrapper.append(list); return wrapper; }; makeKingsCrownsTabContent = () => __async(void 0, null, function* () { var _a, _b, _c, _d; makeKingsCrownsTabContentContent(); let crowns = []; const cachedCrowns = sessionGet("kings-crowns"); const cachedCrownsTime = sessionGet("kings-crowns-time"); if (cachedCrowns && cachedCrownsTime && Date.now() - cachedCrownsTime < 3e5) { crowns = JSON.parse(cachedCrowns); } else { const crownsReq = yield doRequest("managers/ajax/pages/page.php", { page_class: "HunterProfile", "page_arguments[tab]": "kings_crowns", "page_arguments[sub_tab]": false }); crowns = ((_d = (_c = (_b = (_a = crownsReq == null ? void 0 : crownsReq.page) == null ? void 0 : _a.tabs) == null ? void 0 : _b.kings_crowns) == null ? void 0 : _c.subtabs[0]) == null ? void 0 : _d.mouse_crowns) || []; if (crowns.length <= 0) { return; } sessionSet("kings-crowns", crowns); sessionSet("kings-crownsTime", Date.now()); } const tabInnerContent = document.querySelector(".mousehuntHud-page-tabContent.kings_crowns"); if (!tabInnerContent) { return; } if (crowns.favourite_mice_count > 0) { const favorites = makeMouseCrownSection("favorites", crowns.favourite_mice); const existingFavorites = tabInnerContent.querySelector(".mouseCrownsView-group.favorites"); if (existingFavorites) { existingFavorites.replaceWith(favorites); } else { tabInnerContent.append(favorites); } } crowns.badge_groups.forEach((group) => { var _a2, _b2; if (group.mice.length === 0) { return; } group.name = ((_a2 = group == null ? void 0 : group.name) == null ? void 0 : _a2.length) > 0 ? group.name : "No"; group.catches = ((_b2 = group == null ? void 0 : group.catches) == null ? void 0 : _b2.length) > 0 ? group.catches : "0"; const section = makeMouseCrownSection(group.type, group.mice, `${group.name} Crown (${group.count})`, `Earned at ${group.catches} catches`); const existingSection = tabInnerContent.querySelector(`.mouseCrownsView-group.${group.type}`); if (existingSection) { existingSection.replaceWith(section); } else { tabInnerContent.append(section); } }); }); addKingsCrownsToMicePage = () => __async(void 0, null, function* () { makeKingsCrownsTab(); makeKingsCrownsTabContent(); }); parseImperialWeight = (weightText) => { const lbsSplit = weightText.innerText.split("lb."); const lbs = lbsSplit.length > 1 ? lbsSplit[0] : 0; const ozSplit = weightText.innerText.split("oz."); const oz = ozSplit.length > 1 ? ozSplit[0] : 0; return Number.parseInt(lbs) * 16 + Number.parseInt(oz); }; getSetRowValue = (row, type) => { let value = 0; value = row.getAttribute(`data-sort-value-${type}`); if (value) { return Number.parseInt(value); } const valueText = row.querySelector(`${getSelectorPrefix()} .mouseListView-categoryContent-subgroup-mouse-stats.${type}`); if (type === "average_weight" || type === "heaviest_catch") { if (valueText.innerText.includes("lb") || valueText.innerText.includes("oz")) { value = parseImperialWeight(valueText); } else if (valueText.innerText.includes("kg")) { value = valueText.innerText.replace("kg.", ""); } else { value = 0; } } else { value = valueText.innerText ? valueText.innerText.replaceAll(",", "") || 0 : 0; } row.setAttribute(`data-sort-value-${type}`, value); return Number.parseInt(value); }; sortStats = (type, reverse = false) => { reverse = !reverse; let rows = document.querySelectorAll(`${getSelectorPrefix()} .active .mouseListView-categoryContent-subgroup-mouse:not(:first-child)`); if (!rows.length) { return; } const headerRow = document.querySelector(`${getSelectorPrefix()} .active .mouseListView-categoryContent-subgroup-mouse:first-child`); if (!headerRow) { return; } rows.forEach((row) => { getSetRowValue(row, type); }); rows = [...rows].sort((a, b) => { const aVal = getSetRowValue(a, type); const bVal = getSetRowValue(b, type); if (aVal === bVal || type === "name") { const aNameEl = a.querySelector(".mouseListView-categoryContent-subgroup-mouse-stats.name"); if (!aNameEl) { return 0; } const bNameEl = b.querySelector(".mouseListView-categoryContent-subgroup-mouse-stats.name"); if (!bNameEl) { return 0; } const aName = aNameEl.innerText; const bName = bNameEl.innerText; if (aName === bName) { return 0; } return aName > bName ? 1 : -1; } return aVal > bVal ? 1 : -1; }); if (reverse) { rows = rows.reverse(); } rows.forEach((row) => { row.parentNode.append(row); }); }; addSortButton = (elements, type) => { elements.forEach((el) => { const sortButton = makeElement("div", ["sort-button", "unsorted"], ""); el.addEventListener("click", () => { const otherSortButtons = el.parentNode.querySelectorAll(".sort-button"); otherSortButtons.forEach((button) => { if (button !== sortButton) { button.classList.remove("reverse"); button.classList.add("unsorted"); } }); if (sortButton.classList.contains("unsorted")) { sortButton.classList.remove("unsorted"); sortStats(type); return; } if (sortButton.classList.contains("reverse")) { sortButton.classList.remove("reverse"); sortStats(type); return; } sortButton.classList.add("reverse"); sortStats(type, true); }); el.append(sortButton); }); }; getSelectorPrefix = () => { const currentTab = getCurrentTab(); let currentSubtab = getCurrentSubtab(); if (currentTab === currentSubtab) { currentSubtab = false; } return `.mousehuntHud-page-subTabContent.active${currentSubtab ? `.${currentSubtab}` : ""}`; }; addSortingToCat = (cat, retries = 0) => { const cats = [ "name", "catches", "misses", "average_weight", "heaviest_catch" ]; const selector = `${getSelectorPrefix()} .mouseListView-categoryContent-category[data-category="${cat}"]`; const category = document.querySelector(selector); if (!category || category && category.classList.contains("loading")) { if (retries > 10) { return; } setTimeout(() => addSortingToCat(cat, retries + 1), 300); return; } if (category.getAttribute("data-added-sorting")) { return; } cats.forEach((mCat) => { const els = category.querySelectorAll(`${getSelectorPrefix()} .mouseListView-categoryContent-category.all.active .mouseListView-categoryContent-subgroup-mouse.header .mouseListView-categoryContent-subgroup-mouse-stats.${mCat}`); if (els.length) { addSortButton(els, mCat); } }); category.setAttribute("data-added-sorting", true); const rows = category.querySelectorAll(`${getSelectorPrefix()} .mouseListView-categoryContent-subgroup-mouse:not(:first-child)`); if (!rows.length) { return; } rows.forEach((row) => { const catches = row.querySelector(`${getSelectorPrefix()} .mouseListView-categoryContent-subgroup-mouse-stats.catches`); if (!catches) { return; } const value = catches.innerText ? catches.innerText.replaceAll(",", "") || 0 : 0; if (value >= 2500) { row.classList.add("crown", "diamond"); } else if (value >= 1e3) { row.classList.add("crown", "platinum"); } else if (value >= 500) { row.classList.add("crown", "gold"); } else if (value >= 100) { row.classList.add("crown", "silver"); } else if (value >= 10) { row.classList.add("crown", "bronze"); } }); }; hasAddedSortingTabClickListeners = false; addSortingTabClickListeners = () => { if (hasAddedSortingTabClickListeners) { return; } hasAddedSortingTabClickListeners = true; const _categoryClickHandler = hg.views.MouseListView.categoryClickHandler; hg.views.MouseListView.categoryClickHandler = (el) => { _categoryClickHandler(el); addSortingToCat(el.getAttribute("data-category")); }; }; clickCurrentTab = () => { const activeTab = document.querySelector(".mousehuntHud-page-tabContent.active .mousehuntHud-page-subTabContent.active .mouseListView-categoryContainer.active a"); if (!activeTab) { setTimeout(clickCurrentTab, 250); return; } addSortingToCat(activeTab.getAttribute("data-category")); hg.views.MouseListView.categoryClickHandler(activeTab); }; addSortingToStatsPage = () => { addSortingTabClickListeners(); clickCurrentTab(); }; mouse_page_default = () => __async(void 0, null, function* () { var _a, _b; if ("adversaries" === getCurrentPage() && getCurrentTab() === "kings_crowns") { addKingsCrownsToMicePage(); const tab = document.querySelector(".mousehuntHud-page-tabHeader.kings-crowns-tab"); if (tab && ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.onclickPageTabHandler)) { hg.utils.PageUtil.onclickPageTabHandler(tab); } } onNavigation(addKingsCrownsToMicePage, { page: "adversaries" }); onNavigation(addSortingToStatsPage, { page: "adversaries", tab: "your_stats", subtab: "group" }); onNavigation(addSortingToStatsPage, { page: "adversaries", tab: "your_stats", subtab: "location" }); onEvent("set_tab", () => { if ("your_stats" === getCurrentTab()) { addSortingToStatsPage(); } }); onNavigation(addSortingToStatsPage, { page: "hunterprofile", tab: "mice", subtab: "group" }); onNavigation(addSortingToStatsPage, { page: "hunterprofile", tab: "mice", subtab: "location" }); }); } }); // src/modules/better-mice/settings/index.js var settings_default8; var init_settings9 = __esm({ "src/modules/better-mice/settings/index.js"() { settings_default8 = () => __async(void 0, null, function* () { return [ { id: "better-mice.show-attraction-rates", title: "Show attraction rates", default: true }, { id: "better-mice.show-mouse-hover", title: "Show mice details on hover (in journal)" }, { id: "better-mice.show-sidebar", title: "Show available mice in sidebar", default: true } ]; }); } }); // src/modules/better-mice/sidebar/styles.css var styles_default15; var init_styles16 = __esm({ "src/modules/better-mice/sidebar/styles.css"() { styles_default15 = ".mh-improved-mice-sidebar{padding:0;margin:5px 0 15px;border:1px solid #ddedff}.mh-improved-mice-sidebar-title{position:relative;padding:5px;font-size:11px;text-align:center;background-color:#ddedff}.mh-improved-mice-sidebar-list{display:flex;flex-direction:column}.mh-improved-mice-sidebar-mouse{display:flex;gap:5px;align-items:center;justify-content:flex-start;padding:1px 5px}.mh-improved-mice-sidebar-mouse-image{width:20px;height:20px;background-size:cover;border-radius:3px;box-shadow:inset 0 0 0 1px #fff}.mh-improved-mice-sidebar-mouse-name{font-size:10px}.mh-improved-mice-sidebar-mouse:hover{cursor:pointer;background-color:#eee}\n"; } }); // src/modules/better-mice/sidebar/index.js var updateSidebarListFromMiceEff, updateSidebarList, sidebar_default3; var init_sidebar3 = __esm({ "src/modules/better-mice/sidebar/index.js"() { init_utils2(); init_styles16(); updateSidebarListFromMiceEff = (data) => __async(void 0, null, function* () { return yield updateSidebarList(data, true); }); updateSidebarList = (data = null, isFromMiceEff = false) => __async(void 0, null, function* () { const sidebar = document.querySelector(".pageSidebarView .pageSidebarView-block"); if (!sidebar) { return; } if (!data || !isFromMiceEff) { data = yield doRequest("managers/ajax/users/getmiceeffectiveness.php"); } const groups2 = (data == null ? void 0 : data.effectiveness) || {}; const mice = Object.values(groups2).reduce((acc, group) => { return [...acc, ...group.mice]; }, []); const existingList = document.querySelector(".mh-improved-mice-sidebar-list"); if (!mice) { if (existingList) { existingList.remove(); } return; } const miceSidebar = makeElement("div", "mh-improved-mice-sidebar"); makeElement("h3", "mh-improved-mice-sidebar-title", "Available Mice", miceSidebar); const miceContainer = makeElement("div", "mh-improved-mice-sidebar-list"); mice.forEach((mouse) => { const mouseEl = makeElement("div", "mh-improved-mice-sidebar-mouse"); mouseEl.addEventListener("click", () => { hg.views.MouseView.show(mouse == null ? void 0 : mouse.type); }); const mouseImage = makeElement("div", "mh-improved-mice-sidebar-mouse-image"); mouseImage.style.backgroundImage = `url(${mouse == null ? void 0 : mouse.thumb})`; mouseEl.append(mouseImage); makeElement("div", "mh-improved-mice-sidebar-mouse-name", mouse.name, mouseEl); miceContainer.append(mouseEl); }); if (existingList) { existingList.replaceWith(miceContainer); return; } miceSidebar.append(miceContainer); const mapSidebar = document.querySelector(".pageSidebarView-block .mh-improved-map-sidebar"); if (mapSidebar) { mapSidebar.before(miceSidebar); return; } const existing = document.querySelector(".mh-improved-mice-sidebar"); if (existing) { existing.replaceWith(miceSidebar); return; } sidebar.append(miceSidebar); }); sidebar_default3 = () => __async(void 0, null, function* () { if (getSetting("no-sidebar")) { return; } addStyles(styles_default15, "better-mice-sidebar"); updateSidebarList(); onRequest("users/getmiceeffectiveness.php", updateSidebarListFromMiceEff, true); onRequest("users/changetrap.php", updateSidebarList, true); }); } }); // src/modules/better-mice/styles.css var styles_default16; var init_styles17 = __esm({ "src/modules/better-mice/styles.css"() { styles_default16 = '.mouseView-titleContainer{height:26px}.mouseView-values{float:none;font-size:11px;line-height:unset}.mouseView-title{font-size:1.2em;line-height:24px}.mh-ui-mouse-links{display:inline-block;float:right;margin-right:15px}.mh-ui-mouse-links-map{display:flex;justify-content:center;padding-bottom:5px}.mh-ui-mouse-links a{margin-right:10px}.mh-ui-mouse-links-map a{margin:10px 10px 10px 0}.mouseview-title-group{font-size:11px}.mh-ui-mouse-links-map .mousehuntActionButton.tiny{margin:3px}.mouseView-movedContainer{display:flex;flex-flow:row wrap;gap:10px}.mouseview-has-mhct .mouseView-weaknessContainer{display:flex;flex-direction:column;align-items:center;width:90px}.mouseview-has-mhct .mouseView-categoryContent-subgroup-mouse-weaknesses{width:100%}.mouseview-has-mhct .mouseView-socialContainer{display:none}.mouseview-has-mhct .mouseView-statsContainer{display:flex;align-items:stretch;width:155px}.mouseview-has-mhct .mouseView-statsContainer-block-padding{display:flex;flex-direction:column;align-items:center;min-width:125px;padding:10px 8px}.mouseview-has-mhct .mouseView-descriptionContainer{width:100%}.mouseView-categoryContent-subgroup-mouse-weaknesses-label{font-size:12px;font-weight:400;font-variant:none}.mouseview-has-mhct .mouseView-difficulty{display:none}.mouseview-has-mhct .mouse-ar-wrapper{display:grid;grid-template-columns:1fr 1fr 50px;gap:10px;place-items:center stretch;width:100%;padding:5px;margin:5px 0;font-size:12px}.mouseview-has-mhct .has-stages .mouse-ar-wrapper{grid-template-columns:1fr 1fr 1fr 50px}.mouseview-has-mhct .mouse-ar-wrapper div{padding:0 2px;font-size:12px}.mouseview-has-mhct .mice-ar-wrapper{margin-right:10px}.mouseview-has-mhct .mouse-ar-wrapper div.rate{font-size:13px}.mouseview-has-mhct .ar-header{display:flex;align-items:center;justify-content:space-between;height:26px;padding-bottom:2px;margin-top:10px;font-size:12px;font-weight:900;border-bottom:1px solid #ccc}.mouseview-has-mhct .ar-link{font-weight:400}.mouseview-has-mhct .rate{text-align:right}.mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd){background-color:#e7e7e7}.mouseview-has-mhct .mouseView-description{line-height:1.5}.mh-ui-mouse-links-map-name{color:#3b5998;cursor:pointer}.treasureMapView-highlight-name{padding:5px 0 10px;font-weight:400;text-align:center}.mh-ui-mouse-links-map-name:hover{text-decoration:underline}.mh-ui-mouse-links-map .treasureMapView-highlight-group{text-align:center}.mouseView-image{box-shadow:none}.mouseView-image:hover{box-shadow:1px 1px 2px #e70}.mouseView a.custom-favorite-button,.mouseView a.custom-favorite-button-small{position:absolute;top:15px;left:15px;width:30px;height:30px;background-size:contain}#custom-submenu-item-king-s-crowns .icon{filter:sepia(1) brightness(.5)}.mouseView-statsContainer-block-padding abbr{text-decoration:none}.mouseView-statsContainer-block-padding{padding:5px}a.mouseListView-categoryContent-subgroup-mouse-thumb{position:relative}.crown .mouseListView-categoryContent-subgroup-mouse-thumb:after{position:absolute;top:-4px;left:-8px;z-index:2;width:20px;height:20px;content:"";background-color:#fdfdfa;background-size:contain;border:1px solid #929292;border-radius:50%}.crown.bronze .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_bronze.png)}.crown.silver .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png)}.crown.gold .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_gold.png)}.crown.diamond .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_diamond.png)}.crown.platinum .mouseListView-categoryContent-subgroup-mouse-thumb:after{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_platinum.png)}.mouseListView-categoryContent-subgroup-mouse-thumb,.mouseListView-categoryContent-subgroup-mouse .mouseListView-categoryContent-subgroup-mouse-margin{transition:.2s ease-in}.mouseListView-categoryContent-subgroup-mouse-thumb:hover{transform:scale(1.2)}a.mouseListView-categoryContent-subgroup-mouse:hover .mouseListView-categoryContent-subgroup-mouse-margin{background-size:contain}.mouseViewPopup .mouseView-image:hover{box-shadow:none;transform:scale(.95)}.mouseViewPopup .mouseView-image{margin-bottom:10px;transition:.2s ease-in}.mouseViewPopup .mouseView-descriptionContainer{display:grid;grid-template-columns:3fr 2fr;justify-items:stretch}.mouseViewPopup .mouseView-values{margin-left:0}.mouseViewPopup .mouseView-description{grid-column:span 2;padding-top:5px}.mouseViewPopup .mouseView-group.mouseview-title-group{text-align:right}img.minluck-power-type-img{width:20px}li.minluck-item{display:inline-flex;gap:3px;align-items:center;width:auto;padding:2px 3px;margin:2px;font-size:12px;background-color:#f2f2f2;border:1px solid #ccc;border-radius:8px}ul.minluck-list{display:flex;flex-wrap:wrap;place-content:center flex-start;width:auto;margin-right:-5px}.minluck-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:2px;margin-top:10px;margin-bottom:5px;font-size:12px;font-weight:900;border-bottom:1px solid #ccc}.mouseview-relicHunter{display:flex;align-items:center;justify-content:space-around;width:100%;padding:10px;font-size:15px;background-color:#edd1f3;border-radius:10px}.mouseListView-categoryContent-subgroup-mouse-stats.catches,.mouseListView-categoryContent-subgroup-mouse-stats.misses{width:13%}.mouseListView-categoryContent-subgroup-mouse-stats.average_weight,.mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch{width:15%;text-align:center}.mouseListView-categoryContent-subgroup-mouse-stats.name{width:44%}.mouseListView-categoryContent-subgroup-mouse-thumb-name{width:auto}.mouseListView-categoryContent-filter-option:hover{color:#fff;background:#344562}.mouseListView-categoryContent-filter-option{margin-left:5px}\n'; } }); // src/modules/better-mice/index.js var getLinkMarkup4, addLinks2, isFavorite, addFavoriteButton, addMinluck, addWisdom, updateMouseView, _original, replaceShowMouseImage, main5, wisdoms, minlucks, init9, better_mice_default; var init_better_mice = __esm({ "src/modules/better-mice/index.js"() { init_utils2(); init_hover_mice(); init_mouse_page(); init_settings9(); init_sidebar3(); init_styles17(); getLinkMarkup4 = (name) => { return makeLink("MHCT AR", `https://www.mhct.win/attractions.php?mouse_name=${name}`) + makeLink("Wiki", `https://mhwiki.hitgrab.com/wiki/index.php/${name}`); }; addLinks2 = () => { const title = document.querySelector(".mouseView-title"); if (!title) { return; } const currentLinks = document.querySelector(".mh-ui-mouse-links"); if (currentLinks) { currentLinks.remove(); } const div = document.createElement("div"); div.classList.add("mh-ui-mouse-links"); div.innerHTML = getLinkMarkup4(title.innerText); title.parentNode.insertBefore(div, title); const values = document.querySelector(".mouseView-values"); const desc = document.querySelector(".mouseView-descriptionContainer"); if (values && desc) { desc.insertBefore(values, desc.firstChild); } }; isFavorite = (mouseId) => __async(void 0, null, function* () { var _a, _b, _c, _d, _e; const favorites = yield doRequest("managers/ajax/pages/page.php", { page_class: "HunterProfile", "page_arguments[tab]": "kings_crowns", "page_arguments[sub_tab]": false, "page_arguments[snuid]": window.user.sn_user_id }); if (!((_e = (_d = (_c = (_b = (_a = favorites == null ? void 0 : favorites.page) == null ? void 0 : _a.tabs) == null ? void 0 : _b.kings_crowns) == null ? void 0 : _c.subtabs[0]) == null ? void 0 : _d.mouse_crowns) == null ? void 0 : _e.favourite_mice.length)) { return false; } return favorites.page.tabs.kings_crowns.subtabs[0].mouse_crowns.favourite_mice.some((mouse) => { return mouse.id && mouse.id === Number.parseInt(mouseId, 10); }); }); addFavoriteButton = (mouseId, mouseView) => __async(void 0, null, function* () { const state = yield isFavorite(mouseId); const fave = yield makeFavoriteButton({ target: mouseView, size: "large", isSetting: false, state, onChange: () => { doRequest("managers/ajax/mice/mouse_crowns.php", { action: "toggle_favourite", user_id: window.user.user_id, mouse_id: mouseId }); } }); mouseView.append(fave); }); addMinluck = (mouseId, mouseView) => __async(void 0, null, function* () { const appendTo = mouseView.querySelector(".mouseView-contentContainer"); if (!appendTo) { return; } const minluckContainer = makeElement("div", "minluck-container"); const titleText = makeElement("div", "minluck-title", "Minlucks"); makeTooltip({ appendTo: titleText, text: "If your current luck is above the minluck, you are guaranteed to catch the mouse if you attract it." }); minluckContainer.append(titleText); const minluckList = makeElement("ul", "minluck-list"); const minluck = minlucks.find((m) => m.id === Number.parseInt(mouseId, 10)); const mouseMinlucks = (minluck == null ? void 0 : minluck.minlucks) || {}; Object.keys(mouseMinlucks).forEach((powerType) => { if (!mouseMinlucks[powerType] || "\u221E" === mouseMinlucks[powerType]) { return; } const minluckItem = makeElement("li", "minluck-item"); const powerTypeImg = makeElement("img", "minluck-power-type-img"); powerTypeImg.src = `https://www.mousehuntgame.com/images/powertypes/${powerType.toLowerCase()}.png`; minluckItem.append(powerTypeImg); makeElement("div", "minluck-power-type-minluck", mouseMinlucks[powerType], minluckItem); minluckList.append(minluckItem); }); minluckContainer.append(minluckList); appendTo.append(minluckContainer); }); addWisdom = (mouseId, mouseView) => __async(void 0, null, function* () { const values = mouseView.querySelector(".mouseView-values"); if (!values) { return; } let wisdom = wisdoms.find((m) => m.id === Number.parseInt(mouseId, 10)); wisdom = (wisdom == null ? void 0 : wisdom.wisdom) || 0; wisdom = wisdom.toString().replaceAll(/\B(?=(\d{3})+(?!\d))/g, ","); makeElement("span", "wisdom-container", ` / ${wisdom} Wisdom`, values); }); updateMouseView = () => __async(void 0, null, function* () { const mouseView = document.querySelector("#overlayPopup .mouseView"); if (!mouseView) { return; } const mouseId = mouseView.getAttribute("data-mouse-id"); if (!mouseId) { return; } const name = mouseView.querySelector(".mouseView-title"); if (!name) { return; } const catchesEl = document.querySelectorAll(".mouseView-statsContainer-block-padding td abbr"); if (catchesEl && catchesEl.length > 0) { catchesEl.forEach((el) => { const catchesNumber = el.getAttribute("title").replace(" Catches", "").replace(" catches", "").replace(" Misses", "").replace(" misses", "").trim(); if (catchesNumber) { el.innerText = catchesNumber; } }); } addLinks2(); addFavoriteButton(mouseId, mouseView); addMinluck(mouseId, mouseView); addWisdom(mouseId, mouseView); mouseView.classList.add("mouseview-has-mhct"); const group = document.querySelector(".mouseView-group"); if (group) { group.classList.add("mouseview-title-group"); const descContainer = document.querySelector(".mouseView-descriptionContainer"); if (descContainer) { if (descContainer.childNodes.length > 1) { descContainer.insertBefore(group, descContainer.childNodes[1]); } else { descContainer.append(group); } } } const groupTitle = mouseView.querySelector(".mouseView-group.mouseview-title-group"); if (groupTitle) { let newHtml = groupTitle.innerHTML.replace("Group: ", ""); const subGroups = newHtml.split("("); if (subGroups.length > 1) { newHtml = `<span class="mouseview-group">${subGroups[0]}</span><span class="mouseview-subgroup">(${subGroups[1]}</span>`; groupTitle.classList.add("mouseview-title-group-has-subgroup"); } else { newHtml = `<span class="mouseview-group">${newHtml}</span>`; } groupTitle.innerHTML = newHtml; } const container = mouseView.querySelector(".mouseView-contentContainer"); if (!container) { return; } const imageContainer = mouseView.querySelector(".mouseView-imageContainer"); if (imageContainer) { const movedContainer = makeElement("div", "mouseView-movedContainer"); const statsContainer = mouseView.querySelector(".mouseView-statsContainer"); if (statsContainer) { movedContainer.append(statsContainer); } const weaknessContainer = mouseView.querySelector(".mouseView-weaknessContainer"); if (weaknessContainer) { movedContainer.append(weaknessContainer); const weaknesses = weaknessContainer.querySelectorAll(".mouseView-categoryContent-subgroup-mouse-weaknesses-padding"); weaknesses.forEach((w) => { const weakness = w.querySelector(".mouseView-weakness"); if (!weakness) { w.classList.add("mouseview-weakness-empty"); w.classList.add("hidden"); } }); } if (401 === Number.parseInt(mouseId, 10)) { const location = yield getRelicHunterLocation(); if (location && location.name) { const relicHunterBox = makeElement("div", ["mouseview-relicHunter", "mouseview-relicHunter"]); makeElement("div", "hint", location.name, relicHunterBox); const button = makeElement("div", ["mousehuntActionButton", "small"]); makeElement("span", "", "Travel", button); button.addEventListener("click", () => { app.pages.TravelPage.travel(location.id); setPage("Camp"); }); relicHunterBox.append(button); movedContainer.append(relicHunterBox); } } imageContainer.append(movedContainer); } if (!getSetting("better-mice.show-attraction-rates", true)) { return; } const arWrapper = makeElement("div", "ar-wrapper"); const title = makeElement("div", "ar-header"); const titleText = makeElement("div", "ar-title", "Attraction Rates", title); makeTooltip({ appendTo: titleText, text: 'The best location and bait, according to data gathered by <a href="https://mhct.win/" target="_blank" rel="noopener noreferrer">MHCT</a>.' }); const link = makeElement("a", "ar-link", "View on MHCT \u2192"); link.href = `https://www.mhct.win/attractions.php?mouse_name=${name.innerText}`; link.target = "_mhct"; title.append(link); arWrapper.append(title); let mhctJson = yield getArForMouse(mouseId, "mouse"); if (!mhctJson || mhctJson === void 0 || mhctJson.length === 0 || "error" in mhctJson) { return; } mhctJson = mhctJson.slice(0, 15); const miceArWrapper = makeElement("div", "mice-ar-wrapper"); const hasStages = mhctJson.some((mouseAr) => mouseAr.stage); if (hasStages) { miceArWrapper.classList.add("has-stages"); } mhctJson.forEach((mouseAr) => { const mouseArWrapper = makeElement("div", "mouse-ar-wrapper"); makeElement("div", "location", mouseAr.location, mouseArWrapper); if (hasStages) { makeElement("div", "stage", mouseAr.stage, mouseArWrapper); } makeElement("div", "cheese", mouseAr.cheese, mouseArWrapper); makeElement("div", "rate", `${(mouseAr.rate / 100).toFixed(2)}%`, mouseArWrapper); miceArWrapper.append(mouseArWrapper); }); if (mhctJson.length > 0) { arWrapper.append(miceArWrapper); container.append(arWrapper); } }); replaceShowMouseImage = () => { if (_original) { return; } _original = hg.views.MouseCrownsView.showMouseImage; hg.views.MouseCrownsView.showMouseImage = (element) => { const type = element.getAttribute("data-mouse-type"); if (type) { hg.views.MouseView.show(type); return; } _original(element); }; }; main5 = () => __async(void 0, null, function* () { onOverlayChange({ mouse: { show: updateMouseView } }); minlucks = yield getData("minlucks"); wisdoms = yield getData("wisdom"); addSubmenuItem({ menu: "mice", label: "Groups", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/mice.png", href: "https://www.mousehuntgame.com/adversaries.php?tab=groups" }); addSubmenuItem({ menu: "mice", label: "Regions", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/travel.png", href: "https://www.mousehuntgame.com/adversaries.php?tab=regions" }); addSubmenuItem({ menu: "mice", label: "Your Stats", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/special.png", href: "https://www.mousehuntgame.com/adversaries.php?tab=your_stats" }); addSubmenuItem({ menu: "mice", label: "King's Crowns", icon: "https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png", href: "https://www.mousehuntgame.com/adversaries.php?tab=kings_crowns" }); }); init9 = () => __async(void 0, null, function* () { addStyles(styles_default16, "better-mice"); main5(); mouse_page_default(); if (getSetting("better-mice.show-mouse-hover", true)) { excludeFromStandaloneUserscript: hover_mice_default(); } if (getSetting("better-mice.show-mice-sidebar", true)) { excludeFromStandaloneUserscript: sidebar_default3(); } replaceShowMouseImage(); }); better_mice_default = { id: "better-mice", name: "Better Mice", type: "better", default: true, description: "Adds attraction rate stats and links to MHWiki and MHCT to mouse dialogs. Adds sorting to the mouse stats pages, and adds the King's Crown tab to the mouse pages.", load: init9, settings: settings_default8 }; } }); // src/modules/better-quests/settings/index.js var settings_default9; var init_settings10 = __esm({ "src/modules/better-quests/settings/index.js"() { settings_default9 = () => __async(void 0, null, function* () { return [{ id: "better-quests.m400-helper", title: "M400 Helper", default: true, description: 'Adds a "Travel to next step" button to the M400 quest.' }]; }); } }); // src/modules/better-quests/m400.js var renderButton, main6, m400_default; var init_m400 = __esm({ "src/modules/better-quests/m400.js"() { init_utils2(); renderButton = (location) => { const title = document.querySelector(".campPage-quests-title"); if (!title) { return; } const existingButton = document.querySelector("#mh-improved-m400-travel"); if (existingButton) { existingButton.remove(); } const button = makeElement("div", ["mousehuntActionButton", "tiny", "mh-m400-travel", `mh-m400-travel-${location}`]); button.id = "mh-improved-m400-travel"; if (location === getCurrentLocation()) { button.classList.add("disabled"); } makeElement("span", "mousehuntActionButton-text", "Travel to next step", button); button.setAttribute("data-location", location); button.addEventListener("click", (e) => { let clickedLocation = e.target.getAttribute("data-location"); if (!clickedLocation) { const parent = e.target.parentElement; if (!parent) { return; } clickedLocation = parent.getAttribute("data-location"); } travelTo(clickedLocation); setPage("Camp", null, () => { }); }); title.append(button); }; main6 = () => __async(void 0, null, function* () { var _a, _b, _c; const questTitle = document.querySelector(".campPage-quests-title"); if (!questTitle) { return; } const isM400 = ((_b = (_a = user.quests) == null ? void 0 : _a.QuestLibraryM400Research) == null ? void 0 : _b.is_assignment) || ((_c = user.quests.QuestLibraryM400Research) == null ? void 0 : _c.is_bait_assignment); if (!isM400) { return; } const container = document.querySelector(".campPage-quests-container"); if (!container) { return; } container.classList.add("mh-m400-quest"); const allTasks = document.querySelectorAll(".campPage-quests-objective-container"); if (!allTasks) { return; } const taskNames = document.querySelectorAll(".campPage-quests-objective-task"); if (taskNames) { taskNames.forEach((task) => { const newText = task.innerText.replaceAll("Collect 1 Piece of M400 Intel", "Collect Intel"); task.innerText = newText; }); } const last = [...allTasks].reverse().find((task) => { return !task.classList.contains("locked") && !task.classList.contains("complete"); }); if (!last) { return; } const objective = last.querySelector(".campPage-quests-objective-task"); if (!objective) { return; } let location = objective.innerText.split(" in "); if (location.length === 1) { location = objective.innerText.split(" from "); } if (location.length === 1) { return; } location = location[1].replace("Mice", "").replace("the ", "").trim(); const locations = yield getData("m400-locations"); const locationKey = Object.keys(locations).find((key) => { return locations[key].includes(location); }); if (!locationKey) { return; } renderButton(locationKey); }); m400_default = () => __async(void 0, null, function* () { main6(); onNavigation(main6, { page: "camp" }); }); } }); // src/modules/better-quests/styles.css var styles_default17; var init_styles18 = __esm({ "src/modules/better-quests/styles.css"() { styles_default17 = "#mh-improved-m400-travel{left:15px;cursor:pointer}.m400-helper-hidden,.campPage-quests-objective-container.locked .campPage-quests-objective-content,.campPage-quests-footer-smash-icon,.campPage-quests-footer-smash-warning{display:none}.campPage-quests-objective-container .campPage-quests-objective-thumb{width:35px;height:25px}.campPage-quests-objective-content{width:calc(100% - 35px)}.campPage-quests-objective-container.locked .campPage-quests-objective-thumb{width:100%;margin:0 auto;opacity:.4}.campPage-quests-footer-smash{display:flex;flex-direction:row;place-content:center center;align-items:center;padding:4px;font-size:9.75px;text-decoration:underline;border-radius:3px;box-shadow:none}#mh-research-smash-warning{position:absolute;bottom:28px;left:30px;display:block;max-width:250px;line-height:16px;text-align:left}#overlayPopup.zugzwangsLibraryQuestShopPopup .errorText{padding:10px 0;color:#da1717}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .image{width:57px}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .image img{width:40px;height:40px;margin:0}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .actions{margin-left:-19px}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .content b{display:block;padding:5px 0;font-size:12px;color:#000}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .content{color:#909090}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .requirements b{display:inline-block;padding:7px}#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink .item img,#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink br{display:none}#overlayPopup.zugzwangsLibraryQuestShopPopup .questContainer{height:auto;overflow-y:visible}#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink{display:flex;align-items:center}#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink:hover,#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink:focus,#overlayPopup.zugzwangsLibraryQuestShopPopup a.questLink:active{cursor:default}.mh-m400-travel{margin-top:-2px;margin-left:10px}.mh-m400-quest .campPage-quests-objective-progress,.mh-m400-quest .campPage-quests-objective-progressBar{display:none}\n"; } }); // src/modules/better-quests/index.js var updateObjectiveFooterDisplay, addQuestsTab, addQuestTabEventListener, addResearchSmashWarning, moveErrorText, removeSmashText, assignments, getAssignmentMeta, updateAssignmentList, modifyAvailableQuestsPopup, checkForQuestSmash, m400IfEnabled, main7, init10, better_quests_default; var init_better_quests = __esm({ "src/modules/better-quests/index.js"() { init_utils2(); init_settings10(); init_m400(); init_styles18(); updateObjectiveFooterDisplay = () => { const footerText = document.querySelector(".campPage-quests-footer-smash"); if (!footerText) { return; } const newHref = footerText.getAttribute("href").replace("subtab", "sub_tab"); footerText.setAttribute("href", `${newHref}#smashQuest`); footerText.innerHTML = footerText.innerHTML.replace("Don't like an assignment? Cancel it by smashing the assignment ", "Cancel this assignment by smashing it "); }; addQuestsTab = () => { const tabs = document.querySelector(".campPage-tabs-tabRow"); if (!tabs) { return; } const existing = tabs.querySelector('a[data-tab="quests"]'); if (existing) { return; } const newQuestsButton = document.createElement("a"); newQuestsButton.classList.add("campPage-tabs-tabHeader"); newQuestsButton.classList.add("quests"); newQuestsButton.setAttribute("data-tab", "quests"); newQuestsButton.addEventListener("click", () => { hg.views.HeadsUpDisplayZugswangLibraryView.showPopup(); }); const newQuestsButtonText = document.createElement("span"); newQuestsButtonText.innerText = "Quests"; newQuestsButton.append(newQuestsButtonText); tabs.insertBefore(newQuestsButton, tabs.lastChild); }; addQuestTabEventListener = () => { const questTabContent = document.querySelector('.campPage-tabs-tabContent[data-tab="quests"]'); if (!questTabContent) { return; } const observer = new MutationObserver(() => { updateObjectiveFooterDisplay(); m400IfEnabled(); }); observer.observe(questTabContent, { childList: true }); }; addResearchSmashWarning = () => { const existing = document.querySelector("#mh-research-smash-warning"); if (existing) { existing.remove(); } if ("hammer" !== getCurrentSubtab()) { return; } const confirm2 = document.querySelector(".inventoryPage-confirmPopup"); if (!confirm2) { return; } const type = confirm2.getAttribute("data-item-type"); if (!type) { return; } const assignments2 = [ "charming_study_hween2014_assignment_quest_item", "double_run_advanced_research_quest", "extra_spooky_hween2014_assignment_quest_item", "furoma_research_quest_item", "hg_letter_research_quest_item", "lab_monster_1_quest_item", "library_adv_hween2013_research_quest_item", "library_catalog_quest_item", "library_hween2013_research_quest_item", "library_m400_bait_research_quest_item", "library_m400_research_quest_item", "library_mice_research_quest_item", "library_power_type_research_quest_item", "mystic_advanced_research_quest_item", "mystickingresearch_quest_item", "pagoda_advanced_research_quest_item", "pagoda_research_quest_item", "seasonalgardenresearch_quest_item", "tech_advanced_research_quest_item", "techkingresearch_quest_item", "zurreal_trap_research_quest_item" ]; if (!assignments2.includes(type)) { return; } const warningText = document.createElement("div"); warningText.id = "mh-research-smash-warning"; warningText.innerText = "If you smash an assignment, you will have to wait 1 hour until you can get a new one."; confirm2.insertBefore(warningText, confirm2.firstChild); }; moveErrorText = () => { const errorTextEl = document.querySelectorAll(".questLink .requirements .error"); if (!errorTextEl) { return; } let errorText = ""; errorTextEl.forEach((el) => { if (el.innerText) { errorText = el.innerText; } el.classList.add("hidden"); }); if (!errorText) { return; } errorText = errorText.replace(/ \d\d seconds/, "").replace(" before taking", " for"); const titleBar = document.querySelector("#jsDialogAjaxPrefix h2"); if (!titleBar) { return; } const titleError = makeElement("h3", "errorText", errorText); titleBar.parentNode.insertBefore(titleError, titleBar.nextSibling); }; removeSmashText = () => { const smashText = document.querySelector(".smashQuest"); if (smashText) { smashText.classList.add("hidden"); } }; assignments = [ { id: "library_intro_research_assignment_convertible", name: "Catalog Library Mice", cost: 0, reward: 20, rank: false }, { id: "", name: "Library Research", cost: 20, reward: 30, rank: false }, { id: "zugzwang_research_assignment_convertible", name: "Zugzwang Research", cost: 50, reward: 80, rank: false }, { id: "furoma_research_assignment_convertible", name: "Furoma Research", cost: 130, reward: 90, rank: false }, { id: "adv_zugzwang_research_assignment_convertible", name: "Advanced Zugzwang Research", cost: 150, reward: 150, rank: false }, { id: "zurreal_trap_research_convertible", name: "Zurreal Trap Research", cost: 900, reward: 400, rank: false }, { id: "library_m400_bait_assignment_convertible", name: "M400 Bait Research Assignment", cost: 1500, reward: 200, rank: true }, { id: "library_m400_assignment_convertible", name: "M400 Hunting Research Assignment", cost: 1900, reward: 300, rank: true } ]; getAssignmentMeta = (assignment) => { const wikiLink = `https://mhwiki.hitgrab.com/wiki/index.php/Library_Assignment#${assignment.name.replaceAll(" ", "_")}`; return `<a href="${wikiLink}" target="_blank" rel="noopener noreferrer">Wiki</a> | Requires: ${assignment.cost} | Reward: ${assignment.reward}`; }; updateAssignmentList = () => { const assignmentList = document.querySelectorAll("#overlayPopup.zugzwangsLibraryQuestShopPopup .questLink"); if (!assignmentList) { return; } assignmentList.forEach((outerEl) => { const el = outerEl.querySelector(".content b"); if (!el) { return; } const assignmentName = el.innerText; const assignment = assignments.find((a) => a.name === assignmentName); if (!assignment) { return; } const requirements = el.parentNode.parentNode.querySelector(".requirements"); if (!requirements) { return; } const metaWrapper = makeElement("div", "mh-ui-assignment-meta-wrapper"); makeElement("div", "mh-ui-assignment-meta", getAssignmentMeta(assignment), metaWrapper); requirements.parentNode.insertBefore(metaWrapper, requirements.nextSibling); requirements.remove(); if ("M400 Hunting Research Assignment" === assignmentName) { const m400Wrapper = makeElement("div", ["content", "mh-ui-m400-wrapper"]); makeElement("b", "mh-ui-m400-title", assignmentName, m400Wrapper); makeElement("span", "mh-ui-m400-content", "This envelope contains a Research Assignment that will have you looking for the elusive M400 prototype.", m400Wrapper); el.parentNode.parentNode.querySelector(".content").replaceWith(m400Wrapper); } outerEl.removeAttribute("onclick"); const button = outerEl.querySelector(".actions .mousehuntActionButton"); if (!button) { return; } button.addEventListener("click", () => { hg.views.HeadsUpDisplayZugswangLibraryView.showConfirm(assignment.id); }); }); }; modifyAvailableQuestsPopup = () => { if (!document.querySelector("#overlayPopup.zugzwangsLibraryQuestShopPopup")) { return; } updateAssignmentList(); const isError2 = document.querySelector(".questLink .requirements .error"); if (isError2) { moveErrorText(); removeSmashText(); } }; checkForQuestSmash = () => { if (!window.location.hash || "#smashQuest" !== window.location.hash) { return; } if ("crafting" !== getCurrentTab() || "hammer" !== getCurrentSubtab()) { return; } const assignment = document.querySelector('.inventoryPage-item.quest[data-produced-item="nothing_stat_item"]'); if (!assignment) { return; } app.pages.InventoryPage.useItem(assignment); }; m400IfEnabled = () => { if (!getSetting("better-quests.m400-helper", true)) { return; } m400_default(); }; main7 = () => { if (!isUserTitleAtLeast("lord")) { return; } const activate = () => { addQuestTabEventListener(); addQuestsTab(); checkForQuestSmash(); }; m400IfEnabled(); activate(); onNavigation(activate, { page: "camp" }); onNavigation(checkForQuestSmash, { page: "inventory", tab: "crafting", subtab: "hammer" }); onOverlayChange({ show: () => { addResearchSmashWarning(); modifyAvailableQuestsPopup(); } }); }; init10 = () => __async(void 0, null, function* () { addStyles(styles_default17, "better-quests"); main7(); }); better_quests_default = { id: "better-quests", name: "Better Quests", type: "better", default: true, description: "Allows you to open the assignments popup anywhere, improves the UI of the quests tab, and adds a helper for the M400 assignments.", load: init10, settings: settings_default9 }; } }); // src/modules/better-send-supplies/settings/index.js var settings_default10; var init_settings11 = __esm({ "src/modules/better-send-supplies/settings/index.js"() { init_utils2(); settings_default10 = () => __async(void 0, null, function* () { const tradableItems = yield getTradableItems("truncated_name"); tradableItems.unshift({ name: "None", value: "none" }, { seperator: true }); return [{ id: "better-send-supplies.pinned-items", title: "Pinned items", default: [ { name: "SUPER|brie+", value: "SUPER|brie+" }, { name: "Empowered SUPER|brie+", value: "Empowered SUPER|b..." }, { name: "Rift Cherries", value: "Rift Cherries" }, { name: "Rift-torn Roots", value: "Rift-torn Roots" }, { name: "Sap-filled Thorns", value: "Sap-filled Thorns" } ], description: "Items to pin at the top of the send supplies page.", settings: { type: "multi-select", number: 5, options: tradableItems } }]; }); } }); // src/modules/better-send-supplies/styles.css var styles_default18; var init_styles19 = __esm({ "src/modules/better-send-supplies/styles.css"() { styles_default18 = '#supplytransfer .tabContent.recipient .listContainer .actions{display:none}#supplytransfer .listContainer a.element.recipient{width:auto;height:120px;white-space:nowrap;background-color:#fff}#supplytransfer .tabContent.recipient .listContainer span.content{font-size:12px}#supplytransfer .listContainer a.element.item{display:grid;grid-template-rows:1fr 1fr;align-items:center;width:auto;height:100px;padding:0;margin:0;overflow:hidden}#supplytransfer .listContainer a.element.item,#supplytransfer .listContainer a.element.recipient{border-radius:5px;box-shadow:0 1px 2px -2px #1f1f1f}#supplytransfer .listContainer a.element:hover,#supplytransfer .listContainer a.element.recipient:hover,#supplytransfer .listContainer a.element.item.pinned:hover,#supplytransfer .tabs .tab .image:hover,#supplytransfer .tabs .tab .image.empty:hover{color:#3b5998;background-color:#d8f0ff;border-color:#ccc}#supplytransfer .tabContent.item .listContainer{grid-template-columns:repeat(5,1fr);gap:5px;width:550px;height:100%;max-height:80vh;margin-bottom:0;margin-left:90px}#supplytransfer .categoryMenu{position:fixed;width:90px;background:none}#supplytransfer .categoryMenu a{margin-bottom:1px;font-size:12px;text-align:left}#supplytransfer .itemList .element .itemImage img{width:60px;height:60px}#supplytransfer .listContainer a.element .details{width:90px;margin:0 auto;font-size:11px;text-align:center}#supplytransfer .categoryMenu a:hover,#supplytransfer .categoryMenu a:focus,#supplytransfer .categoryMenu a:active{padding-left:5px;margin-left:-5px;text-decoration:none;background-color:#d8f0ff}.mhui-supply-search{display:flex;align-items:center;padding-bottom:5px;margin:5px 5px 15px;border-bottom:1px solid #ccc}#supplytransfer .drawer .tabContent .searchContainer{position:absolute;top:-5px;right:0}#supplytransfer .drawer .tabContent h2{padding:0;margin:0 auto 0 0;font-size:14px;border:none}#supplytransfer .listContainer a.element.item.hidden{display:none}.mhui-supply-sort-wrapper a,.mhui-supply-sort-wrapper img{width:35px;height:20px}.mhui-supply-sort-wrapper{display:flex;flex-direction:row;gap:5px;align-items:center;margin-right:10px}.mhui-supply-sort-wrapper a{margin:0 4px;line-height:20px;text-align:center;text-decoration:none;border:1px solid #ccc;border-radius:3px;box-shadow:2px 2px 3px #cdc9c6 inset}.mhui-supply-sort-wrapper a:hover,.mhui-supply-sort-wrapper a.focus{background-color:#cac0b2}#supplytransfer .listContainer a.element.item.pinned{background-color:#aef5f7}.mhui-supply-quick-quantity-wrapper{display:flex;gap:10px;align-items:center;justify-content:center;margin:10px auto}.mhui-supply-quick-quantity-max{width:53px}#supplytransfer .friendList.listContainer{padding-top:10px;margin-top:10px;border-top:1px solid #ccc}#supplytransfer .tabs .tab.recipient .image.empty:after,#supplytransfer .tabs .tab.item .image.empty:after{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#3b5998;cursor:pointer;content:""}#supplytransfer .tabs .tab.recipient .image.empty:after{content:"Select Friend"}#supplytransfer .tabs .tab.item .image.empty:after{content:"Select Item"}#supplytransfer .drawer .tabContent.confirm #supplytransfer-confirm-text{padding:0}#supplytransfer .tabs .tab.confirm{display:none}#supplytransfer .tabs .tab.recipient .image.empty,#supplytransfer .tabs .tab.item .image.empty{position:relative;margin-bottom:-20px;background-image:none}#supplytransfer .tabs .tab .image{background:#ccc;border:1px solid #eee}.PageSupplyTransfer .flexibleDialogWarmBrown{padding:0;background:none;box-shadow:none}#supplytransfer .drawer{width:unset;height:100%;max-height:unset;padding:5px;border:none}#supplytransfer .tabs{position:fixed;z-index:1;width:auto;padding:10px 10px 0;margin-top:35px;border:1px solid #ccc;border-radius:5px;box-shadow:0 1px 2px -2px #1f1f1f}#supplytransfer .tabs .tab .image,#supplytransfer .tabs .tab .image.empty{background-color:#eee;border:1px solid #ccc;border-radius:5px}#supplytransfer .drawer .listContainer{display:grid;grid-template-columns:repeat(6,1fr);gap:5px 0}#supplytransfer .listContainer.friendList img{width:85px;height:85px;padding-bottom:5px;border:none;border-radius:3px}#supplytransfer .tabs .tab:hover{background:transparent}#supplytransfer .tabContent.item{margin:-5px}span.mhui-supply-sort-label{color:#000}#supplytransfer .itemList a.element .itemImage{width:60px;height:60px;padding:5px;overflow:visible}#supplytransfer .drawer .tabContent{position:relative;height:100%;max-height:unset}#supplytransfer .tabs .tab .image .img,#supplytransfer .tabs .tab .image{width:80px;height:80px}#supplytransfer .tabs .tab{display:flex;flex-direction:column;align-items:center}#supplytransfer .itemImage .quantity{right:-5px;bottom:-1px;background-color:#fff9}#supplytransfer .listContainer a.element.item.pinned .itemImage .quantity{background-color:#aef5f799}\n'; } }); // src/modules/better-send-supplies/index.js var processSearch, addSearch, asNum, resortItems, addSortButtons, highlightFavoritedItems, addQuickQuantityButtons, items, currentSort, upgradeSendSupplies, hasSorted, main8, init11, better_send_supplies_default; var init_better_send_supplies = __esm({ "src/modules/better-send-supplies/index.js"() { init_utils2(); init_settings11(); init_styles19(); processSearch = () => { const currentValue = document.querySelector("#mhui-supply-search-input"); if (!currentValue.value) { items.forEach((item) => { item.classList.remove("hidden"); }); } items.forEach((item) => { const text = item.textContent.toLowerCase(); if (text.includes(currentValue.value.toLowerCase())) { item.classList.remove("hidden"); } else { item.classList.add("hidden"); } }); }; addSearch = () => { const existing = document.querySelector(".mhui-supply-search-wrapper"); if (existing) { return; } const container = document.querySelector("#supplytransfer .tabContent.item"); if (!container) { return; } const form = makeElement("form", "mhui-supply-search-form"); const label = makeElement("label", ["mhui-supply-search-label"]); label.setAttribute("for", "mhui-supply-search-input"); makeElement("span", "", "Search: ", label); const input = makeElement("input", "mhui-supply-search-input"); input.setAttribute("type", "text"); input.setAttribute("id", "mhui-supply-search-input"); input.setAttribute("autocomplete", "off"); input.addEventListener("keyup", processSearch); label.append(input); form.append(label); const titleWrapper = makeElement("div", "mhui-supply-search"); const title = container.querySelector("h2"); title.textContent = "Send Supplies"; titleWrapper.append(title); titleWrapper.append(form); container.insertBefore(titleWrapper, container.firstChild); setTimeout(() => { input.focus(); }, 100); }; asNum = (number) => { return Number.parseInt(number.replace(",", "")); }; resortItems = (sortType = "alpha") => { const container = document.querySelector("#supplytransfer .tabContent.item .listContainer"); const items2 = container.querySelectorAll(".item"); let sortSelector = ".quantity"; if ("alpha" === sortType || "alpha-reverse" === sortType) { sortSelector = ".details"; } const sorted = [...items2].sort((a, b) => { const aText = a.querySelector(sortSelector).textContent; const bText = b.querySelector(sortSelector).textContent; switch (sortType) { case "alpha": return aText.localeCompare(bText); case "alpha-reverse": return bText.localeCompare(aText); case "qty": return asNum(bText) - asNum(aText); case "qty-reverse": return asNum(aText) - asNum(bText); } return 0; }); for (const item of sorted) { if (item.classList.contains("pinned")) { continue; } container.append(item); } currentSort = sortType; }; addSortButtons = () => { const existing = document.querySelector(".mhui-supply-sort-wrapper"); if (existing) { return; } const container = document.querySelector(".mhui-supply-search"); if (!container) { return; } const sortWrapper = makeElement("div", "mhui-supply-sort-wrapper"); makeElement("span", "mhui-supply-sort-label", "Sort by:", sortWrapper); const alphaSortButton = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-supply-sort-alphabetic"]); makeElement("span", "mousehuntActionButton-text", "Name", alphaSortButton); alphaSortButton.addEventListener("click", () => { resortItems(currentSort === "alpha" ? "alpha-reverse" : "alpha"); }); sortWrapper.append(alphaSortButton); const sortQtyButton = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-supply-sort-quantity"]); makeElement("span", "mousehuntActionButton-text", "Quantity", sortQtyButton); sortQtyButton.addEventListener("click", () => { resortItems(currentSort === "qty" ? "qty-reverse" : "qty"); }); sortWrapper.append(sortQtyButton); container.insertBefore(sortWrapper, container.childNodes[1]); }; highlightFavoritedItems = () => { const itemsToPin = /* @__PURE__ */ new Set([ getSetting("better-send-supplies.pinned-items-0", "SUPER|brie+"), getSetting("better-send-supplies.pinned-items-1", "Empowered SUPER|b..."), getSetting("better-send-supplies.pinned-items-2", "Rift Cherries"), getSetting("better-send-supplies.pinned-items-3", "Rift-torn Roots"), getSetting("better-send-supplies.pinned-items-4", "Sap-filled Thorns") ]); for (const item of items) { const details = item.querySelector(".details"); if (itemsToPin.has(details.textContent)) { item.classList.add("pinned"); } } }; addQuickQuantityButtons = () => { const input = document.querySelector("#supplytransfer-confirm-text input"); if (!input) { return; } const maxquantity = document.querySelector("#supplytransfer-confirm-text .userQuantity"); if (!maxquantity) { return; } const existing = document.querySelector(".mhui-supply-quick-quantity-wrapper"); if (existing) { existing.remove(); } const maxQty = Number.parseInt(maxquantity.textContent.split("You can send up to: ")[1].split(" ")[0].replace(",", "")); const wrapper = makeElement("div", "mhui-supply-quick-quantity-wrapper"); makeMathButtons([1, 5, 10, 100], { appendTo: wrapper, input, maxQty, classNames: ["mhui-supply-quick-quantity", "gray", "small"] }); const max = makeElement("button", ["mousehuntActionButton", "lightBlue", "small", "mhui-supply-quick-quantity", "mhui-supply-quick-quantity-max"]); const maxText = makeElement("span", "", "Max"); max.addEventListener("click", () => { if (maxText.textContent === "Reset") { input.value = 0; maxText.textContent = "Max"; } else { input.value = maxQty; maxText.textContent = "Reset"; } }); max.append(maxText); wrapper.append(max); input.parentNode.insertBefore(wrapper, input.nextSibling); }; items = []; currentSort = null; upgradeSendSupplies = (initial = false) => { const sendTo = document.querySelector("#supplytransfer .drawer .tabContent.recipient"); const isChoosingUser = sendTo && sendTo.style.display !== "none"; const sending = document.querySelector("#supplytransfer .drawer .tabContent.item"); const isChoosingItem = sending && sending.style.display !== "none"; if (isChoosingUser) { const users = document.querySelectorAll("#supplytransfer .friendList .element.recipient"); for (const user2 of users) { user2.addEventListener("click", () => { upgradeSendSupplies(); }, { once: true }); const search = document.querySelector(".searchContainer input"); if (search) { search.focus(); } } } else if (isChoosingItem) { items = document.querySelectorAll("#supplytransfer .tabContent.item .listContainer .item"); highlightFavoritedItems(); if (initial || !hasSorted) { hasSorted = true; resortItems("alpha"); } addSortButtons(); const itemSearch = document.querySelector(".mhui-supply-search-input"); if (itemSearch) { itemSearch.focus(); } } else { addQuickQuantityButtons(); const inputVal = document.querySelector("#supplytransfer-confirm-text input"); if (inputVal) { inputVal.focus(); } } const categories2 = document.querySelectorAll("#supplytransfer .categoryMenu a"); for (const category of categories2) { category.addEventListener("click", () => { highlightFavoritedItems(); }, { once: true }); } sendTo.addEventListener("click", () => { upgradeSendSupplies(); }, { once: true }); sending.addEventListener("click", () => { upgradeSendSupplies(); }, { once: true }); }; hasSorted = false; main8 = () => { addSearch(); upgradeSendSupplies(true); }; init11 = () => __async(void 0, null, function* () { addStyles(styles_default18, "better-send-supplies"); onNavigation(main8, { page: "supplytransfer" }); }); better_send_supplies_default = { id: "better-send-supplies", name: "Better Send Supplies", type: "better", default: true, description: "Adds pinned items, search, and sorting to the Send Supplies page.", load: init11, settings: settings_default10 }; } }); // src/modules/better-shops/settings/index.js var settings_default11; var init_settings12 = __esm({ "src/modules/better-shops/settings/index.js"() { settings_default11 = () => __async(void 0, null, function* () { return [ { id: "better-shops.hide-max-owned", title: "Hide items with maximum quantity owned", default: false }, { id: "better-shop.qty-buttons", title: "Show quantity & max buttons", default: true } ]; }); } }); // src/modules/better-shops/qty-buttons.js var qty_buttons_default; var init_qty_buttons = __esm({ "src/modules/better-shops/qty-buttons.js"() { init_utils2(); qty_buttons_default = (block, input, maxQty) => __async(void 0, null, function* () { const existingButtons = block.querySelector(".mh-improved-shop-buy-controls"); if (existingButtons) { return; } maxQty = `${maxQty}`.replaceAll(",", ""); const buyControls = makeElement("div", ["mh-improved-shop-buy-controls"]); makeMathButtons([1, 10, 50, 100, 1e3], { appendTo: buyControls, input, maxQty, classNames: ["mh-improved-shop-qty", "tiny", "gray"] }); const buyMaxButton = makeElement("a", ["mousehuntActionButton", "lightBlue", "tiny", "mh-improved-shop-buy-max"]); const buyMaxButtonText = makeElement("span", "", "Max"); buyMaxButton.append(buyMaxButtonText); let hasMaxed = false; buyMaxButton.addEventListener("click", () => { if (hasMaxed) { input.value = 0; buyMaxButtonText.innerText = "Max"; } else { input.value = maxQty; buyMaxButtonText.innerText = "Reset"; } hasMaxed = !hasMaxed; }); buyControls.append(buyMaxButton); const form = block.querySelector(".itemPurchaseView-action-form"); if (form) { form.append(buyControls); } else { block.append(buyControls); } }); } }); // src/modules/better-shops/qty-buttons.css var qty_buttons_default2; var init_qty_buttons2 = __esm({ "src/modules/better-shops/qty-buttons.css"() { qty_buttons_default2 = ".mh-improved-shop-buy-controls{position:absolute;top:25px;right:0;left:0;display:flex;flex:1 1 100%;flex-flow:row wrap;gap:5px;align-items:center;justify-content:flex-start;margin-top:7px;margin-left:10px}.itemPurchaseView-action-form.clear-block{position:relative;margin-bottom:40px}.mousehuntActionButton.mh-improved-shop-qty{font-family:monospace;font-size:11px}.mh-improved-shop-buy-max{min-width:25px}.mh-improved-shop-qty,.mh-improved-shop-buy-max{user-select:none}.mousehuntActionButton.mh-improved-shop-buy-max{max-width:25px}\n"; } }); // src/modules/better-shops/max-owned-hide.css var max_owned_hide_default; var init_max_owned_hide = __esm({ "src/modules/better-shops/max-owned-hide.css"() { max_owned_hide_default = ".mousehuntHud-page-subTabContent.hasShop.active .itemPurchaseView-container.own_max{display:none!important}\n"; } }); // src/modules/better-shops/styles/cost.css var cost_default; var init_cost = __esm({ "src/modules/better-shops/styles/cost.css"() { cost_default = ".itemPurchaseView-action-itemCost-table-row{display:grid;grid-template-columns:1fr 15fr 1fr;place-items:center stretch;width:97%;padding:2px 5px 2px 2px;margin:0}.itemPurchaseView-action-goldGost{padding:5px 5px 5px 20px;font-size:1.3em;font-weight:400;text-align:left;background:#f9f9f9;border:1px solid #ccc;border-right:none;border-left:none}.mh-dark-mode .itemPurchaseView-content-container{border-color:#242424}.itemPurchaseView-image-container,.itemPurchaseView-content-container{background-color:#fff}.itemPurchaseView-action-quantity{flex-grow:1;width:auto;margin:0 5px 0 10px}.itemPurchaseView-action-quantity input{width:100%;padding:3px;margin:0}a.itemPurchaseView-action-form-button.buy,a.itemPurchaseView-action-form-button.sell{width:auto;height:21px;margin-top:0;font-weight:400;line-height:21px}a.itemPurchaseView-action-form-button.buy{height:21px;margin-left:7px;background:#f4e830}a.itemPurchaseView-action-form-button.sell{margin-left:7px;background:#b3edff}.itemPurchaseView-container.cannot_sell .itemPurchaseView-action-form-button.sell,.itemPurchaseView-container.cannot_buy .itemPurchaseView-action-form-button.buy{filter:grayscale(1) opacity(.75)}.itemPurchaseView-action-purchaseHelper{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0}.itemPurchaseView-container.no_gold_cost .itemPurchaseView-action-goldGost{display:block}.itemPurchaseView-content-name{display:flex;align-items:center;justify-content:space-between;margin-top:6px;margin-bottom:4px}.itemPurchaseView-action-purchaseHelper-owned{padding:4px;margin-right:10px;font-size:11px;white-space:nowrap;background-color:#eee;border:1px solid #ccc;border-radius:5px}.itemPurchaseView-action-purchaseHelper-error{height:auto}.itemPurchaseView-action-purchaseHelper-maxPurchasesLimitReached{margin-bottom:5px;font-size:11px}\n"; } }); // src/modules/better-shops/styles/general.css var general_default3; var init_general3 = __esm({ "src/modules/better-shops/styles/general.css"() { general_default3 = '.shopsPage-header-container,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-content-accordion,.itemPurchaseView-action-itemCost.required .itemPurchaseView-action-itemCost-table-cell.owned,.itemPurchaseView-container.flaming_spice_crafting_item.kingsCartItem,.itemPurchaseView-container.dragonshard_sparkling_nest_convertible.kingsCartItem,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-itemCost-description,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-itemCost-title{display:none!important}.itemPurchaseView-action-form.clear-block,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-form{display:flex;justify-content:center;margin:1em 0}.itemPurchaseView-container.own_max:hover,.itemPurchaseView-container.own_max:focus{opacity:1}.itemPurchaseView-container.own_max .itemPurchaseView-content-container .itemPurchaseView-content-description{overflow-y:auto}.itemPurchaseView-action-quantity span,.itemPurchaseView-action-purchaseHelper-maxPurchases-container,.itemPurchaseView-content-accordion,.itemPurchaseView-action-kingsCreditCostContainer,.itemPurchaseView-container.own_max .itemPurchaseView-action-purchaseHelper-maxPurchasesLimitReached,.shopCustomization .itemPurchaseView-container.own_max .itemPurchaseView-content-container .itemViewStatBlock,.shopCustomization .itemPurchaseView-container.own_max .itemViewStatBlock-stat.title,.shopCustomization .itemPurchaseView-container.own_max .itemViewStatBlock-stat.powerType,.itemPurchaseView-content-skin b,a.itemPurchaseView-image-trapPreview-link,.itemPurchaseView-action-itemCost-title,.itemPurchaseView-action-itemCost-description{display:none}.itemPurchaseView-content-skin{margin-top:-10px;margin-bottom:5px}.itemPurchaseView-content-description{padding-right:5px;padding-bottom:10px;margin-top:0;margin-bottom:0;overflow-y:auto;color:#626262}.itemPurchaseView-action-itemCost-table{width:250px;padding:0;margin-right:-10px;margin-left:-10px;background:#f9f9f9;border-right:none;border-left:none}.itemPurchaseView-action-itemCost-table-cell.cost{padding-left:11px;background-position:0 0;background-size:10px}.itemPurchaseView-action-itemCost-table-row.error{background-color:#ffadad8c}.mh-dark-mode .itemPurchaseView-action-itemCost-table-row.error{background-color:#802d2d8c}.mh-dark-mode .itemPurchaseView-action-itemCost-table-row.error .itemPurchaseView-action-itemCost-table-cell.cost{color:#f66060}.itemPurchaseView-container.own_max .itemPurchaseView-action-container{display:none}.itemPurchaseView-container{width:calc(100% - 1px)}.itemPurchaseView-action-container{padding:8px 0 0;border-right:1px solid #ccc}#overlayPopup .marketplaceView input.button:first-child{position:absolute;top:-3px!important;right:-10px!important;display:block;width:28px;height:27px;padding:0;overflow:hidden;text-align:center;text-indent:34px;background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/jsDialogCloseButton.png);background-repeat:no-repeat;border:none;border-bottom:0;border-left:0;box-shadow:none}#overlayPopup .marketplaceView input.button:first-child:hover,#overlayPopup .marketplaceView input.button:first-child:focus{background-color:transparent;background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/jsDialogCloseButton.png);background-repeat:no-repeat;background-position:0 -27px;border-bottom:none;border-left:none}a.itemPurchaseView-content-skin-link{display:flex;align-items:center;min-height:25px;padding-left:30px;line-height:unset;background-size:25px}#overlayPopup.marketplaceViewPopup .suffix{display:none}.shopCustomization .PageShops .itemViewStatBlock-padding{display:flex;align-items:center}.shopCustomization .PageShops .itemViewStatBlock,.shopCustomization .PageShops .itemViewStatBlock-stat{margin-top:10px;border:none}.shopCustomization .PageShops .itemViewStatBlock-stat{padding:2px 4px 2px 2px;margin-top:3px;margin-right:5px;border:1px solid #ccc;border-radius:5px}.shopCustomization .PageShops .itemViewStatBlock-stat-helper{right:unset;left:unset;white-space:nowrap}.shopCustomization .PageShops .itemViewStatBlock-stat-label{margin-right:0;background:none}.shopCustomization .PageShops .itemViewStatBlock-stat-value{max-width:unset;background:none;border-radius:0}.shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock-stat.cheeseEffect{width:auto;border-bottom:1px solid #ccc}.shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock-stat.cheeseEffect .itemViewStatBlock-stat-value{width:auto;max-width:150px}.item_set,.mh-dark-mode .item_set{background-color:#eeab2a45;border:none}.itemPurchaseView-container.kingsCartItem{cursor:initial}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container{display:table-cell;width:250px;min-height:unset;color:#000;background:#eee;box-shadow:none}.mh-dark-mode .itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container{color:#fff;background-color:#242424}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-state.view{padding-top:unset}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-itemCost.consumed,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-goldGost,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-marketplace,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-confirm-refund-container{display:block!important}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-goldGost{opacity:.4}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-quantity{display:block;width:auto}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-quantity input{width:100%;margin-top:0}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-content-details:after{display:none}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-confirm-button-row a,.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-complete-title{color:#3b5998}span.itemPurchaseView-action-confirm-refund.noRefund{position:relative;display:block;color:transparent}span.itemPurchaseView-action-confirm-refund.noRefund:after{position:absolute;top:10px;right:0;left:0;height:10px;color:#000;content:"Cannot be refunded."}.itemPurchaseView-container.has_refund_value .itemPurchaseView-action-confirm-refund.hasRefund{margin-top:20px}.itemPurchaseView-action-confirm-title{margin-bottom:10px;font-style:normal;font-weight:400}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-complete-title,.itemPurchaseView-container .itemPurchaseView-action-complete-title,.itemPurchaseView-action-complete-title,.itemPurchaseView-action-armed-title{margin:10px;font-weight:400;color:#000}.itemPurchaseView-container .itemPurchaseView-action-state.complete a.itemPurchaseView-action-complete-return{position:relative;display:block;float:none;margin:0;color:transparent}.itemPurchaseView-container .itemPurchaseView-action-state.complete a.itemPurchaseView-action-complete-return:after{position:absolute;top:10px;right:78px;left:78px;padding:10px 15px;line-height:10px;color:#000;text-shadow:0 0 1px #fff;content:"Continue";background-color:#fff600;border:1px solid #000;border-radius:5px;box-shadow:inset 0 0 5px #fff,1px 1px 1px #fff}.itemPurchaseView-container.marketplace_buy_regal_stool_collectible.kingsCartItem.cannot_sell.own_max,.itemPurchaseView-container.marketplace_sell_regal_display_case_collectible.kingsCartItem.cannot_sell.own_max,.itemPurchaseView-container.kings_calibrator_message_item.kingsCartItem.cannot_sell.own_max{display:none!important}.itemPurchaseView-action-itemCost-table-row.error .itemPurchaseView-action-itemCost-table-cell.cost{color:#a21010}.mh-dark-mode .itemPurchaseView-action-goldGost{background-color:#0e0e0e;border-color:#242424}.itemPurchaseView-content-details{display:flex;flex-direction:column;align-items:stretch;padding-bottom:10px}.itemPurchaseView-content-container .itemViewStatBlock.horizontal.base,.itemPurchaseView-content-container .itemViewStatBlock.horizontal.weapon{width:auto;margin-bottom:10px;margin-left:0}.shopCustomization .PageShops .itemPurchaseView-container .title .itemViewStatBlock-stat-value span a{max-width:60px;font-size:10px;text-overflow:ellipsis}.itemPurchaseView-image-container .itemViewStatBlock-stat.title.error{background-color:#ffc9c9}.itemPurchaseView-image-container .itemViewStatBlock-stat-icon{width:20px;height:17px}.itemViewStatBlock-stat.powerType .itemViewStatBlock-stat-icon{width:26px;height:24px}.itemViewStatBlock-stat.title .itemPurchaseView-image-container .itemViewStatBlock-stat-icon{background-size:100%}.itemViewStatBlock-stat.error .itemViewStatBlock-stat-value{background-color:unset}a.shopsPage-kingsCalibratorPromo{display:flex;align-items:center;justify-content:center;padding:0;font-size:12px}.shopsPage-kingsCalibratorPromo-button{top:unset}.shopsPage-kingsCalibratorPromo br{display:none}.shopsPage-compareEquipment-stats{width:auto}.shopsPage-compareEquipment-stats .itemViewStatBlock.horizontal.weapon{float:none;width:auto;margin-left:0}.shopsPage-compareEquipment-stats .itemPurchaseView-content-name{display:flex;gap:5px;justify-content:flex-start}.shopsPage-compareEquipment{background-color:#dbe9ff}.itemPurchaseView-container.own_max{display:block!important;height:25px;overflow:hidden;opacity:.3;transition:.4s}.hasShop .itemPurchaseView-container.donation .itemPurchaseView-content-container,.itemPurchaseView-container.own_max .itemPurchaseView-content-container{width:calc(100% - 10px)}.mh-dark-mode .itemPurchaseView-container.own_max{background-color:#000}.itemPurchaseView-container.own_max:hover{display:table!important;height:unset;overflow-y:visible}.itemPurchaseView-container.own_max:hover .itemPurchaseView-action-container{display:table-cell}.mh-dark-mode .itemPurchaseView-container.own_max .itemPurchaseView-content-container{border-color:transparent}.itemPurchaseView-container.own_max .itemPurchaseView-content-name b:after{font-size:10px;content:" (maximum owned)"}.mh-dark-mode .shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat.cheeseEffect,.mh-dark-mode .shopCustomization .itemPurchaseView-container .itemViewStatBlock-stat{background-color:#3d3d3d;border-color:#606060}.shopCustomization .shopCustomization .itemViewStatBlock-stat.powerType{position:absolute;color:#000;background-color:#e6e6e6}.shopCustomization .itemViewStatBlock-stat.powerType .itemViewStatBlock-stat-value{display:none}.mh-dark-mode .itemPurchaseView-container .itemViewStatBlock-stat.title,.mh-dark-mode .itemPurchaseView-container .itemViewStatBlock-stat.powerType{background-color:#3d3d3d;border-color:#606060}.mh-dark-mode .itemPurchaseView-container .itemPurchaseView-image-container .itemViewStatBlock-stat.powerType{background-color:transparent;border:none}.itemPurchaseView-container.new .itemPurchaseView-margin:after{top:5px}.itemPurchaseView-action-marketplace b,.itemPurchaseView-action-marketplace br{display:none}.itemPurchaseView-action-marketplace a:last-of-type:after{content:" in the Marketplace"}.itemPurchaseView-action-marketplace{padding:5px 0}a.itemPurchaseView-action-buySuperBrie{display:inline-block;margin:0 auto}.super_brie_cheese .itemPurchaseView-action-purchaseHelper{display:block}.donation .itemPurchaseView-action-itemCost-table-row{display:flex;justify-content:center;font-size:15px}.itemPurchaseView-container.donation .itemPurchaseView-action-container,.itemPurchaseView-container.donation .itemPurchaseView-action-itemCost-table{border-top-color:#ffc62b;border-bottom-color:#c7991c}.mh-dark-mode .itemPurchaseView-container.donation .itemPurchaseView-action-container{background-color:#e6b963}.mh-dark-mode .itemPurchaseView-container.donation .itemPurchaseView-action-itemCost-table{background-color:#f4eeca}.itemPurchaseView-container:hover .itemPurchaseView-margin,.itemPurchaseView-container:hover .itemPurchaseView-image-container,.itemPurchaseView-container:hover .itemPurchaseView-content-container{background-color:#f9f9f9}.mh-dark-mode .itemPurchaseView-container:hover .itemPurchaseView-margin,.mh-dark-mode .itemPurchaseView-container:hover .itemPurchaseView-image-container,.mh-dark-mode .itemPurchaseView-container:hover .itemPurchaseView-content-container{background-color:#242424}.itemPurchaseView-container.trinket .itemViewStatBlock{margin-top:0;margin-bottom:10px}.itemViewStatBlock-stat-helper{padding:10px;font-size:10px;color:#fff;text-align:center;background:#000;border:none;border-radius:10px}.itemViewStatBlock-stat-helper-arrow:after{border-top:10px solid #000}.itemPurchaseView-container .itemPurchaseView-action-form{min-height:50px}.itemPurchaseView-action-confirm-button:focus,.itemPurchaseView-action-confirm-button:hover{filter:hue-rotate(50deg)}.shopsPageTrapPreview .trapImageView-layerWrapper{top:10px}.shopsPageTrapPreview .trapImageView{height:370px}.itemViewPopup .itemViewStatBlock-stat.title{order:1}.itemViewPopup .itemViewStatBlock-stat.powerType{order:2}.itemViewPopup .itemViewStatBlock-stat.points{order:3}.itemViewPopup .itemViewStatBlock-stat.power,.itemViewPopup .itemViewStatBlock-stat.luck,.itemViewPopup .itemViewStatBlock-stat.powerBonus,.itemViewPopup .itemViewStatBlock-stat.attraction{order:4}.itemViewPopup .itemViewStatBlock-stat.cheeseEffect{order:5}.itemViewPopup .itemView-thumbnailContainer a{display:flex;justify-content:center;padding-top:5px}.itemViewPopup .itemViewStatBlock-stat:last-child .itemViewStatBlock-stat-label{border-radius:0 0 0 5px}.itemViewPopup .itemViewStatBlock-stat.powerType .itemViewStatBlock-stat-icon:after{position:absolute;top:0;bottom:0;left:26px;display:flex;align-items:center;justify-content:center;width:115px;font-weight:900;content:""}.itemViewPopup .itemViewStatBlock-stat.powerType .itemViewStatBlock-stat-label{position:relative;width:26px}.itemViewPopup .itemViewStatBlock-stat-value{display:flex;align-items:center;justify-content:center}.itemPurchaseView-container.kingsCartItem .itemPurchaseView-content-details{height:auto}.itemPurchaseView-container[data-max-inventory-quantity="1"]:after{position:absolute;top:17px;right:5px;z-index:1;color:#3b3b3b;content:"(Limit " attr(data-max-inventory-quantity) ")"}\n'; } }); // src/modules/better-shops/styles/order.css var order_default; var init_order = __esm({ "src/modules/better-shops/styles/order.css"() { order_default = ".itemViewStatBlock.trinket{order:3}.itemPurchaseView-content-container{display:flex;flex-direction:column}.itemPurchaseView-content-name{order:1}.itemPurchaseView-content-details{display:flex;order:4}.itemPurchaseView-content-description{order:2}\n"; } }); // src/modules/better-shops/styles/retired.css var retired_default; var init_retired = __esm({ "src/modules/better-shops/styles/retired.css"() { retired_default = ".kings_cart .hasShop .cannot_buy.super_dragonbane_trinket,.kings_cart .hasShop .cannot_buy.extrme_dragonbane_trinket,.kings_cart .hasShop .cannot_buy.wild_tonic_remote_pumping_trinket,.kings_cart .hasShop .cannot_buy.hot_spice_crafting_item,.kings_cart .hasShop .cannot_buy.flaming_spice_crafting_item,.kings_cart .hasShop .cannot_buy.dragonshard_sparkling_nest_convertible,.itemPurchaseView-container.eggstra_trinket.cannot_buy.no_gold_cost,.itemPurchaseView-container.eggstra_charge_trinket.cannot_buy.no_gold_cost{display:none!important}\n"; } }); // src/modules/better-shops/styles/riftstalker.css var riftstalker_default; var init_riftstalker = __esm({ "src/modules/better-shops/styles/riftstalker.css"() { riftstalker_default = 'ul.set_bonus_effects{display:inline-block;flex-wrap:nowrap}.item_set .set_bonus_effects li{display:inline;margin:0}.item_set .set_bonus_level{width:40%}.item_set{display:flex;flex-flow:row wrap;align-items:center}.item_set .set_bonus_effects li:after{content:", "}.item_set .set_bonus_effects li:last-of-type:after{content:""}.item_set>b{display:none}.item_set .set_name>img{right:30px;display:none}.item_set .set_name{margin:0;font-size:11px}.item_set .set_name:after{margin-right:5px;margin-left:10px;font-weight:400;content:" Requires: "}\n'; } }); // src/modules/better-shops/styles/stats.css var stats_default; var init_stats = __esm({ "src/modules/better-shops/styles/stats.css"() { stats_default = ".shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-padding{display:flex;flex-flow:row wrap;row-gap:5px;align-items:center;justify-content:flex-start}.shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock.horizontal .itemViewStatBlock-stat.title,.shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock.horizontal .itemViewStatBlock-stat.cheeseEffect{width:70px}.shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock-stat.title,.itemPurchaseView-container .itemViewStatBlock-stat.powerType{display:flex;align-items:center;justify-content:space-evenly;width:auto;line-height:14px;border:1px solid #ccc}.mh-dark-mode .shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock-stat.title,.mh-dark-mode .itemPurchaseView-container .itemViewStatBlock-stat.powerType{border-color:#606060}.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat-label{display:inline-block;padding:0}.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat-value{display:inline-flex;align-items:center;justify-content:center;margin-right:3px}.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat{display:flex;align-items:center;justify-content:space-around;min-width:55px;padding:2px;margin:0 5px 0 0;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px}.mh-dark-mode.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat{background-color:#333;border-color:#606060}.mh-dark-mode.shopCustomization .PageShops .pageFrameView .itemViewStatBlock .itemViewStatBlock-stat-value{background-color:transparent}.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat-value span{display:inline-block;padding:0}.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat.cheeseEffect .itemViewStatBlock-stat-value{font-size:9px}\n"; } }); // src/modules/better-shops/index.js var imported3, styles3, updateInputField, main9, init12, better_shops_default; var init_better_shops = __esm({ "src/modules/better-shops/index.js"() { init_utils2(); init_settings12(); init_qty_buttons(); init_qty_buttons2(); init_max_owned_hide(); init_cost(); init_general3(); init_order(); init_retired(); init_riftstalker(); init_stats(); imported3 = [cost_default, general_default3, order_default, retired_default, riftstalker_default, stats_default]; styles3 = imported3; updateInputField = () => __async(void 0, null, function* () { const purchaseBlocks = document.querySelectorAll(".itemPurchaseView-action-state.view"); if (!purchaseBlocks) { return; } purchaseBlocks.forEach((block) => { const qty = block.querySelector(".itemPurchaseView-action-maxPurchases"); if (!qty) { return; } let maxQty = qty.innerText; if (maxQty.includes("Inventory max")) { maxQty = 0; } const input = block.querySelector("input"); if (!input) { return; } input.setAttribute("placeholder", maxQty); const buyButton = block.querySelector(".itemPurchaseView-action-form-button.buy"); if (buyButton) { input.addEventListener("focus", () => { const enterEvt = input.addEventListener("keydown", (e) => { if ("Enter" === e.key) { buyButton.click(); setTimeout(() => { const confirmButton = document.querySelector(".itemPurchaseView-container.confirmPurchase .itemPurchaseView-action-confirm-button"); if (confirmButton) { confirmButton.focus(); } }, 200); } }); input.addEventListener("blur", () => { input.removeEventListener("keydown", enterEvt); }); }); } if (getSetting("better-shops.show-qty-buttons", true)) { qty_buttons_default(block, input, maxQty); } }); }); main9 = () => { const body = document.querySelector("body"); if (!body) { return; } if ("item" === getCurrentPage()) { body.classList.remove("shopCustomization"); return; } body.classList.add("shopCustomization"); const golds = document.querySelectorAll(".itemPurchaseView-action-goldGost"); if (golds) { golds.forEach((gold) => { gold.innerText = gold.innerText.replace("Cost:", ""); }); } const buyBtns = document.querySelectorAll(".itemPurchaseView-action-form-button.buy"); if (buyBtns) { buyBtns.forEach((btn) => { btn.classList.add("mousehuntActionButton"); btn.innerHTML = "<span>Buy</span>"; }); } const sellBtns = document.querySelectorAll(".itemPurchaseView-action-form-button.sell"); if (sellBtns) { sellBtns.forEach((btn) => { btn.classList.add("mousehuntActionButton"); btn.classList.add("lightBlue"); btn.innerHTML = "<span>Sell</span>"; }); } updateInputField(); const owned = document.querySelectorAll(".itemPurchaseView-action-purchaseHelper-owned"); if (owned) { owned.forEach((ownedItem) => { if (ownedItem.getAttribute("moved-to-title")) { return; } const container = ownedItem.parentNode.parentNode.parentNode.parentNode.parentNode; const nameEl = container.querySelector(".itemPurchaseView-content-name"); ownedItem.setAttribute("moved-to-title", "true"); nameEl.append(ownedItem); }); } const kingsCart = document.querySelectorAll(".itemPurchaseView-container.kingsCartItem"); if (kingsCart) { kingsCart.forEach((cart) => { cart.querySelector("input").value = ""; }); } const shopQty = document.querySelectorAll(".itemPurchaseView-action-quantity input"); if (!shopQty) { return; } shopQty.forEach((qty) => { qty.setAttribute("maxlength", "100"); }); const itemStats = document.querySelectorAll(".itemViewStatBlock"); if (itemStats) { itemStats.forEach((stat) => { if (stat.classList.contains("horizontal")) { return; } const contentSection = stat.parentNode.parentNode.querySelector(".itemPurchaseView-content-container"); if (contentSection) { contentSection.append(stat); } }); } const itemStatsTitle = document.querySelectorAll(".itemViewStatBlock.horizontal .itemViewStatBlock-stat"); if (itemStatsTitle) { itemStatsTitle.forEach((title) => { if (title.classList.contains("title") || title.classList.contains("powerType")) { const imageContainer = title.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector(".itemPurchaseView-image-container"); if (imageContainer) { imageContainer.append(title); } } }); } }; init12 = () => __async(void 0, null, function* () { const stylesToAdd = [...styles3]; if (getSetting("better-shops.hide-max-owned", false)) { stylesToAdd.push(max_owned_hide_default); } if (getSetting("better-shops.show-qty-buttons", true)) { stylesToAdd.push(qty_buttons_default2); } addStyles(stylesToAdd, "better-shops"); onNavigation(main9, { page: "shops" }); onRequest("purchases/itempurchase.php", updateInputField); }); better_shops_default = { id: "better-shops", name: "Better Shops", type: "better", default: true, description: "Updates the Shop layout and appearance, minimizes owned items that have an inventory limit of 1, and more.", load: init12, settings: settings_default11 }; } }); // src/modules/better-travel/travel-utils.js var getTravelSetting, saveTravelSetting; var init_travel_utils = __esm({ "src/modules/better-travel/travel-utils.js"() { init_utils2(); getTravelSetting = (settingName, defaultValue) => { return getSetting(`better-travel.${settingName}`, defaultValue); }; saveTravelSetting = (settingName, value) => { saveSetting(`better-travel.${settingName}`, value); }; } }); // src/modules/better-travel/reminders.js var addReminders, reminders_default; var init_reminders = __esm({ "src/modules/better-travel/reminders.js"() { init_utils2(); addReminders = () => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E; const reminderOpts = { title: "Travel Reminder", dismiss: 4e3 }; switch (getCurrentLocation()) { case "rift_valour": if ((_b = (_a = user.quests) == null ? void 0 : _a.QuestRiftValour) == null ? void 0 : _b.is_fuel_enabled) { reminderOpts.text = "Champion's Fire is active."; reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/transparent_thumb/6622efd1db7028b30f48b15771138720.png"; reminderOpts.button = "Deactivate"; reminderOpts.action = () => { const button = document.querySelector(".valourRiftHUD-fuelContainer-armButton"); if (button) { button.click(); } }; } break; case "queso_river": case "queso_plains": case "queso_quarry": case "queso_geyser": if (((_d = (_c = user.quests) == null ? void 0 : _c.QuestQuesoCanyon) == null ? void 0 : _d.is_wild_tonic_active) || ((_f = (_e = user.quests) == null ? void 0 : _e.QuestQuesoGeyser) == null ? void 0 : _f.is_wild_tonic_enabled)) { reminderOpts.text = "Wild Tonic is active."; reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/transparent_thumb/b6b9f97a1ee3692fdff0b5a206adf7e1.png"; reminderOpts.button = "Deactivate"; reminderOpts.action = () => { const button = document.querySelector(".quesoHUD-wildTonic-button"); if (button) { button.click(); } }; } break; case "floating_islands": if ("launch_pad_island" === ((_i = (_h = (_g = user.quests) == null ? void 0 : _g.QuestFloatingIslands) == null ? void 0 : _h.hunting_site_atts) == null ? void 0 : _i.island_power_type)) { break; } if (!((_l = (_k = (_j = user.quests) == null ? void 0 : _j.QuestFloatingIslands) == null ? void 0 : _k.hunting_site_atts) == null ? void 0 : _l.is_fuel_enabled) && // BW not active. !(((_o = (_n = (_m = user.quests) == null ? void 0 : _m.QuestFloatingIslands) == null ? void 0 : _n.hunting_site_atts) == null ? void 0 : _o.is_vault_island) && // is SP. ((_s = (_r = (_q = (_p = user.quests) == null ? void 0 : _p.QuestFloatingIslands) == null ? void 0 : _q.hunting_site_atts) == null ? void 0 : _r.island_mod_panels[2]) == null ? void 0 : _s.is_complete))) { reminderOpts.text = "Bottled Wind is <strong>not</strong> active."; reminderOpts.image = "https://www.mousehuntgame.com/images/ui/hud/floating_islands/items/bottled_wind_stat_item.png"; reminderOpts.button = "Activate"; reminderOpts.action = () => { const button = document.querySelector(".floatingIslandsHUD-fuel-button"); if (button) { button.click(); } }; } break; case "foreword_farm": case "prologue_pond": case "table_of_contents": if (((_u = (_t = user.quests) == null ? void 0 : _t.QuestProloguePond) == null ? void 0 : _u.is_fuel_enabled) || ((_w = (_v = user.quests) == null ? void 0 : _v.QuestForewordFarm) == null ? void 0 : _w.is_fuel_enabled) || ((_y = (_x = user.quests) == null ? void 0 : _x.QuestTableOfContents) == null ? void 0 : _y.is_fuel_enabled)) { reminderOpts.text = "Condensed Creativity is active."; reminderOpts.button = "Deactivate"; } else { reminderOpts.text = "Condensed Creativity is <strong>not</strong> active."; reminderOpts.button = "Activate"; } reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/transparent_thumb/4f5d55c1eff77474c7363f0e52d03e49.png"; reminderOpts.action = hg.views.HeadsUpDisplayFolkloreForestRegionView.toggleFuel; break; case "winter_hunt_grove": case "winter_hunt_workshop": case "winter_hunt_fortress": if (((_A = (_z = user.quests) == null ? void 0 : _z.QuestCinnamonTreeGrove) == null ? void 0 : _A.is_fuel_enabled) || ((_C = (_B = user.quests) == null ? void 0 : _B.QuestGolemWorkshop) == null ? void 0 : _C.is_fuel_enabled) || ((_E = (_D = user.quests) == null ? void 0 : _D.QuestIceFortress) == null ? void 0 : _E.is_fuel_enabled)) { reminderOpts.text = "Festive Spirit is active."; reminderOpts.button = "Deactivate"; } else if ("winter_hunt_forest" === getCurrentLocation()) { reminderOpts.text = "Festive Spirit is <strong>not</strong> active."; reminderOpts.button = "Activate"; } reminderOpts.image = "https://www.mousehuntgame.com/images/items/stats/large/cda292833fce3b65b7a6a38c000e8620.png"; reminderOpts.action = () => { const toggle = document.querySelector(".headsUpDisplayWinterHuntRegionView__fuelButton"); if (toggle) { toggle.click(); } }; } if (reminderOpts.text) { showHornMessage(reminderOpts); } }; reminders_default = addReminders; } }); // src/modules/better-travel/travel-menu.css var travel_menu_default; var init_travel_menu = __esm({ "src/modules/better-travel/travel-menu.css"() { travel_menu_default = ".mh-improved-travel-window .greatWinterHuntGolemDestinationView__content{flex-direction:column;align-items:center;background-color:transparent}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentsScroller{height:auto;min-height:425px;max-height:650px;padding:0 0 10px 5px;margin-right:-5px}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionEnvironments{gap:15px 6px;justify-content:space-evenly}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionsContainer{display:none}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionName{margin:10px 0;font-size:16px;text-align:center;border:none}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment{width:150px;overflow:hidden;border:1px solid #b4a481;box-shadow:0 2px 2px #7e7e7e}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__regionGroup{margin:0}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentName{position:absolute;right:0;left:0;z-index:2;height:20px;background-color:#ffffffe5;border-radius:0;transition:all .2s ease-in-out}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentName span{padding:5px;text-align:center}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentImage{border-radius:0;transition:all .2s ease-in-out}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:hover .greatWinterHuntGolemDestinationView__environmentImage,.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:focus .greatWinterHuntGolemDestinationView__environmentImage{background-position-y:30%}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:hover .greatWinterHuntGolemDestinationView__environmentName,.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:focus .greatWinterHuntGolemDestinationView__environmentName{background-color:#fff}.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment[data-environment-type=train_station] .greatWinterHuntGolemDestinationView__environmentName span{font-size:10px}.mh-improved-travel-window-footer{position:absolute;bottom:20px;display:flex;gap:10px;align-items:center;width:330px}.mh-improved-travel-window-edit{padding:0 15px;font-weight:400;line-height:24px}.mh-improved-travel-window--editing{border-radius:5px;outline:3px solid #f37c7c}.mh-improved-travel-window-description,.mh-improved-travel-window-hidden{display:none}.mh-improved-travel-window--editing .mh-improved-travel-window-hidden{display:block;filter:grayscale(1);opacity:.4}.mh-improved-travel-window--editing .mh-improved-travel-window-description{display:inline-block}.mh-improved-travel-window-environment-icon{cursor:pointer}.mh-improved-travel-window-search-input-wrapper{margin-bottom:15px}.mh-improved-travel-window-search-input{width:auto;min-width:350px;padding:10px;font-size:14px;border:1px solid #333}.greatWinterHuntGolemDestinationView__environment.greatWinterHuntGolemDestinationView__environment--active{opacity:.4}\n"; } }); // src/modules/better-travel/travel-window.js var getHiddenLocations, toggleLocation, hideLocation, unhideLocation, isLocationHidden, openTravelWindow, isEditing, environments2, makeMenuItem2, addEnvironmentIconListener, travel_window_default; var init_travel_window = __esm({ "src/modules/better-travel/travel-window.js"() { init_utils2(); init_travel_utils(); init_travel_menu(); getHiddenLocations = () => { return getTravelSetting("travel-window-hidden-locations", []); }; toggleLocation = (location) => { if (isLocationHidden(location)) { unhideLocation(location); } else { hideLocation(location); } }; hideLocation = (location) => { const hiddenLocations = getHiddenLocations(); if (hiddenLocations.includes(location)) { return; } hiddenLocations.push(location); saveTravelSetting("travel-window-hidden-locations", hiddenLocations); }; unhideLocation = (location) => { const hiddenLocations = getHiddenLocations(); if (!hiddenLocations.includes(location)) { return; } hiddenLocations.splice(hiddenLocations.indexOf(location), 1); saveTravelSetting("travel-window-hidden-locations", hiddenLocations); }; isLocationHidden = (location) => { const hiddenLocations = getHiddenLocations(); return hiddenLocations.includes(location); }; openTravelWindow = () => __async(void 0, null, function* () { debug("Opening travel window"); const regions2 = [ { type: "gnawnia", name: "Gnawnia" }, { type: "valour", name: "Valour" }, { type: "whisker_woods", name: "Whisker Woods" }, { type: "burroughs", name: "Burroughs" }, { type: "furoma", name: "Furoma" }, { type: "bristle_woods", name: "Bristle Woods" }, { type: "tribal_isles", name: "Tribal Isles" }, { type: "varmint_valley", name: "Varmint Valley" }, { type: "desert", name: "Sandtail Desert" }, { type: "rodentia", name: "Rodentia" }, { type: "queso_canyon", name: "Queso Canyon" }, { type: "zokor_zone", name: "Hollow Heights" }, { type: "folklore_forest", name: "Folklore Forest" }, { type: "riftopia", name: "Rift Plane" } ]; environments2 = yield getData("environments"); const eventEnvironments2 = yield getData("environments-events"); environments2 = [...environments2, ...eventEnvironments2]; const currentEnvironment = environments2.find((e) => e.id === getCurrentLocation()); const locationsToRemove = ["forbidden_grove"]; environments2 = environments2.map((env) => { if (!isUserTitleAtLeast(env.title)) { locationsToRemove.push(env.id); } return env; }); environments2 = environments2.filter((env) => !locationsToRemove.includes(env.id)); let content = '<div class="mh-improved-travel-window greatWinterHuntGolemDestinationView"><div class="greatWinterHuntGolemDestinationView__content">'; content += '<div class="mh-improved-travel-window-search-input-wrapper"><input type="text" class="mh-improved-travel-window-search-input" placeholder="Search locations"></div>'; content += '<div class="greatWinterHuntGolemDestinationView__regionsContainer">'; for (const region of regions2) { let buttonClass = "greatWinterHuntGolemDestinationView__regionButton"; if ((currentEnvironment == null ? void 0 : currentEnvironment.region) === (region == null ? void 0 : region.type)) { buttonClass += " greatWinterHuntGolemDestinationView__regionButton--active"; } content += `<button class="${buttonClass}" data-region-type="${region.type}">${region.name}</button>`; } content += "</div>"; const hasTitles = false; content += '<div class="greatWinterHuntGolemDestinationView__environmentsContainer"><div class="greatWinterHuntGolemDestinationView__environmentsScroller"><div class="greatWinterHuntGolemDestinationView__regionList">'; if (!hasTitles) { content += `<div class="greatWinterHuntGolemDestinationView__regionGroup" data-region-type="all"> <div class="greatWinterHuntGolemDestinationView__regionEnvironments">`; } for (const region of regions2) { if (hasTitles) { content += `<div class="greatWinterHuntGolemDestinationView__regionGroup" data-region-type="${region.type}"> <div class="greatWinterHuntGolemDestinationView__regionName">${region.name}</div> <div class="greatWinterHuntGolemDestinationView__regionEnvironments">`; } const regionEnvironments = environments2.filter((e) => e.region === region.type); regionEnvironments.forEach((environment) => { let envButtonClass = "greatWinterHuntGolemDestinationView__environment"; if (currentEnvironment.id === environment.id) { envButtonClass += " greatWinterHuntGolemDestinationView__environment--active"; } if (isLocationHidden(environment.id)) { envButtonClass += " mh-improved-travel-window-hidden"; } if (environment.type === getCurrentLocation()) { envButtonClass += " greatWinterHuntGolemDestinationView__environment--current"; } content += `<button class="${envButtonClass}" data-environment-type="${environment.id}"> <div class="greatWinterHuntGolemDestinationView__environmentName"> <span>${environment.name}</span> </div> <div class="greatWinterHuntGolemDestinationView__environmentImage" style="background-image:url(${environment.headerImage});" data-environment-type="${environment.id}"></div> </button>`; }); if (hasTitles) { content += "</div></div>"; } } if (!hasTitles) { content += "</div></div>"; } content += "</div></div></div>"; content += "</div>"; content += `<div class="mh-improved-travel-window-footer"> <div class="mh-improved-travel-window-edit mousehuntActionButton"><span>Edit</span></div> <div class="mh-improved-travel-window-description">Click on a location to toggle the visibility.</div> </div>`; content += "</div>"; const popup = createPopup({ id: "mh-improved-travel-window", title: "", content, className: "mh-improved-travel-window-popup jsDialogFixed", show: false }); popup.setOffsetHeight(0); popup.setPersistentOffsetHeight(0); popup.setIsModal(false); popup.show(); const travelWindow = document.querySelector(".mh-improved-travel-window"); if (!travelWindow) { return; } const editButton = document.querySelector(".mh-improved-travel-window-edit"); if (!editButton) { return; } const editButtonSpan = editButton.querySelector("span"); if (!editButtonSpan) { return; } const environmentButtons = document.querySelectorAll(".greatWinterHuntGolemDestinationView__environment"); if (!environmentButtons) { return; } editButton.addEventListener("click", () => { isEditing = !isEditing; if (isEditing) { travelWindow.classList.add("mh-improved-travel-window--editing"); editButtonSpan.textContent = "Save"; editButton.classList.add("active"); } else { travelWindow.classList.remove("mh-improved-travel-window--editing"); editButtonSpan.textContent = "Edit"; editButton.classList.remove("active"); } }); environmentButtons.forEach((button) => { const environmentType = button.getAttribute("data-environment-type"); button.addEventListener("click", () => { if (isEditing) { toggleLocation(environmentType); button.classList.toggle("mh-improved-travel-window-hidden"); } else { debug(`Traveling to ${environmentType}`); travelTo(environmentType); setPage("Camp"); popup.hide(); } }); }); onDialogHide(() => { isEditing = false; }); const search = document.querySelector(".mh-improved-travel-window-search-input"); if (!search) { return; } search.focus(); search.addEventListener("input", () => { const value = search.value.trim().toLowerCase(); environmentButtons.forEach((button) => { const environmentType = button.getAttribute("data-environment-type"); const environment = environments2.find((e) => e.id === environmentType); button.style.display = environment.name.toLowerCase().includes(value) ? "block" : "none"; }); }); search.addEventListener("keydown", (e) => { if (e.key === "Enter") { const visibleButton = document.querySelector('.greatWinterHuntGolemDestinationView__environment[style="display: block;"]'); if (visibleButton && !visibleButton.classList.contains("greatWinterHuntGolemDestinationView__environment--active")) { visibleButton.click(); } } }); }); isEditing = false; environments2 = []; makeMenuItem2 = () => { addSubmenuItem({ id: "mh-improved-travel-window", menu: "travel", label: "Travel Window", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/special.png", callback: () => { openTravelWindow(); } }); }; addEnvironmentIconListener = () => { const environmentIcon = document.querySelector(".mousehuntHud-environmentIcon"); if (!environmentIcon) { return; } environmentIcon.classList.add("mh-improved-travel-window-environment-icon"); environmentIcon.title = "Open Travel Window"; environmentIcon.addEventListener("click", () => { openTravelWindow(); }); }; travel_window_default = () => __async(void 0, null, function* () { addStyles(travel_menu_default, "better-travel-travel-window"); makeMenuItem2(); if (getSetting("better-travel.travel-window-environment-icon", true)) { addEnvironmentIconListener(); } onEvent("mh-improved-open-travel-window", openTravelWindow); environments2 = yield getData("environments"); }); } }); // src/modules/better-travel/settings/index.js var settings_default12; var init_settings13 = __esm({ "src/modules/better-travel/settings/index.js"() { settings_default12 = () => __async(void 0, null, function* () { return [ { id: "better-travel.default-to-simple-travel", title: "Show Simple Travel tab by default", default: false, description: "" }, { id: "better-travel.show-alphabetized-list", title: "Show alphabetized list on Simple Travel", default: false, description: "" }, { id: "better-travel.show-reminders", title: "Show Travel Reminders", default: true, description: "" }, { id: "better-travel.travel-window", title: "Travel Window", default: true, description: "" }, { id: "better-travel.travel-window-environment-icon", title: "Environment icon opens Travel Window", default: true, description: "" } ]; }); } }); // src/modules/better-travel/styles.css var styles_default19; var init_styles20 = __esm({ "src/modules/better-travel/styles.css"() { styles_default19 = '.travelPage-map-spacer,.travelPage-map-simpleToggle,.mousehuntHud-page-tabContent.map.full .travelPage-map-simpleToggle.full,.mousehuntHud-page-tabContent.map.full .travelPage-map-prefix.full{display:none}.travelPage-regionMenu{width:22%;overflow:scroll}.travelPage-map-environment-detailContainer{left:22%;width:78%}.travelPage-regionMenu-environmentLink.active{color:#000;background:#a4cafc}.travelPage-regionMenu-stats{color:#4d4d4d;background-color:#d8d8d8}.travelPage-regionMenu-numFriends{padding:0;background:none}.travelPage-mapContainer.full{height:auto;min-height:800px;max-height:900px;border:none}.travelPage-map-imageContainer{width:78%}.travelPage-map-zoomContainer{bottom:200px;transform:scale(1.5)}.travelPage-map-image-environment-name{top:70px;z-index:15;font-size:22px;font-variant:none;text-shadow:1px 1px #000,0 0 10px #000,8px 12px 9px #000}.travelPage-map-image-environment.locked .travelPage-map-image-environment-status{z-index:1;opacity:.5}.travelPage-map-image-environment-star{z-index:10}.travelPage-map-image-environment-button{top:100px;transform:scale(1.2)}.travelPage-regionMenu-environmentLink.mystery{display:inline-block;color:#9e9e9e;pointer-events:none}.travelPage-regionMenu-item[data-region=riftopia],.travelPage-regionMenu-item[data-region=riftopia] .travelPage-regionMenu-item-contents{display:block!important}.travelPage-regionMenu-regionLink:hover,.travelPage-regionMenu-regionLink:focus{cursor:unset}#mh-simple-travel-page .travelPage-map-prefix{display:block}#mh-simple-travel-page .travelPage-regionMenu{display:grid;grid-template-columns:repeat(5,1fr);width:100%;margin-bottom:10px;overflow:visible;background-color:transparent}#mh-simple-travel-page .travelPage-regionMenu-item{box-sizing:border-box;margin:1px;background-color:#e2e2e2;border:1px solid #4c71b4}#mh-simple-travel-page .travelPage-regionMenu-item[data-region=gnawnia],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=valour],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=whisker_woods],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=burroughs],#mh-simple-travel-page .travelPage-regionMenu-item[data-region=furoma]{min-height:215px}#mh-simple-travel-page .travelPage-regionMenu-item[data-region=riftopia]{min-height:250px}#mh-simple-travel-page .travelPage-regionMenu-environments{width:145px;padding-left:2px;box-shadow:none}#mh-simple-travel-page .travelPage-regionMenu-item-contents{overflow:visible!important}#mh-simple-travel-page .travelPage-regionMenu-environmentLink.active{color:#4e6081}#mh-simple-travel-page .travelPage-regionMenu-environmentLink:hover,#mh-simple-travel-page .travelPage-regionMenu-environmentLink:focus{color:#fff;background-color:#6383bf;border-radius:3px}.huntersHornView__messageContent strong{font-weight:900}#mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu{display:block;width:100%}#mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu-environments{display:flex;flex-flow:column wrap;align-items:stretch;justify-content:flex-start;width:754px;height:425px;padding:4px 1px}#mh-simple-travel-page .travelPage-alpha-wrapper a.travelPage-regionMenu-environmentLink{width:112px;margin-left:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mhui-region-travel-item .icon{border-radius:5px}.mousehuntHud-menu ul li ul li.mhui-region-travel-item a .icon{top:6px;left:3px;width:22px;height:22px}#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight{margin-right:-3px;border-right:1px solid #4c71b4}#mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu-environmentLink.active.highlight{margin-right:0;border-right:none;border-radius:3px}.travelPage-regionMenu-environmentLink.relic-hunter-is-here:after{position:absolute;top:5px;right:5px;display:none;width:20px;height:20px;content:"";background-image:url(https://www.mousehuntgame.com/images/mice/thumb/d6980f1b00ff8ec688804706cba9370c.gif);background-repeat:no-repeat;background-size:contain;border-radius:5px}.travelPage-regionMenu-environments:hover .travelPage-regionMenu-environmentLink.relic-hunter-is-here:after,.travelPage-regionMenu-environments:focus .travelPage-regionMenu-environmentLink.relic-hunter-is-here:after,.travelPage-regionMenu-environmentLink.relic-hunter-is-here:hover:after,.travelPage-regionMenu-environmentLink.relic-hunter-is-here:focus:after{display:block}.travelPage-regionMenu-environmentLink.relic-hunter-is-here{background-color:#e0f2d5}.mousehuntHud-page-tabContent.simple-travel .travelPage-regionMenu-environmentLink.relic-hunter-is-here{margin:0;border:none;border-radius:3px;outline:1px solid #ccc}.travelPage-alpha-wrapper .relic-hunter-is-here .travelPage-regionMenu-environmentLink-image{margin-left:0}.travelPage-map-image-environment .map-relic-hunter-is-here-image{position:absolute;top:5px;left:5px;width:60px;height:60px;overflow:hidden;background:url(https://www.mousehuntgame.com/images/mice/thumb/d6980f1b00ff8ec688804706cba9370c.gif);filter:hue-rotate(-326deg);background-repeat:no-repeat;background-size:contain;border-radius:50%;transform:rotate(-70deg)}.map-relic-hunter-is-here.travelPage-map-image-environment-pointer{top:41px;left:86px;z-index:9;filter:hue-rotate(326deg);transform:rotate(70deg)}#mh-simple-travel-page .first-letter:first-letter{font-size:12px;font-weight:900}#mh-simple-travel-page .travelPage-alpha-wrapper:hover .first-letter:first-letter{border-bottom:1px solid #4e6081}#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight.event-location,#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.event-location{color:#c01dff}#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight.event-location:after,#mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.event-location:after{position:absolute;top:1px;left:4px;width:15px;height:15px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png);filter:drop-shadow(0 0 1px #fff);background-repeat:no-repeat;background-size:contain}.travelPage-map-environment-detail-title .custom-favorite-button{margin-top:-1px;margin-left:10px}.mousehuntHud-menu ul li ul li.mh-improved-better-travel-favorites-divider{height:1px;pointer-events:none;background-color:#6c3d0e7f}.mh-improved-better-travel-favorite-location:after{position:absolute;top:6px;right:4px;bottom:0;display:block;width:20px;height:20px;content:"";background:url(https://www.mousehuntgame.com/images/ui/map/star_gold_320.png);background-size:contain;opacity:.3}.mh-improved-better-travel-favorite-location:hover:after,.mh-improved-better-travel-favorite-location:focus:after{opacity:.1}.mh-improved-better-travel-menu-item .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mousehuntHud-environmentName{padding-top:0;margin-top:29px}.mh-improved-better-travel-region-location .icon{border:1px solid #9f9171;border-radius:3px}.mh-improved-travel-message.travelPage-map-message.active{top:46px;box-shadow:0 3px 6px -3px #333}.mh-improved-travel-message.travelPage-map-message .mousehuntActionButton{padding:3px 10px;font-size:11px}.mh-improved-travel-message>div{display:none}.travelPage-map-image-environment-pointer{top:5px;left:29px;width:140px;height:116px;background-size:cover}.travelPage-map-image-environment-pointer-image{top:10px;left:6px;width:70px;height:70px}\n'; } }); // src/modules/better-travel/travel-menu-hiding.css var travel_menu_hiding_default; var init_travel_menu_hiding = __esm({ "src/modules/better-travel/travel-menu-hiding.css"() { travel_menu_hiding_default = "ul.fast-travel-list>li:not(.custom-submenu-item){display:none}\n"; } }); // src/modules/better-travel/index.js var expandTravelRegions, travelClickHandler, cloneRegionMenu, addTab, addPage, addAlphabetizedList, addSimpleTravelPage, addSimpleTravel, getPreviousLocation, goToPreviousLocation, addToTravelDropdown, onTravelComplete, initSimpleTab, maybeSetTab, addRhToSimpleTravel, addRhToMap, maybeDoMapView, _tabHandler, listenTabChange, saveTravelLocation, getLocationFavorites, isLocationFavorite, saveLocationFavorites, addToLocationFavorites, removeFromLocationFavorites, addFavoriteButtonsToTravelPage, main10, environments3, eventEnvironments, init13, better_travel_default; var init_better_travel = __esm({ "src/modules/better-travel/index.js"() { init_utils2(); init_travel_utils(); init_reminders(); init_travel_window(); init_settings13(); init_styles20(); init_travel_menu_hiding(); expandTravelRegions = () => { var _a, _b; if ("travel" !== getCurrentPage()) { return; } const hud7 = document.querySelector("#mousehuntHud"); if (hud7) { const hudHeight = hud7.offsetHeight + 30; const map = document.querySelector(".travelPage-mapContainer.full"); if (map) { map.style.height = `calc(100vh - ${hudHeight}px)`; } } const regionHeaders = document.querySelectorAll(".travelPage-regionMenu-regionLink"); if (regionHeaders) { regionHeaders.forEach((regionHeader) => { regionHeader.setAttribute("onclick", "return false;"); }); } const travelAreas = document.querySelectorAll(".travelPage-regionMenu-item"); if (travelAreas && travelAreas.length > 0) { travelAreas.forEach((area) => { area.classList.add("active"); area.classList.remove("contracted"); }); } const locations = document.querySelectorAll(".travelPage-map-image-environment.active"); if (locations && locations.length > 0) { locations.forEach((location) => { location.addEventListener("mouseover", () => { location.classList.add("highlight"); }); location.addEventListener("mouseout", () => { setTimeout(() => { location.classList.remove("highlight"); }, 1e3); }); }); } if ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.TravelPage) == null ? void 0 : _b.zoomOut) { setTimeout(() => { app.pages.TravelPage.zoomOut(); }, 500); } }; travelClickHandler = (event) => { var _a, _b; if ((_b = (_a = app == null ? void 0 : app.pages) == null ? void 0 : _a.TravelPage) == null ? void 0 : _b.travel) { travelTo(event.target.getAttribute("data-environment")); setPage("Camp"); } }; cloneRegionMenu = () => { const regionMenu = document.querySelector(".travelPage-regionMenu"); if (!regionMenu) { return; } const regionMenuClone = regionMenu.cloneNode(true); const travelLinks = regionMenuClone.querySelectorAll(".travelPage-regionMenu-environmentLink"); if (travelLinks && travelLinks.length > 0) { travelLinks.forEach((link) => { link.setAttribute("onclick", "return false;"); link.addEventListener("click", travelClickHandler); }); } return regionMenuClone; }; addTab = (id, label) => { if ("travel" !== getCurrentPage()) { return; } const exists = document.querySelector(`#mh-${id}-tab`); if (exists) { return; } const tabContainer = document.querySelector(".mousehuntHud-page-tabHeader-container"); if (!tabContainer) { return; } const tab = makeElement("a", "mousehuntHud-page-tabHeader"); tab.id = `mh-${id}-tab`; tab.setAttribute("data-tab", id); tab.setAttribute("onclick", "hg.utils.PageUtil.onclickPageTabHandler(this); return false;"); makeElement("span", "", label, tab); tabContainer.append(tab); }; addPage = (id, content) => { if ("travel" !== getCurrentPage()) { return; } const exists = document.querySelector(`#mh-${id}-page`); if (exists) { return; } const pageContainer = document.querySelector(".mousehuntHud-page-tabContentContainer"); if (!pageContainer) { return; } const page = makeElement("div", ["mousehuntHud-page-tabContent", id]); page.id = `mh-${id}-page`; page.setAttribute("data-tab", id); if (content) { page.append(content); } else { const blank = makeElement("div"); page.append(blank); } pageContainer.append(page); }; addAlphabetizedList = (regionMenu) => { const alphaWrapper = makeElement("div", "travelPage-alpha-wrapper"); const alphaContent = makeElement("div", "travelPage-regionMenu"); const alphaHeader = makeElement("div", ["travelPage-regionMenu-item", "active"]); const alphaList = makeElement("div", "travelPage-regionMenu-item-contents"); const alphaListContent = makeElement("div", "travelPage-regionMenu-environments"); const links = regionMenu.querySelectorAll(".travelPage-regionMenu-environmentLink"); const sortedLinks = [...links].sort((a, b) => { const aName = a.innerText; const bName = b.innerText; if (aName < bName) { return -1; } if (aName > bName) { return 1; } return 0; }); let lastLetter = ""; sortedLinks.forEach((link) => { const linkClone = link.cloneNode(true); alphaListContent.append(linkClone); linkClone.addEventListener("click", travelClickHandler); const firstLetter = linkClone.innerText.charAt(0).toLowerCase(); if (firstLetter !== lastLetter) { linkClone.classList.add("first-letter"); } lastLetter = firstLetter; const environment = environments3.find((env) => { return env.id === link.getAttribute("data-environment"); }); if (!environment) { linkClone.classList.add("event-location"); } }); alphaList.append(alphaListContent); alphaHeader.append(alphaList); alphaContent.append(alphaHeader); alphaWrapper.append(alphaContent); return alphaWrapper; }; addSimpleTravelPage = () => { expandTravelRegions(); const wrapper = makeElement("div", "travelPage-wrapper"); if ("not-set" === getSetting("better-travel.default-to-simple-travel", "not-set")) { const settingTip = makeElement("div", ["travelPage-map-prefix", "simple-travel-tip"], 'You can set this as the default travel tab in the <a href="https://www.mousehuntgame.com/preferences.php?tab=mousehunt-improved-settings">MouseHunt Improved settings</a>.'); wrapper.append(settingTip); } const regionMenu = cloneRegionMenu(); if (getSetting("better-travel.show-alphabetized-list", false)) { wrapper.append(addAlphabetizedList(regionMenu)); } wrapper.append(regionMenu); addPage("simple-travel", wrapper); }; addSimpleTravel = () => { if ("travel" !== getCurrentPage()) { return; } addTab("simple-travel", "Simple Travel"); addSimpleTravelPage(); }; getPreviousLocation = () => { const previousLocation = getSetting("better-travel.previous-location", false); if (previousLocation && previousLocation !== getCurrentLocation()) { return environments3.find((environment) => { return environment.id === previousLocation; }); } return false; }; goToPreviousLocation = () => { const previousLocation = getPreviousLocation(); if (previousLocation) { travelTo(previousLocation.id); } }; addToTravelDropdown = () => __async(void 0, null, function* () { const currentLocation = getCurrentLocation(); const eventEnvironments2 = yield getData("environments-events"); environments3.push(...eventEnvironments2); let currentRegion = environments3.find((environment) => { return environment.id === currentLocation; }); if (!currentRegion) { currentRegion = eventEnvironments2.find((environment) => { return environment.id === currentLocation; }); if (!currentRegion) { return; } } const otherRegions = environments3.filter((environment) => { if (!(environment == null ? void 0 : environment.region) || !(currentRegion == null ? void 0 : currentRegion.region)) { return false; } return environment.region === currentRegion.region; }); otherRegions.splice(otherRegions.findIndex((environment) => { return environment.id === currentLocation; }), 1); const existingCustomSubmenuItems = document.querySelectorAll(".mh-improved-better-travel-menu-item"); if (existingCustomSubmenuItems) { existingCustomSubmenuItems.forEach((item) => { item.remove(); }); } const previousLocation = getPreviousLocation(); if (previousLocation) { addSubmenuItem({ menu: "travel", label: `Back to ${previousLocation.name}`, icon: "https://www.mousehuntgame.com/images/ui/puzzle/refresh.png", callback: goToPreviousLocation, class: "mh-improved-better-travel-menu-item mh-improved-better-travel-previous-location" }); } otherRegions.forEach((region) => { if (region.id === currentLocation) { return; } addSubmenuItem({ menu: "travel", label: region.name, icon: region.image, callback: () => { travelTo(region.id); }, class: "mh-improved-better-travel-menu-item mh-improved-better-travel-region-location" }); }); const favorites = getLocationFavorites(); if (favorites && favorites.length > 0) { addSubmenuDivider("travel", "mh-improved-better-travel-favorites-divider"); favorites.forEach((favorite) => { const favoriteRegion = environments3.find((environment) => { return environment.id === favorite; }); if (favoriteRegion) { addSubmenuItem({ menu: "travel", label: favoriteRegion.name, icon: favoriteRegion.image, callback: () => { travelTo(favoriteRegion.id); }, class: "mh-improved-better-travel-menu-item mh-improved-better-travel-favorite-location" }); } }); } }); onTravelComplete = () => { onEvent("travel_complete", () => { saveTravelLocation(); setTimeout(() => { if (getSetting("better-travel.show-reminders", true)) { reminders_default(); } addToTravelDropdown(); }, 250); }); }; initSimpleTab = () => { if ("simple-travel" === getCurrentTab()) { const isActive = document.querySelector(".mousehuntHud-page-tabContent.simple-travel"); if (!isActive || isActive && isActive.classList.contains("active")) { return; } setTab("simple-travel"); } }; maybeSetTab = () => { if ("travel" !== getCurrentPage()) { return; } initSimpleTab(); if ("map" !== getCurrentTab()) { return; } if (!getSetting("better-travel.default-to-simple-travel", false)) { return; } setTab("simple-travel"); }; addRhToSimpleTravel = () => __async(void 0, null, function* () { const location = yield getRelicHunterLocation(); if (!location) { return; } const travelLink = document.querySelectorAll(`.travelPage-regionMenu-environmentLink[data-environment="${location.id}"]`); if (!travelLink.length) { return; } travelLink.forEach((link) => { link.classList.add("relic-hunter-is-here"); }); }); addRhToMap = () => __async(void 0, null, function* () { const location = yield getRelicHunterLocation(); if (!location) { return; } const mapLocation = document.querySelector(`.travelPage-map-image-environment[data-environment-type="${location.id}"]`); if (!mapLocation) { return; } const rh = makeElement("div", ["map-relic-hunter-is-here", "travelPage-map-image-environment-pointer"]); makeElement("div", ["map-relic-hunter-is-here-image", "travelPage-map-image-environment-pointer-image"], "", rh); mapLocation.append(rh); }); maybeDoMapView = () => { if ("travel" !== getCurrentPage()) { return; } if ("map" !== getCurrentTab()) { return; } expandTravelRegions(); addRhToMap(); }; _tabHandler = null; listenTabChange = () => { var _a, _b; if (_tabHandler) { return; } if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.onclickPageTabHandler)) { return; } _tabHandler = hg.utils.PageUtil.onclickPageTabHandler; hg.utils.PageUtil.onclickPageTabHandler = (tab) => { _tabHandler(tab); maybeDoMapView(); }; }; saveTravelLocation = () => { const isLocationDashboardRefreshing = sessionGet("doing-location-refresh", false); if (isLocationDashboardRefreshing) { return; } const previousLocation = getTravelSetting("current-location", "not-set"); const currentLocation = getCurrentLocation(); if (currentLocation === previousLocation) { return; } saveTravelSetting("previous-location", previousLocation); saveTravelSetting("current-location", currentLocation); }; getLocationFavorites = () => { const faves = getSetting("better-travel.favorites", []); return faves; }; isLocationFavorite = (type) => { return getLocationFavorites().includes(type); }; saveLocationFavorites = (favorites) => { saveTravelSetting("favorites", favorites); }; addToLocationFavorites = (type) => { if (!isLocationFavorite(type)) { const faves = getLocationFavorites(); faves.push(type); saveLocationFavorites(faves); } }; removeFromLocationFavorites = (type) => { if (getLocationFavorites()) { const faves = getLocationFavorites(); faves.splice(faves.indexOf(type), 1); saveLocationFavorites(faves); } }; addFavoriteButtonsToTravelPage = () => __async(void 0, null, function* () { const locations = document.querySelectorAll(".travelPage-map-environment-detailContainer .travelPage-map-environment-detail"); if (!locations) { return; } const locationFavorites = getLocationFavorites(); locations.forEach((location) => { const type = location.getAttribute("data-environment-type"); if (!type) { return; } const isEventLocation = eventEnvironments.find((environment) => { return environment.id === type; }); if (isEventLocation) { return; } const isFavorite2 = locationFavorites.includes(type); makeFavoriteButton({ id: `better-travel-favorite-${type}`, target: location.querySelector(".travelPage-map-environment-detail-title"), size: "small", state: isFavorite2, isSetting: false, defaultState: false, onActivate: () => { addToLocationFavorites(type); addToTravelDropdown(); }, onDeactivate: () => { removeFromLocationFavorites(type); removeSubmenuItem(type); } }); }); }); main10 = () => { if (getSetting("better-travel.travel-window", true)) { travel_window_default(); } onNavigation(() => { addSimpleTravel(); addRhToSimpleTravel(); addFavoriteButtonsToTravelPage(); }, { page: "travel" }); onPageChange({ travel: { show: maybeSetTab } }); listenTabChange(); initSimpleTab(); maybeDoMapView(); onTravelComplete(); saveTravelLocation(); addToTravelDropdown(); onEvent("mh-improved-goto-previous-location", goToPreviousLocation); }; environments3 = []; eventEnvironments = []; init13 = () => __async(void 0, null, function* () { const stylesJoined = [styles_default19]; if (!getFlag("no-travel-menu-hiding")) { stylesJoined.push(travel_menu_hiding_default); } addStyles(stylesJoined, "better-travel"); environments3 = yield getData("environments"); eventEnvironments = yield getData("environments-events"); main10(); }); better_travel_default = { id: "better-travel", name: "Better Travel", type: "better", default: true, description: 'Adds locations in the current region to the Travel dropdown menu, a "Simple Travel" tab with a grid of locations, an optional alphabetized list, an indicator for where the Relic Hunter is.', load: init13, settings: settings_default12 }; } }); // src/modules/better-tournaments/settings/index.js var settings_default13; var init_settings14 = __esm({ "src/modules/better-tournaments/settings/index.js"() { settings_default13 = () => __async(void 0, null, function* () { return [{ id: "better-tournaments.time-inline", title: "Display localized times inline", default: false, description: "Display localized tournament times inline, rather than on hover." }]; }); } }); // src/modules/better-tournaments/styles.css var styles_default20; var init_styles21 = __esm({ "src/modules/better-tournaments/styles.css"() { styles_default20 = '.teamPage-memberRow-identity .teamPage-member-nameContainer{width:auto}.tournamentPage-tournamentContainer-customPrizes{display:none}.tournamentPage-tournamentContainer-name{margin-bottom:5px;font-size:13px}.tournamentPage-tournamentContainer-description{padding-top:2px;font-size:9px}.train .tournamentPage-tournamentContainer-description{max-height:35px;padding-right:10px;font-size:9px;line-height:10px}.tournamentPage-tournamentRow .tournamentPage-tournamentContainer-icon{display:none}.tournamentPage-tournament-column.label{text-align:center}.tournamentPage-tournament-column.label.nameIcon{text-align:left}.tournamentPage-tournamentContainer-labels .tournamentPage-tournament-column:nth-child(6){display:none}.tournamentPage-tournament-column.members_5 .tournamentPage-tournament-teamMember{display:block;width:19.6px;height:19.6px}.tournamentPage-tournament-column.value.teamMembers.members_5{display:flex;flex-flow:row wrap;align-items:center}.tournamentPage-tournament-column.members_5 .tournamentPage-tournament-teamMember.empty:after{margin-top:4px;margin-left:-5px}.tournamentPage-tournamentContainer-labels{display:grid;grid-template-columns:305px 100px 80px 55px;justify-items:stretch;margin-left:15px}.tournamentPage-tournament-column .tournamentPage-tournament-teamMember:is(.empty){color:transparent}.tournamentPage-tournament-column .tournamentPage-tournament-teamMember.empty:before{content:counter(team);counter-increment:team}.tournamentPage-tournament-column.value.teamMembers{counter-reset:team}.tournamentPage-tournament-column .tournamentPage-tournament-teamMember.empty:last-child:before{position:absolute;top:4px;right:-1px;display:inline-block;width:22px;height:22px;font-size:18px;line-height:22px;color:#474747;background-color:#e5e5e5;border-radius:50%;box-shadow:1px 1px 1px #c7c7c7}.tournamentPage-tournament-column.members_5 .tournamentPage-tournament-teamMember.empty:last-child:before{top:-2px;right:-4px;width:21px;height:21px;font-size:17px;line-height:20px}.tournamentPage-tournament-column.label,a.tournamentPage-tournament-column.icon,a.tournamentPage-tournament-column.name,.tournamentPage-tournament-column.value,.tournamentPage-tournament-column.actions{width:auto}.tournamentPage-tournamentRow{display:grid;grid-template-columns:0 300px 1fr 1fr 20px 100px 70px;gap:10px;place-items:center stretch;padding:5px 10px 5px 0;border:1px solid #d7d7d7;border-radius:4px}.tournamentPage-tournament-column.label.teamMembers{display:none;text-align:center}.tournamentPage-tournamentRow.train .tournamentPage-tournamentContainer-icon,.tournamentPage-tournamentContainer-icon{width:30px;height:30px;margin:0;background-repeat:no-repeat;background-position:unset;background-size:contain}.tournamentPage-profile-summaryContainer{min-height:100px;padding-left:130px;margin-right:20px;margin-left:20px;background-size:120px}.tournamentPage-profile-description{display:grid;grid-template-columns:1fr 125px;place-items:center end;font-size:13px;line-height:20px}.tournamentPage-profile-action{display:block;order:2;float:none;font-size:14px}.tournamentPage-profile-prizeWaiting{display:grid;grid-template-columns:1fr 100px;align-items:center;justify-content:center;padding:10px 20px;margin:20px 0;font-size:18px;font-weight:400}.tournamentPage-tournamentHeader,.tournamentPage-viewState .mousehuntTabContentContainer{background:#efe9df;border:1px solid #af9969;box-shadow:inset 1px 1px 1px #e2d6b5}.tournamentPage-profile-details-rules h2:first-of-type{display:none}img.tournamentPage-profile-details-rules-icon{display:none}.tournamentPage-profile-details-rules br:first-of-type:after,.tournamentPage-profile-details-rules br:first-of-type:before{display:block}.tournamentPage-profile-details-generalRules ul li:nth-of-type(2),.tournamentPage-profile-details-generalRules ul li:nth-of-type(3){display:none}.tournamentPage-profile-details-generalRules ul{margin:0 0 0 15px;list-style:disc}.tournamentPage-profile-details-generalRules-title{display:none}.tournamentPage-profile-summary{height:auto;min-height:200px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-tournamentHeader,.tournamentPage-viewState .mousehuntTabContentContainer{background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-viewState .mousehuntTabHeader span{margin-bottom:1px;background:#f6f3eb;border:1px solid #cbc6bb;box-shadow:none}.tournamentPage-viewState .mousehuntTabHeader.active span,.tournamentPage-viewState .mousehuntTabHeader span:hover,.tournamentPage-viewState .mousehuntTabHeader span:focus{border-bottom:none}.tournamentPage-viewState .mousehuntTabHeader:before{background:none;box-shadow:none}.tournamentPage-viewState .mousehuntTabHeader.active span,.tournamentPage-viewState .mousehuntTabHeader:hover span,.tournamentPage-viewState .mousehuntTabHeader:focus span{border-bottom:1px solid #f6f3eb}.tournamentPage-profile-details-rewardContainer h2{display:none}.tournamentPage-profile-details-rewardContainer>div:last-child{display:none}.tournamentPage-profile-details-rewardContainer{background-color:transparent}.tournamentPage-profile-details-padding{position:relative;background-color:#f6f3eb}.tournamentPage-profile-details-reward-name{padding-bottom:20px;margin-left:30px;font-weight:400}.tournamentPage-profile-details-padding div:nth-child(2){position:absolute;top:5px;left:5px;width:30px;height:30px;margin-left:0;color:transparent;background-size:contain}.tournamentPage-profile-details-reward-item{margin-left:5px;mix-blend-mode:multiply}.tournamentPage-profile-details-environmentContainer{position:absolute;right:0;bottom:-10px;display:flex;flex-flow:row wrap;place-content:center center;align-items:stretch;width:290px;padding-top:10px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-profile-details-rules h2{display:none;padding-bottom:11px}.tournamentPage-profile-details-generalRules{width:270px;font-size:11px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}.tournamentPage-profile-details-environmentWarning{display:none}.tournamentPage-profile-details-rules{display:flex;flex-direction:column;justify-content:flex-start;font-size:12px}.tournamentPage-profile-details-mouseGroup{width:auto;padding:10px;margin:0;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb}h2.tournamentPage-profile-details-mouseGroup-name{padding-left:32px;margin-bottom:10px;font-size:14px;font-weight:900}.tournamentPage-profile-details-mouseGroup-miceContainer{display:flex;flex-flow:column wrap;margin:0}.tournamentPage-profile-details-mice{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.tournamentHelp.clear-block img{display:none}.tournamentPage-profile-details-mouseGroup-mouse{width:100%}.tournamentStatusHud .score,.tournamentStatusHud .rank{padding:15px;margin:-15px}.teamMembers:hover .memberHover,.rank:hover .scoreHover{display:block}.score:hover .pointsHover{display:grid}.memberHover,.scoreHover,.pointsHover{position:absolute;top:90%;left:-50%;z-index:31;display:none;width:275px;color:#4e300b;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:inset -1px -1px 1px #d3cecb,1px 3px 3px #939393}.pointsHover{left:-130%;grid-template-columns:1fr 1fr 1fr;place-items:stretch stretch;width:auto}.scoreRow{display:grid;grid-template-columns:25px 1fr 25px;place-items:center start;padding:5px;margin-bottom:5px}.pointsTotal{text-align:center}img.memberImage{width:20px;height:20px;padding:5px}.memberRow{display:flex;padding:2px}.memberHover{left:0;width:auto;min-width:120px;padding:5px}.memberRow:nth-child(2n){background-color:#e8e4d6}.scoreRow:nth-child(2n){background-color:#e5e0de}.scoreIcon{position:relative;width:20px;height:20px;margin-right:5px;overflow:hidden;border-radius:7px}.scoreIcon div{position:absolute;top:0;left:0;width:20px;height:20px;background-repeat:no-repeat;background-size:contain}.teamWrapper{display:flex;align-items:center}.scorePoints{justify-self:end}.pointsRow{width:150px;border:1px solid #cbc6bb}img.pointsMouseIcon{width:15px;height:15px;margin-right:4px;margin-bottom:3px}.pointsMouseWrapper{display:flex;align-items:center;justify-content:flex-start;overflow:hidden}.pointsMouseName{font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.pointsMice{padding:5px}.pointsTitle{padding:5px 0;font-size:12px;text-align:center}.tournamentStatusHud .rank span,.tournamentStatusHud .score span{display:inline-block;font-size:13px;line-height:12px}.tournamentStatusHud a.name,.tournamentStatusHud a.name:visited,.tournamentStatusHud a.name:hover,.tournamentStatusHud a.name:focus{left:33px;font-size:12px}.tournamentStatusHud .timer,.tournamentStatusHud.pending .timer{top:0;left:241px;width:auto;padding-top:3px;padding-right:10px;font-size:11px;line-height:initial;color:#000;background:linear-gradient(166deg,#b4d3da,#acc3ca 50%,#b4d3da 96%);background-color:#acc3ca;border-top-right-radius:15px}.tournamentStatusHud .title{display:none}.tournament-normal-time.tournament-time-display-hover{position:absolute;inset:0 -30px;z-index:6;display:none;padding:5px;text-align:center;white-space:nowrap;background-color:#eee;border:1px solid #3d3d3d;border-radius:5px;box-shadow:1px 1px 3px #191919,0 0 5px 5px #fff}.tournamentPage-tournament-column.value:hover .tournament-time-display-hover{display:block}.tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(3),.tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(4){height:auto;min-height:25px}.tournament-normal-time.tournament-time-display-inline{margin-top:4px}.tournamentPage-tournamentRow:hover:before{box-shadow:none}.tournamentPage-tournamentRow:hover{background-color:#eee}.tournamentPage-tournamentRow.signed_up:before{background-color:transparent;box-shadow:none}.tournamentPage-tournamentRow.tournamentPage-tournamentData.signed_up{background-color:#feff8d}.tournamentPage-tournamentRow.tournamentPage-tournamentData.signed_up:hover{background-color:#ffda2f}.tournamentPage-tournamentRow.empty .tournamentPage-tournament-empty{white-space:nowrap}.tournamentPage-tournamentButton{padding:2px 15px;line-height:18px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #b9b9b9}.tournamentPage-tournamentButton:hover,.tournamentPage-tournamentButton:focus{background-color:#e4d50c}.tournamentPage-tournamentHeader a{margin:0;font-size:12px;color:#000;text-shadow:0 0 1px #fff;background-color:#f6f3eb;border:1px solid #000;border-radius:4px}.tournamentPage-tournamentHeader a:hover,.tournamentPage-tournamentHeader a:focus{background-color:#fff;border-color:#000}.tournament-team-rank{background-color:#0d7d3a}.tournament-team-rank.rank_1{color:#000}tbody tr.scoreboardTableView-row-separator:nth-child(5){display:none}tr.scoreboardTableView-row.viewer,tr.scoreboardTableView-row.highlight{background-color:#fdfbcc;border-radius:10px;outline:2px solid #fc6;box-shadow:none}.viewer .tournament-team-rank.updated:hover:after{position:absolute;inset:14px 20px 14px 10px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#000;text-align:center;content:"Page " attr(data-rank-page);background-color:#fdfbcce5;border:1px #aaa9a9;border-radius:5px}.scoreboardTableView-row-rank{position:relative}\n'; } }); // src/modules/better-tournaments/index.js var updateTournamentHud, updateTournamentList, updateScoreboard, init14, better_tournaments_default; var init_better_tournaments = __esm({ "src/modules/better-tournaments/index.js"() { init_utils2(); init_settings14(); init_styles21(); updateTournamentHud = () => __async(void 0, null, function* () { var _a, _b; const activeTourney = document.querySelector("#tournamentStatusHud > a.name"); if (!activeTourney) { return; } const tourneyId = activeTourney.href.split("=")[1]; if (!tourneyId) { return; } const tourneyData = yield doRequest("managers/ajax/pages/page.php", { page_class: "Tournament", "page_arguments[tournament_id]": tourneyId }); if (!(tourneyData == null ? void 0 : tourneyData.page)) { return; } if ((_a = tourneyData.page) == null ? void 0 : _a.is_active) { const name = (_b = tourneyData == null ? void 0 : tourneyData.page) == null ? void 0 : _b.name; if (name) { activeTourney.innerText = name; } const rank = document.querySelector(".tournamentStatusHud .rank"); if (rank) { const scoreHover = document.createElement("div"); scoreHover.classList.add("scoreHover"); tourneyData.page.scoreboard.rows.forEach((scoreboard) => { const scoreRow = makeElement("div", "scoreRow"); makeElement("div", "scoreRank", scoreboard.rank, scoreRow); const teamWrapper = makeElement("a", "teamWrapper"); teamWrapper.href = `https://www.mousehuntgame.com/team.php?team_id=${scoreboard.team_id}`; const icon = makeElement("div", "scoreIcon"); const iconLayer1 = makeElement("div", "scoreIconLayer1"); iconLayer1.style.backgroundImage = `url(${scoreboard.emblem.layers[0].image})`; icon.append(iconLayer1); const iconLayer2 = makeElement("div", "scoreIconLayer2"); iconLayer2.style.backgroundImage = `url(${scoreboard.emblem.layers[1].image})`; icon.append(iconLayer2); const iconLayer3 = makeElement("div", "scoreIconLayer3"); iconLayer3.style.backgroundImage = `url(${scoreboard.emblem.layers[2].image})`; icon.append(iconLayer3); teamWrapper.append(icon); makeElement("div", "scoreName", scoreboard.name, teamWrapper); scoreRow.append(teamWrapper); makeElement("div", "scorePoints", scoreboard.points, scoreRow); scoreHover.append(scoreRow); }); rank.append(scoreHover); } const points = document.querySelector(".tournamentStatusHud .score"); if (points) { const pointsHover = document.createElement("div"); pointsHover.classList.add("pointsHover"); tourneyData.page.mouse_groups.reverse().forEach((mouseGroup) => { const pointsRow = makeElement("div", "pointsRow"); makeElement("div", "pointsTotal", mouseGroup.name, pointsRow); const groupMice = document.createElement("div"); groupMice.classList.add("pointsMice"); mouseGroup.mice.forEach((mouse) => { const mouseWrapper = makeElement("div", "pointsMouseWrapper"); const mouseIcon = makeElement("img", "pointsMouseIcon"); mouseIcon.src = mouse.thumb; mouseWrapper.append(mouseIcon); makeElement("div", "pointsMouseName", mouse.name, mouseWrapper); groupMice.append(mouseWrapper); }); pointsRow.append(groupMice); pointsHover.append(pointsRow); }); points.append(pointsHover); } } else { const members = document.querySelector(".tournamentStatusHud a.teamMembers"); if (members) { const memberHover = makeElement("div", "memberHover"); tourneyData.page.members.forEach((member) => { var _a2, _b2; const memberRow = makeElement("div", "memberRow"); if (member.is_empty) { makeElement("div", "memberEmpty", "Empty", memberRow); memberRow.classList.add("empty"); } else { const image = makeElement("img", "memberImage"); image.src = (_a2 = member.profile_pic) != null ? _a2 : "https://www.mousehuntgame.com//images/ui/friends/anonymous_user.png"; memberRow.append(image); makeElement("div", "memberName", (_b2 = member.name) != null ? _b2 : "", memberRow); } memberHover.append(memberRow); }); members.append(memberHover); } } }); updateTournamentList = () => __async(void 0, null, function* () { const beginsRows = document.querySelectorAll(".tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(3)"); if (!beginsRows.length) { return; } const durationRows = document.querySelectorAll(".tournamentPage-tournamentRow.tournamentPage-tournamentData .tournamentPage-tournament-column.value:nth-child(4)"); if (!durationRows.length) { return; } const now = /* @__PURE__ */ new Date(); const nowTime = now.getTime(); const dateOptions = { weekday: "short", month: "short", day: "numeric", hour: "numeric", minute: "numeric" }; beginsRows.forEach((beginsRow, i) => { const beginsText = beginsRow.innerText; const beginsParts = beginsText.split(" "); const beginsMinutes = beginsParts.reduce((acc, part) => { if (part === "minutes" || part === "minute") { return acc + Number.parseInt(beginsParts[beginsParts.indexOf(part) - 1], 10); } if (part === "hours" || part === "hour") { return acc + Number.parseInt(beginsParts[beginsParts.indexOf(part) - 1], 10) * 60; } return acc; }, 0); const inlineOrHover = getSetting("better-tournaments.time-inline") ? "tournament-time-display-inline" : "tournament-time-display-hover"; const beginsDate = new Date(nowTime + beginsMinutes * 6e4); const beginsDateString = beginsDate.toLocaleString("en-US", dateOptions); const beginsDateEl = makeElement("div", ["tournament-normal-time", "tournament-begins-date", inlineOrHover], beginsDateString); beginsRow.append(beginsDateEl); const durationText = durationRows[i].innerText; const durationParts = durationText.split(" "); const durationMinutes = durationParts.reduce((acc, part) => { if (part === "minutes" || part === "minute") { return acc + Number.parseInt(durationParts[durationParts.indexOf(part) - 1], 10); } if (part === "hours" || part === "hour") { return acc + Number.parseInt(durationParts[durationParts.indexOf(part) - 1], 10) * 60; } return acc; }, 0); const durationDate = new Date(beginsDate.getTime() + durationMinutes * 6e4); const durationDateString = durationDate.toLocaleString("en-US", dateOptions); const durationDateEl = makeElement("div", ["tournament-normal-time", "tournament-end-date", inlineOrHover], durationDateString); durationRows[i].append(durationDateEl); }); }); updateScoreboard = () => { const getRanks = document.querySelectorAll(".tournament-team-rank:not(.updated)"); getRanks.forEach((rank) => { rank.classList.add("updated"); const rankParts = rank.innerText.split(/(\d+)/); if (rankParts.length !== 3) { return; } const rankNum = Number.parseInt(rankParts[1], 10); if (rankNum <= 25) { rank.classList.add("rank-first-page"); } rank.setAttribute("data-rank", rankNum); rank.setAttribute("data-rank-page", Math.ceil(rankNum / 25)); rank.innerText = rankNum.toLocaleString("en-US") + rankParts[2]; }); }; init14 = () => __async(void 0, null, function* () { addStyles(styles_default20, "better-tournaments"); updateTournamentHud(); onEvent("tournament_status_change", updateTournamentHud); onNavigation(updateTournamentList, { page: "tournament" }); onNavigation(updateScoreboard, { page: "scoreboards" }); onRequest("pages/scoreboards.php", updateScoreboard); }); better_tournaments_default = { id: "better-tournaments", name: "Better Tournaments", type: "better", default: true, description: "Updates the Tournaments UI to show information on hover and a variety of small interface tweaks.", load: init14, settings: settings_default13 }; } }); // src/modules/better-ui/friends.js var reorderBlocks, autofocusIdSearch, friends_default; var init_friends = __esm({ "src/modules/better-ui/friends.js"() { init_utils2(); reorderBlocks = () => { if ("friends" !== getCurrentPage()) { return; } const reordered = document.querySelector(".mousehuntHud-page-subTabContent.community"); if (!reordered || reordered.getAttribute("data-reordered")) { return; } const blocks = document.querySelectorAll(".friendsPage-community-channel"); if (!blocks || blocks.length < 3) { return; } const block = blocks[2]; const parent = block.parentNode; block.remove(); parent.insertBefore(block, parent.firstChild); block.classList.add("friends-page-id-search"); const input = block.querySelector("input"); if (input) { input.setAttribute("data-1p-ignore", "true"); } reordered.setAttribute("data-reordered", "true"); }; autofocusIdSearch = () => { const input = document.querySelector(".friendsPage-community-hunterIdForm-input"); if (!input) { return; } input.focus(); }; friends_default = () => __async(void 0, null, function* () { onNavigation(reorderBlocks, { page: "friends" }); onNavigation(autofocusIdSearch, { page: "friends", tab: "requests", subtab: "community" }); }); } }); // src/modules/better-ui/hud.js var showFullTitlePercent, replaceInboxClose, replaceKingdomLink, hud_default; var init_hud = __esm({ "src/modules/better-ui/hud.js"() { init_utils2(); showFullTitlePercent = () => __async(void 0, null, function* () { const title = document.querySelector(".mousehuntHud-userStat.title"); if (!title) { return; } const percent = title.getAttribute("title"); if (!percent) { return; } const target = title.querySelector(".hud_titlePercentage"); if (!target) { return; } const originalText = target.innerText; title.addEventListener("mouseover", () => { target.innerText = percent.includes("%") ? percent.split("%")[0] : percent; }); title.addEventListener("mouseout", () => { target.innerText = originalText; }); }); replaceInboxClose = () => __async(void 0, null, function* () { const template = hg.utils.TemplateUtil.getTemplate("ViewMousehuntHeader_inbox").replace('<a class="messengerUINotificationClose" href="#">X', '<a class="messengerUINotificationClose" href="#">\u2715'); hg.utils.TemplateUtil.addTemplate("ViewMousehuntHeader_inbox", template); }); replaceKingdomLink = () => __async(void 0, null, function* () { const kingdomLink = document.querySelector('.mousehuntHud-menu .kingdom a[href="https://www.mousehuntgame.com/forum.php"]'); if (!kingdomLink) { return; } kingdomLink.href = "https://www.mousehuntgame.com/news.php"; kingdomLink.setAttribute("data-page", "News"); }); hud_default = () => __async(void 0, null, function* () { showFullTitlePercent(); replaceInboxClose(); if (!getFlag("no-kingdom-link-replacement")) { replaceKingdomLink(); } onTurn(showFullTitlePercent, 1e3); }); } }); // src/modules/better-ui/userscript-styles/any-trap-any-skin.css var any_trap_any_skin_default; var init_any_trap_any_skin = __esm({ "src/modules/better-ui/userscript-styles/any-trap-any-skin.css"() { any_trap_any_skin_default = '#custom-skins-flex{display:flex;gap:10px;align-items:center;justify-content:center}.buttonstyle{position:relative;display:block;width:100px;height:25px;margin:5px;line-height:25px;color:#926944;background-color:#f6f3eb!important;border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.buttonstyle:hover{color:#926944;background-color:#fdfaf2!important}.buttonstyle[style*="rgb(34, 139, 34);"]{color:#fff;background-color:#5ccd5d!important}.buttonstyle[style*="rgb(34, 139, 34);"]:hover{background-color:#2e942f!important}#trap-skin-button:after,#base-skin-button:after{position:absolute;inset:0;display:flex;justify-content:center;content:"Toggle Trap"}#base-skin-button:after{content:"Toggle Base"}#wb-steal{margin-left:10px}\n'; } }); // src/modules/better-ui/userscript-styles/favorite-setups.css var favorite_setups_default; var init_favorite_setups = __esm({ "src/modules/better-ui/userscript-styles/favorite-setups.css"() { favorite_setups_default = "#tsitu-fave-setups{z-index:100}\n"; } }); // src/modules/better-ui/userscript-styles/journal-historian.css var journal_historian_default; var init_journal_historian = __esm({ "src/modules/better-ui/userscript-styles/journal-historian.css"() { journal_historian_default = '.journalContainer .top:hover .journalContainer-selectTheme[style="position: initial;transform: none;flex: 1 1 auto;height: 20px;background: none rgb(119, 221, 119);padding: 0px 0px 0px 5px;"]:last-child{background-image:none}.journalContainer .top:hover .journalContainer-selectTheme[style="position: initial;transform: none;flex: 1 1 auto;height: 20px;background: none rgb(119, 221, 119);padding: 0px 0px 0px 5px;"]{display:inline-flex;justify-content:center;padding:0!important}.journalContainer .top:hover .journalContainer-selectTheme[style="position: initial;transform: none;flex: 1 1 auto;height: 20px;background: none rgb(119, 221, 119);padding: 0px 0px 0px 5px;"]:hover{background-color:#5dd55d!important}\n'; } }); // src/modules/better-ui/userscript-styles/lgs-reminder.css var lgs_reminder_default; var init_lgs_reminder = __esm({ "src/modules/better-ui/userscript-styles/lgs-reminder.css"() { lgs_reminder_default = "span.shieldDurationText,span.shieldDurationText[data-near-expiry=true]{bottom:-2px;z-index:1;font-size:15px;font-weight:900;text-shadow:0 0 1px #000,0 0 2px #000,0 0 3px #000}span.shieldDurationText[data-near-expiry=true]{color:#f12e2e}\n"; } }); // src/modules/better-ui/userscript-styles/mhct.css var mhct_default2; var init_mhct2 = __esm({ "src/modules/better-ui/userscript-styles/mhct.css"() { mhct_default2 = "#mhhh_flash_message_div{position:fixed!important;top:unset!important;right:10px;bottom:10px;left:unset!important;width:auto!important;font-weight:400!important;white-space:nowrap;background-color:#bff890!important;border-radius:10px;box-shadow:0 1px 3px -1px #000!important;opacity:1!important}\n"; } }); // src/modules/better-ui/userscript-styles/profile-plus.css var profile_plus_default; var init_profile_plus = __esm({ "src/modules/better-ui/userscript-styles/profile-plus.css"() { profile_plus_default = ".mouseCrownsView-group.favourite .mouseCrownsView-group-header .mouseCrownsView-crown,.mouseCrownsView-group.favourite .mouseCrownsView-group-header-name{display:inline-block}.mouseCrownsView-group-mouse-favouriteButton{top:2px;left:2px}.mouseCrownsView .pt.event{border-radius:50%}.mouseCrownsView #copyCrownsButton{width:16px!important;height:16px!important;background-color:transparent!important;border:none!important}.mouseCrownsView .pt{position:absolute;top:3px;right:3px;padding:2px;border-radius:50%}.mouseCrownsView button.ptbtn{font-size:14px!important;background-color:#9fcad8!important;border:1px solid #008cba}.mouseCrownsView button.ptbtn img{width:20px!important;height:20px!important}.mouseCrownsView #powerTypeBtns{display:flex;flex-direction:row;gap:5px}.mouseCrownsView .toolBar{position:absolute;top:-1px;right:9px;display:flex;gap:2px;align-items:center;justify-content:flex-end;float:none!important;padding:1px;background-color:#ececec;border:1px solid #a7a7a7;border-radius:0 5px;opacity:.5}.mouseCrownsView .toolBar:hover{opacity:1}.powerCrown .mouseCrownsView-group-header-name,.mouseCrownsView-crown.powerCrown{display:none!important}.mouseCrownsView-group-header.powerCrown{padding:0;margin:0;background-color:transparent!important}button.ptbtn img{left:unset!important;width:auto!important;height:50px!important}.mouseCrownsView button.ptbtn>div{top:unset!important;right:unset!important;bottom:unset!important;left:unset!important;width:unset!important}button.ptbtn{display:grid;grid-template-columns:1fr 2fr 2fr;place-content:center flex-start;place-items:center center;width:100%!important;max-width:180px;height:unset!important;background-color:#00b0eb!important;border-width:1px}#powerTypeBtns{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;padding:6px;margin:0;background-color:transparent}.mouseCrownsView-crown.community{padding-right:5px}.mouseCrownsView-group-header.community{margin:10px}.rank.summary{line-height:1.5}img.pt.undefined{display:none}a.mouseListView-categoryContent-subgroup-mouse-thumb{position:relative;border:none!important;border-radius:0!important}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.mouseCrownsView-group-mice.favourites img.pt{display:none}.hideLeContainer{position:absolute;top:-9px;right:0;display:flex;flex-direction:row-reverse;opacity:.5}.hideLeContainer:hover{opacity:1}.hideLeContainer #hideLeCb{width:auto!important}.hideLeContainer label{font-size:10px!important;line-height:18px;text-align:right;vertical-align:middle}.mouseCrownsView-group-mouse-image{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}\n"; } }); // src/modules/better-ui/userscript-styles/spring-egg-hunt-helper.css var spring_egg_hunt_helper_default; var init_spring_egg_hunt_helper = __esm({ "src/modules/better-ui/userscript-styles/spring-egg-hunt-helper.css"() { spring_egg_hunt_helper_default = ".eggs-wrapper .egg-wrapper-unfound img{filter:sepia(1);mix-blend-mode:multiply;opacity:.5}\n"; } }); // src/modules/better-ui/userscript-styles/tsitu-autoloader.css var tsitu_autoloader_default; var init_tsitu_autoloader = __esm({ "src/modules/better-ui/userscript-styles/tsitu-autoloader.css"() { tsitu_autoloader_default = "#mht-bookmarklet-loader{width:225px!important;padding:0 0 20px!important;color:transparent;background:#f6f3eb!important;border:1px solid #534022!important;border-radius:0!important;box-shadow:1px 1px 1px #9d917f,1px 3px 5px #6a6969}#mht-bookmarklet-loader button:first-of-type{position:absolute;top:7px;right:5px;width:20px;height:20px;padding:0;margin:0;font-size:16px;color:#fff;background-color:transparent;border:none;box-shadow:none}#mht-bookmarklet-loader button:first-of-type:hover{color:#926944;background-color:#eee;border-radius:50%;outline:1px solid #ccc}#mht-bookmarklet-loader br+br,#mht-bookmarklet-loader br:first-of-type,#mht-bookmarklet-loader span[style*=font-size]{display:none}#mht-bookmarklet-loader span:first-of-type{display:flex;align-items:center;justify-content:space-between;padding:10px!important;margin-bottom:-30px;font-weight:400!important;color:#f6f3eb;cursor:grab;background-color:#926944;border-bottom:1px solid #ceb7a6}#mht-bookmarklet-loader button{width:174px;padding:5px 15px;margin:0;color:#000;text-shadow:0 0 1px #fff;background-color:#fff600;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}#mht-bookmarklet-loader button:hover{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}#mht-bookmarklet-loader span{color:#000}#mht-bookmarklet-loader span:nth-of-type(2){position:absolute;right:0;bottom:4px;left:0}#mht-bookmarklet-loader span:nth-of-type(3){position:absolute;right:0;bottom:20px;left:0;display:inline;margin:0}\n"; } }); // src/modules/better-ui/userscript-styles/tsitu-location-catch-stats.css var tsitu_location_catch_stats_default; var init_tsitu_location_catch_stats = __esm({ "src/modules/better-ui/userscript-styles/tsitu-location-catch-stats.css"() { tsitu_location_catch_stats_default = '#tsitu-location-stats{width:300px!important;padding:0!important;background:#f6f3eb!important;border:1px solid #534022!important;border-radius:0!important;box-shadow:1px 1px 1px #9d917f,1px 3px 5px #6a6969!important}#tsitu-location-stats span[style="font-weight: bold; font-size: 18px; text-decoration: underline; padding-left: 20px;"]{display:flex;align-items:center;justify-content:space-between;padding:10px!important;font-size:1.5em!important;font-weight:400!important;color:#f6f3eb;text-decoration:none!important;cursor:grab;background-color:#926944;border-bottom:1px solid #ceb7a6}#tsitu-location-stats button[style="float: right; font-size: 8px;"]{position:absolute;top:7px;right:5px;width:20px;height:20px;font-size:16px!important;color:#fff;background-color:transparent;border:none}#tsitu-location-stats button[style="float: right; font-size: 8px;"]:hover{color:#926944;background-color:#eee;border-radius:50%;outline:1px solid #926944}#tsitu-location-stats>div br{display:none}#tsitu-location-stats>div span br{display:block}#tsitu-location-stats>div span br:first-child,#tsitu-location-stats>div span br:last-child{display:none}#tsitu-location-stats>div span{line-height:20px}#tsitu-location-stats>div span>button,.tsitu-current-detail>span>button,#tsitu-location-stats>button{padding:2px 15px;margin:10px 0;line-height:1.5;color:#000;text-shadow:0 0 1px #fff;background-color:#fff600;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}#tsitu-location-stats>div span>button:hover,.tsitu-current-detail>span>button:hover,#tsitu-location-stats>button:hover{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}#tsitu-location-stats>div span>button{display:inline;padding:3px 5px;margin:.25em .75em;line-height:1}.tsitu-current-detail>span>button{display:block;margin:.25em auto}#tsitu-hideCaught-box{margin:0 3px;vertical-align:bottom}#tsitu-location-stats>span{padding:.125em;font-size:.9em}#tsitu-location-stats details{position:relative;padding:.5em}#tsitu-location-stats details details:nth-child(2n){background-color:#e8e3d7}#tsitu-location-stats details[style="font-size: 16px;"]{margin:.25em 0;border-top:1px solid #926944}#tsitu-complete-box,#tsitu-incomplete-box{position:absolute;top:0;right:0}.tsitu-complete-box-label,.tsitu-incomplete-box-label{position:absolute;top:3px;right:20px;font-size:10px!important;color:#7b6b47;text-align:right}#tsitu-location-stats details[style="font-size: 16px;"]>summary{margin:.5em 0}.tsitu-current-detail>span{line-height:1.5}#tsitu-location-stats span[style="font-style: italic; font-size: 12px;"]{display:block;margin-left:1.5em;font-size:10px!important;line-height:2;color:#7b6b47}.tsitu-current-detail>br:first-of-type,.tsitu-current-detail>span br:nth-of-type(1),.tsitu-current-detail>span br:nth-of-type(2),.tsitu-current-detail>span br:nth-last-of-type(1),.tsitu-current-detail>span br:nth-last-of-type(2){display:none}#tsitu-location-stats>div>span:last-of-type{display:inline-block;margin-top:5px}\n'; } }); // src/modules/better-ui/userscript-styles/tsitu-qol.css var tsitu_qol_default; var init_tsitu_qol = __esm({ "src/modules/better-ui/userscript-styles/tsitu-qol.css"() { tsitu_qol_default = "#tsitu-hunter-id-nav-ui input{flex:none!important;width:75px!important;margin:3px;border:1px solid #000!important;border-radius:2px}#tsitu-hunter-id-nav-ui button{padding:2px!important;margin:3px 1px!important;background-color:#d8e3f1;border:1px solid #000!important;border-radius:3px!important}#tsitu-hunter-id-nav-ui{display:inline-flex!important;align-items:center;border:none}\n"; } }); // src/modules/better-ui/userscript-styles/tsitu-supply-search.css var tsitu_supply_search_default; var init_tsitu_supply_search = __esm({ "src/modules/better-ui/userscript-styles/tsitu-supply-search.css"() { tsitu_supply_search_default = "#tsitu-supply-search{position:absolute;top:-2px;right:0;display:flex;align-items:center;vertical-align:middle;border:none!important}#tsitu-supply-search label{display:none}#tsitu-supply-search button{height:20px;padding:0 10px;line-height:19px;color:#000;text-shadow:0 0 1px #fff;background-color:#fff600;border:1px solid #000;border-radius:5px;box-shadow:inset 0 0 5px #fff,1px 1px 1px #fff}#tsitu-supply-search input{padding:2px;margin-right:2px;font-size:12px!important}\n"; } }); // src/modules/better-ui/legacy-styles.css var legacy_styles_default; var init_legacy_styles = __esm({ "src/modules/better-ui/legacy-styles.css"() { legacy_styles_default = '.huntersHornView__timer.huntersHornView__timer.countdown:after{content:""}.mousehuntHud-userStat .icon{width:26px;height:26px;border:1px solid #c2b384;box-shadow:1px 1px 1px #7d6027}.mousehuntHud-userStat.bait:hover .value,.mousehuntHud-userStat.trinket:hover .value,.mousehuntHud-userStat.treasureMap:hover .value{margin:0}#mh-custom-icon-egg img{filter:none}\n'; } }); // src/modules/better-ui/styles/adventure.css var adventure_default; var init_adventure = __esm({ "src/modules/better-ui/styles/adventure.css"() { adventure_default = '.adventureBookBanner-container{padding-bottom:5px;margin-bottom:20px;overflow:hidden;line-height:16px;background-color:#fbf8f6;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #d3cecb}.adventureBookBanner-adventureName,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-adventureName{padding:15px 5px 0;margin-left:75px;overflow:hidden;font-size:13px;font-style:italic;font-weight:400;line-height:15px;color:#333;text-overflow:ellipsis;white-space:nowrap;background:transparent;border-radius:0}.mh-dark-mode .adventureBookBanner-container{color:#000;background-color:#999;border:1px solid #d3cecb;border-radius:3px;box-shadow:inset -1px 1px 3px #888}.adventureBookBanner-adventureName span{display:none}.adventureBookBanner-goalContainer{right:0;left:0;display:flex;align-items:flex-start;justify-content:space-between;background:none;box-shadow:none}.adventureBookPopup-adventureContainer.highlight{margin-right:5px;margin-bottom:10px;box-shadow:none}.adventureBookBanner-adventureImage{height:45px;background-image:none!important}.adventureBookBanner-goalPadding{margin-left:75px}.adventureBookBanner-goalImage{position:absolute;top:-25px;left:10px;width:60px;height:60px;border-radius:5px;box-shadow:none}.adventureBookBanner-goalName{width:auto;height:auto}.adventureBookBanner-goalEnvironment{display:inline}.adventureBookBanner-goalName-padding .adventureBookBanner-goalEnvironment:before{content:". "}.adventureBookBanner-moreInfo{position:absolute;right:5px;bottom:-6px;display:inline-block;width:auto;height:auto;padding:1px 1px 1px 10px;font-size:9px;color:#3b5998;background:none;box-shadow:none}.adventureBookBanner-completed b{font-size:10px}.adventureBookBanner-completed{top:0;bottom:20px;left:75px;background:none;box-shadow:none}.adventureBookBanner-completedCheckmark{top:-10px;background-color:#fff;box-shadow:0 0 10px #94ff65,0 0 10px #94ff65}.adventureBookBanner-goalName-padding{display:block;width:auto;height:auto}.adventureBookBanner-goalName-padding span{display:block}.adventureBookBanner-moreInfo:after{content:" \\2192"}.adventureBookBanner-container:hover .adventureBookBanner-moreInfo{color:#3b5998;text-decoration:underline;text-shadow:none;background:none;box-shadow:none}.adventureBookBanner-goalWrapper.multi_choice.spacer{min-width:30px}.adventureBookPopup-adventure-details-block.requirements .adventureBookPopup-adventure-details-block-step.incomplete{box-shadow:0 1px 2px 1px #5c1c1c}.adventureBookPopup-adventure-details-environment-image{width:40px;height:40px;margin-bottom:10px}.adventureBookBanner-complete .adventureBookBanner-adventureName{display:none}.adventureBookBanner-complete .adventureBookBanner-completedCheckmark{top:10px;width:30px;height:30px;background-color:transparent;box-shadow:none}.adventureBookBanner-complete .adventureBookBanner-completed{font-size:11px}.adventureBookBanner-complete .adventureBookBanner-completed b{margin-bottom:5px;font-size:13px}.adventureBookBanner-complete .adventureBookBanner-moreInfo{top:unset}a.adventureBookPopup-title{display:block;height:auto;margin-bottom:4px;margin-left:10px;text-align:right;background:#eee;border:1px solid #ccc;border-right:none;border-radius:10px 0 0 10px}.adventureBookPopup-title-margin{padding:3px 15px}img.adventureBookPopup-title-icon{left:5px;height:20px}.adventureBookPopup-title.complete .adventureBookPopup-title-status{top:3px;left:3px;width:20px;height:20px;padding:2px;background:url(https://www.mousehuntgame.com/images/ui/hud/meadow_checkmark.png) 0 0 no-repeat;background-color:#eeeeee7f;background-size:cover;border-radius:50px}.adventureBookPopup-title-name{padding-left:16px;margin:0}a.adventureBookPopup-title:hover{background:#dfdcdc}a.adventureBookPopup-title.active{margin-left:2px;color:#fff;background:#354661}.adventureBookPopup-title.active .adventureBookPopup-title-icon{top:6px;left:5px}.adventureBookPopup-titleDirectory{padding-top:5px;padding-bottom:5px;margin-top:-5px;margin-bottom:5px;border-right:1px solid #ccc}.adventureBookPopup-header-title{margin-bottom:5px}.adventureBookPopup-adventureContainer.canClaim .adventureBookPopup-adventure-footer{box-shadow:-120px 0 50px #6bff75 inset}.adventureBookPopup-adventureContainer.claimed .adventureBookPopup-adventure-footer-claim.adventureBookPopup-adventure-button{border:1px solid #158f00;box-shadow:none}.adventureBookPopup-adventureContainer{margin-right:5px;border-color:#ccc;border-radius:5px}.adventureBookPopup-adventure-header{padding:10px;background-color:#eee;border-radius:5px 5px 0 0}.adventureBookPopup-adventure-header-accordion{top:14px}.adventureBookPopup-adventureContainer.available .adventureBookPopup-adventure-favorite{top:6px}.adventureBookPopup-adventure-details-block-step.multi_choice{background-color:#ffc20a}.adventureBookPopup-adventure-details-block-step-checkmark{border:1px solid #ababab;box-shadow:none}.adventureBookPopup-adventure-details-block-goalGroup-container{border-color:#171717}.adventureBookPopup-adventure-footer-claim-reward abbr{text-decoration:none}.adventureBookPopup-adventure-details-powerTypeContainer{margin:10px 0}.claimed .adventureBookPopup-adventure-header{color:#fff;text-shadow:0 1px 1px #000;background:#62aa42}.adventureBookPopup-adventure-footer{border-radius:0 0 5px 5px}.highlight .adventureBookPopup-adventure-header,.highlight .adventureBookPopup-adventure-footer{background-color:#fff0c2}.adventureBookPopup-adventure-button.disabled{opacity:.6}.adventureBookPopup-adventure-header-duration{font-size:13px}\n'; } }); // src/modules/better-ui/styles/corkboard.css var corkboard_default; var init_corkboard = __esm({ "src/modules/better-ui/styles/corkboard.css"() { corkboard_default = '.treasureMapRootView .messageBoardView .messageBoardView-message-container-padding,.teamPage-messageBoard-corkboard .messageBoardView-message-container-padding,.PageHunterProfile .messageBoardView-message-container-padding{background:none}.treasureMapRootView .messageBoardView div.messageBoardView-message-container,.teamPage-messageBoard-corkboard div.messageBoardView-message-container,.hunterInfoView-wrapper div.messageBoardView-message-container{margin:0;background:#e9e1c6;border:1px solid #985f42;border-radius:10px;box-shadow:-1px 2px 1px #a59f8e}.teamPage-messageBoard-corkboard div.messageBoardView-message-container{background:#e2d6b5;border-color:#af9969;box-shadow:1px 1px 1px #e2d6b5 inset}.treasureMapRootView .messageBoardView div.messageBoardView-message-container,.teamPage-messageBoard-corkboard .messageBoardView-message-container{background:#eee;border-color:#ccc;border-radius:0;box-shadow:none}.mh-dark-mode .treasureMapRootView .messageBoardView div.messageBoardView-message-container,.mh-dark-mode .teamPage-messageBoard-corkboard .messageBoardView-message-container{background:#333;border-color:#0c0c0c}.treasureMapRootView .messageBoardView .messageBoardView-message,.teamPage-messageBoard-corkboard .messageBoardView-message,.hunterInfoView-corkBoardBlock .messageBoardView-message{background:#fff;border:1px solid #bea87b;border-radius:8px;box-shadow:none}.teamPage-messageBoard-corkboard .messageBoardView-message.new,.hunterInfoView-corkBoardBlock div.messageBoardView-message.new{border:1px solid #bea87b!important}.treasureMapRootView .messageBoardView div.messageBoardView-message.new{border:1px solid #ccc!important}.mh-dark-mode .treasureMapRootView .messageBoardView div.messageBoardView-message.new{background-color:#191919;border-color:#2c2c2c!important}.treasureMapRootView .messageBoardView input.messageBoardView-message-submit,.teamPage-messageBoard-corkboard input.messageBoardView-message-submit,.hunterInfoView-corkBoardBlock input.messageBoardView-message-submit{margin:6px 0}input.messageBoardView-message-submit,input.messageBoardView-message-submit[type=submit]{padding:2px 15px;line-height:18px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}input.messageBoardView-message-submit:hover,input.messageBoardView-message-submit[type=submit]:hover,input.messageBoardView-message-submit:focus,input.messageBoardView-message-submit[type=submit]:focus{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}.treasureMapRootView .messageBoardView .messageBoardView-message-description,.teamPage-messageBoard-corkboard .messageBoardView-message-description,.hunterInfoView-corkBoardBlock .messageBoardView-message-description{padding-top:12px}.treasureMapRootView .messageBoardView a.messageBoardView-message-image,.teamPage-messageBoard-corkboard a.messageBoardView-message-image,.hunterInfoView-corkBoardBlock a.messageBoardView-message-image{border:1px solid #ccc;box-shadow:none}.treasureMapRootView .messageBoardView a.messageBoardView-message-name,.teamPage-messageBoard-corkboard a.messageBoardView-message-name,.hunterInfoView-corkBoardBlock a.messageBoardView-message-name{display:block;padding-bottom:5px}.treasureMapRootView .messageBoardView .messageBoardView-message-submitted,.teamPage-messageBoard-corkboard .messageBoardView-message-submitted,.hunterInfoView-corkBoardBlock .messageBoardView-message-submitted{color:#767676}.treasureMapRootView .messageBoardView .messageBoardView-message-body,.teamPage-messageBoard-corkboard .messageBoardView-message-body,.hunterInfoView-corkBoardBlock .messageBoardView-message-body{font-size:11px;font-weight:400;line-height:16px;color:#454545}.treasureMapRootView .messageBoardView .messageBoardView-message:after,.teamPage-messageBoard-corkboard .messageBoardView-message:after,.hunterInfoView-corkBoardBlock .messageBoardView-message:after{display:none}.treasureMapRootView .messageBoardView .pagerView-section.previous .pagerView-link,.teamPage-messageBoard-corkboard .pagerView-section.previous .pagerView-link,.hunterInfoView-corkBoardBlock .pagerView-section.previous .pagerView-link{color:#525252}a.messageBoardView-message-image{background-position:center;background-size:cover}a.messageBoardView-message-delete{right:10px;color:transparent}a.messageBoardView-message-delete:after{font-size:16px;color:#e03a3a;content:"\\2715"}a.messageBoardView-message-delete:hover:after,a.messageBoardView-message-delete:focus:after{color:#b72929}.friendsProfileView-selfStats{padding-top:15px}.mh-dark-mode .pageFrameView .hunterInfoView-wrapper .hunterInfoView-left a.friendsProfileView-randomFriend,.mh-dark-mode .pageFrameView .hunterInfoView-wrapper .messageBoardView-title{color:#242424}.mh-dark-mode .treasureMapRootView .messageBoardView .messageBoardView-message-body,.mh-dark-mode .teamPage-messageBoard-corkboard .messageBoardView-message-body,.mh-dark-mode .hunterInfoView-corkBoardBlock .messageBoardView-message-body{color:#fff}.mh-dark-mode .treasureMapView .messageBoardView-message{background:#333}.mh-dark-mode .messageBoardView-message-submitted{color:#ccc}.mh-dark-mode.PageHunterProfile .pageFrameView .hunterInfoView-wrapper .hunterInfoView-left a.messageBoardView-message-delete{color:transparent}\n'; } }); // src/modules/better-ui/styles/daily-draw.css var daily_draw_default; var init_daily_draw = __esm({ "src/modules/better-ui/styles/daily-draw.css"() { daily_draw_default = '.dailydraw{display:grid;grid-template-columns:1fr 1fr;gap:10px;place-content:space-evenly center;place-items:stretch stretch;margin:0 auto}.drawPage-ballot{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;float:none;margin:0}.drawPage-ballot .entries{background-color:#ffe8aa;border-radius:10px}.ballotEntry{display:flex;flex-direction:column;align-items:center;float:none;padding:0;margin:0;background-color:#ffe8aa}.dailydraw div[style="clear: both; padding-top: 10px;"],.dailydraw div[style="clear: both; padding-top: 20px;"]{display:none}.ballotEntry .prizeHeader{width:100%;padding:0;margin:0}.dailydraw h2,.ballotEntry .prizeHeader h3{width:auto;padding:10px;margin:0;font-size:15px;font-weight:400;background-color:transparent}.recentWinners,.socialBallots,.drawPage-ballot,.ballotEntry{border:1px solid #fc6}.drawPage-ballot img{width:150px}.recentWinners .draw{display:flex;float:none;width:auto;padding:10px}.recentWinners .draw img{width:60px}.prizeContent{display:flex;align-items:center;padding:10px}.ballotEntry .prizeContent .prizeDesc{float:none;line-height:20px}.ballotEntry .entryForm span,.ballotEntry .entryForm br{display:none}form#ballotPurchaseForm{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;width:a}.ballotEntry .entryForm .confirmTotal{margin:10px}div#ballotPurchase input{padding:2px 15px;margin-left:5px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}div#ballotPurchase input:hover,div#ballotPurchase input:focus{background-color:#e4d50c}div#ballotConfirm input{height:25px;margin-left:10px!important}div#ballotConfirm{position:relative}div#ballotConfirm a{position:absolute;top:5px;right:-25px}div#ballotPurchase,div#ballotConfirm{width:110px;height:21px}.socialBallots p{padding:0 10px;line-height:16px}.recentWinners .draw:last-child{border-bottom:none}.PageDraw .flexibleDialogWarmBrown.shopDescription{height:25px;visibility:hidden}.flexibleDialogWarmBrown.shopDescription img{float:none}.flexibleDialogWarmBrown.shopDescription b{position:absolute;top:-40px;right:0;left:0;display:block;font-size:19px;color:#261900;text-align:center;text-shadow:0 1px 1px #fc6;visibility:visible}.recentWinners .draw .drawContent{display:flex;flex-direction:column;align-items:stretch;justify-content:space-around;float:none}.ballot_qty{text-align:center}div#ballotTotal:after{content:" gold"}div#ballotTotal.error:after{content:""}\n'; } }); // src/modules/better-ui/styles/events.css var events_default2; var init_events3 = __esm({ "src/modules/better-ui/styles/events.css"() { events_default2 = ".MiniEventGiveawayCampHUD-popup-content-prize-name span{font-size:11px}.MiniEventGiveawayCampHud-popup-recruit-info{padding:10px;color:#939393}\n"; } }); // src/modules/better-ui/styles/footer.css var footer_default; var init_footer = __esm({ "src/modules/better-ui/styles/footer.css"() { footer_default = '.pageFrameView-footer{position:relative;display:flex;flex-flow:row wrap;align-items:center;justify-content:flex-start;margin:-40px 55px 0 70px;line-height:17px}.pageFrameView-footer a img{width:auto;max-height:25px;margin:5px 10px 0 0;opacity:.2;transition:.2s ease-in}.pageFrameView-footer a:nth-child(4){margin-right:auto}.pageFrameView-footer a:nth-child(4) img{filter:sepia(1);opacity:.7}.pageFrameView-footer:hover a img,.pageFrameView-footer:hover a:nth-child(4) img{filter:none;opacity:1}.pageFrameView-footer-linksContainer{display:block;width:auto;margin-right:auto;font-weight:900}.pageFrameView-footer br{display:none}.pageFrameView-footer-ad{position:absolute;right:-40px;bottom:-160px;left:-60px}.mousehuntFooter{position:relative;margin-top:0;border-top:none}.pageFrameView-content{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.mousehuntFooter-image{display:flex;flex-direction:row-reverse;color:transparent;background:url(https://i.mouse.rip/footer.png?1) no-repeat top center;border-top:none;border-bottom:none;border-radius:5px}.mousehuntFooter-image:before{position:absolute;top:0;right:0;left:0;width:100%;height:44px;content:"";box-shadow:inset 0 -4px 7px -6px #755e40}.mousehuntFooter-toggleMobile{position:absolute;display:flex;align-items:center;width:0;height:0;color:transparent;opacity:.4;transition:.3s;transform-origin:center}.mousehuntFooter-toggleMobile:hover{opacity:1}.mousehuntFooter-toggleMobile:after{position:absolute;inset:-15px 0 0 -30px;display:block;width:28px;height:28px;padding:8px;margin:0;font-size:11px;font-weight:100;line-height:10px;color:#000;text-align:center;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/camp.png);filter:grayscale(1);background-repeat:no-repeat;background-position:center;background-size:50%}\n'; } }); // src/modules/better-ui/styles/friends.css var friends_default2; var init_friends2 = __esm({ "src/modules/better-ui/styles/friends.css"() { friends_default2 = ".sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer .userInteractionButtonsView-button-buttonOption-name{padding:3px 3px 8px;margin:-3px;font-size:10px;line-height:11px}.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer .userInteractionButtonsView-button-buttonOption-image{padding-top:2px;margin-top:2px}.sendMapInvite .mousehuntTooltip.top.tight.hasBuffer{font-size:11px}.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer .userInteractionButtonsView-button-buttonOption:before{background:none}.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer:hover .userInteractionButtonsView-button-buttonOption:hover .userInteractionButtonsView-button-buttonOption-image,.sendMapInvite .userInteractionButtonsView-button-buttonOptionContainer:hover .userInteractionButtonsView-button-buttonOption:hover .userInteractionButtonsView-button-buttonOption-name{background-color:#eaf6ea}.friendsPage-community-channel.friends-page-id-search{display:flex;align-items:center;justify-content:space-between;background-color:#dcf7ff;border:1px solid #a1a1a1;box-shadow:0 1px 2px -1px #b5b5b5}.friends-page-id-search .friendsPage-community-channel-text{display:none}.friends-page-id-search .friendsPage-community-channel-action{position:relative;right:0;margin:0}.friends-page-id-search input.friendsPage-community-hunterIdForm-input{width:175px;padding:5px;border:1px solid #767676}.friends-page-id-search .friendsPage-community-channel-hunterId{display:none}.friends-page-id-search label{padding:0}.friends-page-id-search form.friendsPage-community-hunterIdForm{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}.friendsPage-friendRow-stat-label{display:none}.friendsPage-friendRow-stat.online .friendsPage-friendRow-stat-label{display:inline-block}.friendsPage-friendRow-stat.map span{width:180px}.friendsPage-friendRow-stat.points,.friendsPage-friendRow-stat.gold{width:16%}.friendsPage-friendRow-stat.map{width:28%}\n"; } }); // src/modules/better-ui/styles/general.css var general_default4; var init_general4 = __esm({ "src/modules/better-ui/styles/general.css"() { general_default4 = '#mousehuntContainer.PageCamp{background:url(https://i.mouse.rip/bg-wood.png);box-shadow:inset 0 0 8px #755e40}.campPage-trap-friendList.full,.campPage-trap-itemStats,.campPage-trap-trapEffectiveness,.campPage-trap-armedItem,.campPage-trap-armedItem.bait.active,.campPage-trap-armedItem.bait,.campPage-trap-armedItem.skin,.campPage-trap-armedItem.mh-favorite-setups-button{border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.campPage-trap-itemStats{background-color:transparent}.campPage-trap-armedItem.bait.active{box-shadow:-1px -1px 1px #d3cecb inset}.campPage-trap-armedItem:hover,.campPage-trap-armedItem:focus,.campPage-trap-armedItem.inactive:hover,.campPage-trap-armedItem.inactive:focus,.campPage-trap-armedItem.active:hover,.campPage-trap-armedItem.active:focus{background-color:#e9e6df}.campPage-trap-armedItem.active,.campPage-trap-armedItem.skin.active{top:0}.mh-favorite-setups-button.campPage-trap-armedItem.active,.campPage-trap-armedItem.active{background-color:#e9e6df}.campPage-trap-friendList.full{background-color:#fbf8f6}.campPage-trap-armedItem.weapon .campPage-trap-armedItem-image,.campPage-trap-armedItem.base .campPage-trap-armedItem-image{background-position:-1px -1px;background-size:72px}span.campPage-trap-baitQuantity{right:-1px;bottom:-1px;border-color:#d3cecb;border-right:none;border-bottom:none}.span.campPage-trap-baitQuantity,.campPage-trap-armedItem .quantity span{border-bottom-right-radius:0}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent{padding:0;background:none;border:none;box-shadow:none}.mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent-margin{padding:0;border:none;box-shadow:none}.mousehuntHud-page-subTabContent-prefix-filter-options{border:1px solid #8595b0;border-radius:10px}.active.mousehuntHud-page-subTabContent-prefix-filter-option:first-child{border-top-left-radius:7px;border-bottom-left-radius:7px}.active.mousehuntHud-page-subTabContent-prefix-filter-option:last-child{border-top-right-radius:7px;border-bottom-right-radius:7px}a.mousehuntHud-page-subTabContent-prefix-filter-option{border:1px solid #8595b0;border-top:none;border-bottom:none}.mousehuntHud-page-subTabContent-prefix-filter-option:first-child,.mousehuntHud-page-subTabContent-prefix-filter-option:last-child{border:none}.mousehuntHud-page-subTabHeader.active span,.mousehuntHud-page-subTabHeader:hover span,.mousehuntHud-page-subTabHeader:focus span{color:#fff;background-color:#8595b0;box-shadow:none}.mousehuntHud-page-subTabHeader span{color:#3b5998;background:none;border-color:#3b5998}.mousehuntHud-page-subTabHeader-prefix,.mousehuntHud-page-subTabContent-prefix-filter span:first-child{display:none}.mousehuntHud-page-subTabHeader-container{text-align:center}.mousehuntHud-page-subTabContent-prefix.clear-block{margin-left:30px}.mouseCrownsView-group-mice.favourites>.empty~.empty{display:none}.scoreboardTableView-availableScoreboards{width:180px}.giftSelectorView-content-subtitle{padding:10px 0}.teamPage-memberRow-identity .teamPage-member-nameContainer{width:auto}.mousehuntArmNowButton.active{filter:hue-rotate(104deg)}.mousehuntArmNowButton.active:hover{filter:hue-rotate(104deg) brightness(1.2)}.mousehuntArmNowButton{filter:brightness(1)}.mousehuntArmNowButton:hover{filter:brightness(1.2)}.mousehuntHeaderView a.superBrie .quantity{font-weight:600}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready{transition:all .2s;transform-origin:left;will-change:transform}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready:hover{transform:scale(1.1) rotate(-1deg)}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready .huntersHornView__hornBannerImage{transition:all .6s}a.huntersHornView__horn.huntersHornView__horn--default.huntersHornView__horn--ready:hover .huntersHornView__hornBannerImage{filter:saturate(1.8)}.huntersHornView__hornImage{filter:drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff) drop-shadow(1px 4px 3px #6b6b6b)}.mousehuntHud-menu ul li ul li a .icon{top:5px;left:2px;width:22px;height:22px}.MiniEventRonzaChromeBitCampHUD-completeQuantity.MiniEventRonzaChromeBitCampHUD-chromeBitQuantity{padding:2px 3px;font-size:13px}.trapImageView-layer.limitedEdition{top:unset;bottom:-270px;left:-135px;background-size:200px}.trapImageView-layer.limitedEdition,.trapImageView-trapAura,.trapImageView-trapAura.active,.trapImageView-trapAura.inactive,.trapImageView-zoomButton,.min-luck-button{visibility:hidden;opacity:0;transition:opacity .2s ease-in-out}.trapImageView:hover .trapImageView-layer.limitedEdition,.trapImageView:hover .trapImageView-trapAura,.trapImageView:hover .trapImageView-trapAura.active,.trapImageView:hover .trapImageView-trapAura.inactive,.trapImageView:hover .trapImageView-zoomButton,.trapImageView:hover .min-luck-button{visibility:visible;opacity:1}.trapImageView .trapImageView-trapAura{z-index:1;transition:.4s}.trapImageView .trapImageView-trapAura:hover{z-index:2;transform:scale(1.25)}.trapImageView-trapAura.active.expiring-soon{visibility:visible;border-radius:50%;box-shadow:inset 0 0 10px 1px #ff4d4d;opacity:1}a.trapImageView-zoomButton{border:1px solid #d3cecb;border-radius:50%}.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.catches,.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.misses{width:12%}.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.name{width:36%}.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.average_weight,.mousehuntHud-page-subTabContent.group .header .mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch{width:20%}.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.catches,.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.misses{width:13%}.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.average_weight,.mousehuntHud-page-subTabContent.location .header .mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch{width:15%;text-align:center}.hunterInfoView-idCardTooltipBox-content{min-width:80px;text-align:center}.journalThemeSelectorView-preview{min-height:600px}a.inventoryPage-tagDirectory-tag{border:1px solid #ccc;border-right:none}.inventoryPage-tagDirectory-tag:hover{color:#3b5998;background-color:#dfdcdc;box-shadow:0 0 1px #354661}.claimGiftPage{margin-top:0}.notificationMessageList .message img.profilePic{width:30px;height:30px}#OnboardArrow.onboardPopup.celebrationPopup .firstCatch .introPopupImage img{margin-top:0}#OnboardArrow.onboardPopup.celebrationPopup .firstCatch .content{padding-top:30px}#OnboardArrow.onboardPopup.celebrationPopup .introPopupContent .clear-block img{float:none;margin-top:-10px;margin-left:-10px}#OnboardArrow.onboardPopup.celebrationPopup .closeButton{background:url(https://www.mousehuntgame.com/images/ui/buttons/continue.png) 0 0 no-repeat}@media only screen and (max-width: 1000px){body.hasSidebar .pageFrameView-column{background-color:#bad4ed!important}}.campPage-trap-blueprintContainer{border-color:#315871;border-width:1px;box-shadow:none}.campPage-trap-itemBrowser-item-description.shortDescription{margin-top:5px}.campPage-trap-itemBrowser-item-image:after{border-color:#ccc;box-shadow:2px 2px 3px -1px #cdc9c6 inset}.campPage-trap-itemBrowser-item{overflow:hidden}.itemView-action-convertForm{font-size:13px}input.itemView-action-convert-quantity{padding:2px 5px;text-align:left}.menuItem.myProfile{display:none}.mousehuntHeaderView .menuItem.freeGifts,.mousehuntHeaderView-gameTabs.small .menuItem.freeGifts{padding-right:12px;padding-left:12px}.mousehuntHeaderView a.superBrie .getMore{top:4px}.mousehuntPage-loading{position:absolute;right:0;left:0;z-index:51;box-shadow:2px 2px 10px #999,-1px -1px 1px #ccc inset,0 0 25px 25px #ffffff7f}.mousehuntPage-content.hidden{display:block;margin-top:35px}.journalThemeSelectorView-preview .journalThemeSelectorView-preview-details{display:none}.journalThemeSelectorView-preview .journal>.content{padding:5px 10px!important}.mousehuntHud-page-subTabContent.trinket .mousehuntHud-page-subTabContent-prefix{display:none}.mousehuntHud-userStat-row{line-height:14px}.newsPostBody .flexCenter{justify-content:space-evenly}.newsPostBody #news-post-responsive .flexCenter img{max-width:100px;transition:.2s ease-in}.newsPostBody #news-post-responsive .flexCenter img.huge{max-width:100%}.newsPostBody #news-post-responsive img.huge:hover,.newsPostBody #news-post-responsive img[style*="width:100%"]:hover{transform:none}.newsPostBody #news-post-responsive img{transition:.2s ease-in}.newsPostBody #news-post-responsive img:hover{transform:rotate(4deg) scale(1.1)}#overlayPopup{animation:MHCheckoutDialogView-frameReveal .2s ease-out}@media (prefers-reduced-motion: reduce){#overlayPopup{animation:none}}.mousehuntHeaderView .dropdownContent a{background-position-x:8px}.tsitu-maptem .notification{left:0!important}.tsitu-maptem .notification[title="No uncaught map mice with this setup (according to TEM)"]{display:none}.campPage-trap-itemBrowser-armed-itemContainer.empty .campPage-trap-itemBrowser-item-subtitle{color:#671d1d}.mh-dark-mode .campPage-trap-itemBrowser-item.largeQuantity .campPage-trap-itemBrowser-item-quantity .quantity{background-color:#333}.mh-dark-mode .campPage-trap-itemBrowser-item-image:after{border-color:#000;box-shadow:2px 2px 3px -1px #000 inset}.travelPage-map-pieces-detail-title{padding:5px 10px}.mouseListView-categoryContent-category{padding-right:5px}.mousehuntHud-menu-item.root{height:25px}.mousehuntHud-gameInfo{border:1px solid #ccc;border-top:none}.mousehuntHeaderView-gameTabs{border-bottom:1px solid #ccc}.huntersHornView{border-right:1px solid #ccc}.mousehuntHeaderView .menuItem.first{border-left:none}.mousehuntHeaderView .menuItem{border-color:#ccc}.mousehuntHud-menu{box-shadow:0 10px 0 -8px #bfac91}.menuItem.superBrie{border-right:1px solid #ccc}.inventoryPage-confirmPopup-itemRow.small{min-height:35px}\n'; } }); // src/modules/better-ui/styles/gifts.css var gifts_default; var init_gifts = __esm({ "src/modules/better-ui/styles/gifts.css"() { gifts_default = ".giftSelectorView-friendRow-returnImage{width:40px;height:40px;margin-top:-10px;margin-right:10px;background-color:transparent;background-size:cover;border:none;outline:none;box-shadow:none}.giftSelectorView-friendRow-action.disabled .giftSelectorView-friendRow-returnImage{box-shadow:none}.giftSelectorView-content-title{padding-bottom:5px 0}.giftSelectorView-claimWarning{padding:10px}#overlayPopup.dailyRewardPopup .todaysRewards .reward{width:100px;font-size:13px;transition:all .25s ease-in-out}.dailyRewardPopup .todaysRewards .reward img{width:100%;height:100%}.dailyRewardPopup .todaysRewards .reward .quantity{display:none}.dailyRewardPopup .progress .chest .image{transition:.2s ease-in}#overlayPopup.dailyRewardPopup .todaysRewards .reward:hover{margin-top:-15px;margin-bottom:15px;transform:scale(1.2)}.dailyRewardPopup .progress .chest:hover .image{transform:scale(1.1);transform-origin:bottom}.dailyRewardPopup .chest.active .image{filter:drop-shadow(0 3px 3px #faae4c)}.dailyRewardPopup h2:last-of-type{padding-top:0;margin-top:-15px}#overlayPopup.dailyRewardPopup .todaysRewards.day_1{padding-left:190px;background-image:url(https://i.mouse.rip/popup_todays_reward_day1_chest.png)}#overlayPopup.dailyRewardPopup .todaysRewards.day_2{background-image:url(https://i.mouse.rip/popup_todays_reward_day2_chest.png)}#overlayPopup.dailyRewardPopup .todaysRewards.day_5{background-image:url(https://i.mouse.rip/popup_todays_reward_day5_chest.png);background-size:222px 221px}#overlayPopup.dailyRewardPopup .progress .chest_1.open .image{background-image:url(https://i.mouse.rip/popup_todays_reward_day1_chest.png);background-size:cover}#overlayPopup.dailyRewardPopup .progress .chest_2.open .image{margin-left:-10px;background-image:url(https://i.mouse.rip/popup_todays_reward_day2_chest.png);background-size:cover}#overlayPopup.dailyRewardPopup .closed .status{filter:opacity(.5)}\n"; } }); // src/modules/better-ui/styles/hud.css var hud_default2; var init_hud2 = __esm({ "src/modules/better-ui/styles/hud.css"() { hud_default2 = ".mousehuntHud-userStat.bait:hover .label,.mousehuntHud-userStat.trinket:hover .label,.mousehuntHud-userStat.treasureMap:hover .label{position:absolute;top:7px;z-index:11;width:auto;padding:3px 10px 2px 0;background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/hud_bg_blue_repeating.png);border-radius:5px;mix-blend-mode:luminosity}.mousehuntHud-userStat.treasureMap:hover .label{padding-right:3px}.mousehuntHud-userStat.bait:hover .value,.mousehuntHud-userStat.trinket:hover .value,.mousehuntHud-userStat.treasureMap:hover .value{margin-top:14px}.mousehuntHud-environmentName{width:auto;overflow:visible;text-shadow:2px 2px 2px #d6c8a2,-2px -2px 2px #d6c8a2,2px -2px 2px #d6c8a2,-2px 2px 2px #d6c8a2,2px 0 2px #d6c8a2,0 2px 2px #d6c8a2,-2px 0 2px #d6c8a2,0 -2px 2px #d6c8a2;filter:drop-shadow(0 1px 1px #d6c8a2) drop-shadow(0 2px 1px #d6c8a2) drop-shadow(-1px 4px 1px #d6c8a2)}.mousehuntHud-userStatBar .profileImage{box-shadow:0 2px 2px 1px #0e2c4f}.mousehuntHud-userStat.title .shield{width:19px;height:19px;margin-top:-4px}.mousehuntHud-userStat .title-container span.label{position:absolute;top:2px;left:25px;overflow:visible}.mousehuntHud-userStat .title-container span.label.hud_title{overflow:hidden}.mousehuntHud-userStat .title-container{position:relative;min-height:15px}.mousehuntHud-titleProgressBar .dot,.mousehuntHud-titleProgressBar .wrapper .bar{opacity:.8;transition:all .4s ease-out}.mousehuntHud-userStat.title:hover .mousehuntHud-titleProgressBar .dot,.mousehuntHud-userStat.title:hover .mousehuntHud-titleProgressBar .wrapper .bar{opacity:1}.mousehuntHud-userStat.empty .icon{box-shadow:none}.mousehuntHud-userStat .miceWarning{top:-1px;left:11px;width:21px;height:21px;background:url(https://i.mouse.rip/map-marker.png) 0 -26px no-repeat;background-size:21px;box-shadow:none}.mousehuntHud-userStat .corkboardUpdate{top:-4px;left:-13px;width:35px;height:27px;background-size:26px}\n"; } }); // src/modules/better-ui/styles/inbox.css var inbox_default; var init_inbox = __esm({ "src/modules/better-ui/styles/inbox.css"() { inbox_default = '.notificationMessageList .message{padding:5px 10px;border-left:1px solid #c8c8c8}.notificationMessageList .message .clear-block{padding-top:5px}.notificationMessageList .message.ballot .clear-block{display:flex;flex-direction:row;align-items:center;order:5}.notificationMessageList .message.ballot img.item{height:25px;margin:-5px 5px 0 -5px}.notificationMessageList .message.ballot .date{flex-grow:1;order:2;font-size:9px;text-align:right;white-space:nowrap}.notificationMessageList .message.ballot.new .date{font-size:8px}.notificationMessageList .message.friend_invite_pending .clear-block,.notificationMessageList .message.friend_invite_accepted .clear-block{display:flex;align-items:center}.notificationMessageList .message .messageText{padding:5px 0}.message.notification.ballot,.message.notification.ballot.new{display:flex;flex-direction:row-reverse;align-items:center;justify-content:space-between;padding:10px 10px 10px 20px}.message.notification .actions.ballot{float:none}.notificationMessageList .message .actions.friendRequest,.notificationMessageList .message .actions.friendRequestAccepted{margin-top:15px}#messengerUINotification .tabs{display:flex;flex-direction:column}#messengerUINotification .tabs a[data-tab=general]{order:-500}#messengerUINotification .tabs a[data-tab=daily_draw]{order:-400}#messengerUINotification .tabs a[data-tab=friend_requests]{order:-300}#messengerUINotification .tabs a[data-tab=marketplace]{order:-200}#messengerUINotification .tabs a[data-tab=news]{order:-100}#messengerUINotification .notificationMessageList .tab{background-color:#f9f9f9}.mh-dark-mode #messengerUINotification .notificationMessageList .tab{background-color:#242424}div#messengerUINotification{background-color:#f9f9f9!important}#messengerUINotification .tabs a:hover{background-color:#eee}#messengerUINotification .tabs a .counter{background-color:#e33f3f;box-shadow:inset 0 0 5px 1px #a90000}#messengerUINotification .messengerUINotificationClose{top:-14px;right:-12px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:25px;height:25px;padding:5px;font-size:14px;line-height:unset;color:#e03a3a;text-align:center;border-color:#d1d0cf;box-shadow:1px 2px 6px -4px #3e3e3e}#messengerUINotification .messengerUINotificationClose:hover{color:#fff;background-color:#e03a3a}.journal.jsingle .close{float:none;padding:0;margin:0;background-color:transparent;border:none}.journal.jsingle .close a:after{position:absolute;top:5px;right:5px;z-index:15;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:25px;height:25px;padding:5px;font-size:14px;font-weight:700;line-height:unset;color:#e03a3a;text-align:center;content:"\\2715";background:#fff;border:1px solid #ccc;border-color:#d1d0cf;border-radius:20px}.giftSelectorView-inboxHeader-closeButton{position:absolute;top:3px;right:5px;z-index:15;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:23px;height:23px;padding:5px;font-size:12px;font-weight:700;line-height:unset;color:#e03a3a;text-align:center;content:"\\2715";background:#fff;border:1px solid #d1d0cf;border-color:#d1d0cf;border-radius:20px;box-shadow:inset 0 0 3px -1px #d1d0cf}.journal.jsingle .close a{display:block;width:0;height:0;color:transparent}.giftSelectorView-inboxHeader-closeButton:hover,.giftSelectorView-inboxHeader-closeButton:focus,.journal.jsingle .close a:hover:after,.journal.jsingle .close a:focus:after{color:#fff;background-color:#e03a3a}#messengerUINotification .notificationMessageList .tab[data-tab=marketplace] .message .clear-block{order:1}#messengerUINotification .notificationMessageList .tab[data-tab=marketplace] .message .date{order:3;margin-left:0}.notificationMessageList .message.marketplace .actions{transform:translateY(10px)}.notificationMessageList .message .date{margin:5px 0}#messengerUINotification .tabs a{display:flex;align-items:center;height:15px;border-right:1px solid #dcdedd}#messengerUINotification .notificationMessageList{box-sizing:border-box;width:calc(100% - 150px);border-left-width:0}.notificationMessageList .message .actions.newsPost input[type=button]{padding:5px 10px;border:none;outline:1px solid #000;box-shadow:0 -5px 8px -2px #ffae00 inset}.notificationMessageList .news.message a{display:inline-block;margin-bottom:10px;font-size:14px}.notificationMessageList .news.message .messageText{display:block;padding:0;font-size:12px}.notificationMessageList .tab[data-tab=news] .message{background-color:#fdf5bf}.notificationMessageList .tab[data-tab=news] .message:hover input[type=button]{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}#messengerUINotification .bumper{display:none}#messengerUINotification{box-shadow:0 3px 6px -3px #3e3e3e}\n'; } }); // src/modules/better-ui/styles/legacy.css var legacy_default; var init_legacy = __esm({ "src/modules/better-ui/styles/legacy.css"() { legacy_default = ".headsup .mousehuntHud-userStat.bait:hover .label,.headsup .mousehuntHud-userStat.trinket:hover .label,.headsup .mousehuntHud-userStat.treasureMap:hover .label{position:relative;top:unset;right:unset;left:unset;width:unset;padding:0;background:none;mix-blend-mode:normal}.headsup .mousehuntHud-userStat.treasureMap:hover .label{padding-top:3px}.headsup .mousehuntHud-userStat.bait:hover .label{width:83px}.headsup .mousehuntHud-userStat:hover .icon{border-color:#ccc;box-shadow:0 0 3px #ffde00}\n"; } }); // src/modules/better-ui/styles/login.css var login_default; var init_login = __esm({ "src/modules/better-ui/styles/login.css"() { login_default = ".loginPageContainer .loginFormContainer .scrollContainer .scrollingContainer .backButton{position:absolute;top:145px;left:30px;filter:hue-rotate(321deg)}.PageLogin .loginPageContainer .loginFormContainer .scrollContainer .scrollingContainer{position:relative}.PageLogin .pageFrameView-column.left,.PageLogin .pageFrameView-column.right{margin-bottom:0}.loginPageContainer .loginFormContainer .scrollContainer .scrollingContainer .fb-login-button div{margin-top:10px;margin-left:50px}\n"; } }); // src/modules/better-ui/styles/maintence.css var maintence_default; var init_maintence = __esm({ "src/modules/better-ui/styles/maintence.css"() { maintence_default = '.maintenance-banner{margin-bottom:20px;line-height:20px;background-color:#f5f3eb!important;border-color:#ceb7a6!important;box-shadow:-1px -1px 1px #d3cecb inset}.maintenance-banner .close{position:absolute;top:-5px;right:5px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:23px;height:23px;padding:5px;font-size:12px;font-weight:700;line-height:unset;color:#e03a3a;text-align:center;content:"";background:#fff;border:1px solid #d1d0cf;border-color:#d1d0cf;border-radius:20px;box-shadow:inset 0 0 3px -1px #d1d0cf}.maintenance-banner .close:hover{color:#fff;background-color:#e03a3a}\n'; } }); // src/modules/better-ui/styles/mobile-camp.css var mobile_camp_default; var init_mobile_camp = __esm({ "src/modules/better-ui/styles/mobile-camp.css"() { mobile_camp_default = '.mobile.MobilePageCamp #mobileHorn img{display:none}.mobile.MobilePageCamp #mobileHorn{position:relative;display:block;width:237px;height:57px;margin:10px auto;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hunters_horn/horn_background.png);background-repeat:no-repeat;background-position:0 0;transition:all .2s}.mobile.MobilePageCamp #mobileHorn:after{position:absolute;inset:0;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hunters_horn/horn_foreground.png);background-repeat:no-repeat;background-position:0 0}.mobile.MobilePageCamp #mobileHorn:before{position:absolute;top:20px;left:78px;z-index:1;width:101px;height:41px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hunters_horn/banner.png)}body.mobile.MobilePageCamp #mobileHorn:hover,body.mobile.MobilePageCamp #mobileHorn:active{transform:scale(1.1) rotate(-1deg)}body.mobile.MobilePageCamp .mobileHeader img{display:none}body.mobile.MobilePageCamp div[data-role=header]:after{position:absolute;top:15px;left:15px;width:85px;height:85px;content:"";background:url(https://www.mousehuntgame.com/images/ui/elements/golden_shield_page_shield_disabled_320.png) no-repeat;background-position:right;background-size:cover;opacity:.3;transform:scaleX(-1)}body.mobile.MobilePageCamp .headerText>div:first-child{font-size:17px}body.mobile.MobilePageCamp .pageFrameView,body.mobile.MobilePageCamp.noSidebar .pageFrameView{grid-template-columns:[first] auto [content-start] 485px [content-end] auto [last]}body.mobile.MobilePageCamp .pageFrameView-column.right,body.mobile.MobilePageCamp .pageFrameView-column.left{border-width:5px}div#mobileCountdown{margin:10px;font-size:15px}div#mobileJournal{margin-top:10px}\n'; } }); // src/modules/better-ui/styles/overlays.css var overlays_default; var init_overlays = __esm({ "src/modules/better-ui/styles/overlays.css"() { overlays_default = '#overlayPopup .imgArray{overflow:visible}#overlayPopup .button,.notificationMessageList .message .actions input[type=button],.notificationMessageList .message .actions input[value="View Profile"],.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest{padding:2px 15px;line-height:18px;color:#000;text-shadow:0 0 1px #fff;background-color:#f4e830;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #ffae00 inset,1px 1px 1px #eee}#overlayPopup .button:hover,#overlayPopup .button:focus,.notificationMessageList .message .actions input[type=button]:hover,.notificationMessageList .message .actions input[type=button]:focus,.notificationMessageList .message .actions input[value="View Profile"]:hover,.notificationMessageList .message .actions input[value="View Profile"]:focus,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest:hover,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest:focus{background-color:#e4d50c}#overlayPopup .button:hover,#overlayPopup .button:focus,.notificationMessageList .message .actions input[type=button]:hover,.notificationMessageList .message .actions input[type=button]:focus,.notificationMessageList .message .actions input[value="View Profile"]:hover,.notificationMessageList .message .actions input[value="View Profile"]:focus,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest:hover,.notificationMessageList .message .actions input[value="View Profile"].ignoreRequest:focus{background-color:#fff600;box-shadow:inset 0 0 16px 2px #fffaab}.notificationMessageList .message .actions input[type=button]{padding:1px 10px;font-size:12px;line-height:14px}.notificationMessageList .tab[data-tab=news] .message{line-height:18px}.notificationMessageList .tab[data-tab=news] .message .actions.newsPost{padding:2px 15px;transform:translateY(65%)}.notificationMessageList .tab[data-tab=news] .message .date{margin-left:0}.notificationMessageList .message .actions input[type=button].delete{margin:0 2px}.notificationMessageList .message .actions.friendRequestAccepted input[type=button].delete{padding:4px;margin-left:4px}.message.notification .actions.ballot{display:flex;gap:3px;float:none}.notificationMessageList .message input[type=button].delete,.notificationMessageList .message .actions input[type=button].ignoreRequest{padding:1px 10px;color:#000;text-shadow:0 0 1px #fff;background-color:#ffa5a5;border:1px solid #000;border-radius:4px;box-shadow:0 -5px 8px -2px #f27b6a inset,1px 1px 1px #eee}.notificationMessageList .message .actions input[type=button].delete:hover,.notificationMessageList .message .actions input[type=button].delete:focus,.notificationMessageList .message .actions input[type=button].ignoreRequest:hover,.notificationMessageList .message .actions input[type=button].ignoreRequest:focus{background-color:#f48686}.mouseView-categoryContent-subgroup-mouse-weaknesses-label{border-color:#33333357}#messengerUINotification .notificationMessageList .tab{max-height:50vh;overflow:auto}#overlayPopup .jsDialogContainer a.shopsPage-kingsCalibratorPromo-button{margin-top:20px;margin-left:10px}#overlayPopup .jsDialogContainer .content .itemImage[style="background-image:url(https://www.mousehuntgame.com/images/items/message_items/c6fa46d329c1c7436acad084773c05c6.jpg);"]{margin-right:10px}.kingsGiveawayCalibratorPopup-upgradeContainer{display:flex;flex-wrap:wrap;justify-content:center;margin:0 6px;box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade.unlocked{background-color:#c8d2f2}.kingsGiveawayCalibratorPopup-tabHeaderContainer{margin:0 1px}.kingsGiveawayCalibratorPopup-tabHeader span{box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade-day-name{padding-bottom:10px;margin-top:10px;font-size:14px;border-bottom:1px solid #ccc}.kingsGiveawayCalibratorPopup-upgrade-day-itemContainer:after{box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade-day-item .itemImage{width:100px;height:100px;background-size:cover}.kingsGiveawayCalibratorPopup-upgrade-day-item-name{width:100%;margin-top:7px;font-size:13px;text-align:center}.kingsGiveawayCalibratorPopup-numCreditsContainer{position:absolute;top:30px;right:50px;float:none;margin-right:-10px;margin-left:10px;visibility:visible}.kingsGiveawayCalibratorPopup-numCredits{padding:7px}.kingsGiveawayCalibratorPopup-header{position:absolute;top:0;right:0;display:inline;visibility:hidden}span.kingsGiveawayCalibratorPopup-upgrade-action-cost{font-size:14px;vertical-align:middle}.kingsGiveawayCalibratorPopup-upgrade-action-kingsCredits{width:21px;height:21px;margin:0 4px;background-color:#fff;background-position:center;background-size:18px;box-shadow:none;opacity:.9}.kingsGiveawayCalibratorPopup-upgrade.locked .kingsGiveawayCalibratorPopup-upgrade-action.locked{display:flex;justify-content:space-evenly}.kingsGiveawayCalibratorPopup-upgrade.active{background-color:#a6d392;border:1px solid #55913b}.kingsGiveawayCalibratorPopup-upgrade.active .kingsGiveawayCalibratorPopup-upgrade-actionContainer{border-top:1px solid #55913b}.kingsGiveawayCalibratorPopup-upgrade-image{height:85px}.kingsGiveawayCalibratorPopup-upgrade.locked .kingsGiveawayCalibratorPopup-upgrade-image{filter:saturate(.3);opacity:.6}.kingsGiveawayCalibratorPopup-upgrade:hover .kingsGiveawayCalibratorPopup-upgrade-image{filter:none;opacity:1}.kingsGiveawayCalibratorPopup-upgrade{box-sizing:border-box;border:1px solid #ccc;box-shadow:none}.kingsGiveawayCalibratorPopup-upgrade-name{display:block;width:auto;margin:5px 0;text-align:center}.kingsGiveawayCalibratorPopup-upgrade-name span{display:inline-block;font-size:12px}.upgrade_gifts .kingsGiveawayCalibratorPopup-upgrade-description{font-size:14px}#messengerUINotification .tabs a.active .arrow{right:-19px}#messengerUINotification .tabs a.active .arrowShadow{right:-20px}\n'; } }); // src/modules/better-ui/styles/profile.css var profile_default; var init_profile = __esm({ "src/modules/better-ui/styles/profile.css"() { profile_default = ".PageHunterProfile .campPage-trap-trapStat.power .icon{display:none}.PageHunterProfile .campPage-trap-trapStat.cheese_effect .value span{width:10px;font-size:11px}.hunterInfoView-wrapper .messageBoardView-title{height:30px;margin-bottom:-1px;font-size:14px;font-weight:700;line-height:30px;color:#772b0a;text-align:center;background:linear-gradient(#fff9dc 45%,#f1dc8a 55%);border:1px solid #985f42;border-bottom:1px solid #e9be6c;border-radius:10px 10px 0 0;box-shadow:-1px 2px 1px #a59f8e}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader{height:33px;margin-top:1px;margin-bottom:2px;font-size:14px;font-weight:700;line-height:30px;color:#ab755d;text-align:center;background:linear-gradient(#f6f3e2 45%,#fdf3cb 55%);border:1px solid #985f42;border-bottom:none;border-radius:10px 10px 0 0;box-shadow:-1px 1px 1px #a59f8e}.hunterInfoView-wrapper div.messageBoardView-message-container{border-bottom:0;border-top-left-radius:0;border-top-right-radius:0}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader span{margin:0;line-height:23px;background:none;border:none;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:before{background:none;box-shadow:none}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:first-child{margin-right:5px;margin-left:-10px}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:last-child{margin-right:-10px;margin-left:5px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContentContainer{min-height:68px;background:#e9e1c6;border:1px solid #985f42;border-top-color:#e9be6c;border-radius:0 0 10px 10px;box-shadow:-1px 2px 1px #a59f8e}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader.active{color:#772b0a;background:linear-gradient(#fff9dc 45%,#f1dc8a 55%)}.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:hover,.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:focus{color:#772b0a;background:linear-gradient(#fff9dc 45%,#f1dc8a 55%)}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:hover span{background:none}.hunterInfoView-achievementsBlock .mousehuntTabContentContainer-padding{padding:5px;background:#e9e1c6;border:none;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-left-currentMap-image{width:55px;height:55px;border:none}.hunterInfoView-treasureMaps-left{vertical-align:middle}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-left-currentMap-content{display:flex;flex-direction:row;align-items:center;height:50px}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound-ranking{width:110px;margin-top:10px;margin-bottom:-5px;font-size:11px;color:#772b0a}.hunterInfoView-treasureMaps-right{display:flex;flex-direction:column;align-items:center;margin-top:-5px;margin-right:-5px}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound{font-size:17px}.hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound-label{font-size:11px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .itemImage{width:55px;height:55px;border-bottom-right-radius:0;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .itemImage-container{display:block;padding:2px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContent[data-tab=team] .hunterInfoView-teamTab-content{margin:0 -5px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .hunterInfoView-teamTab-content-wrapper{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;width:360px}.hunterInfoView-wrapper .hunterInfoView-achievementsBlock .hunterInfoView-teamTab-content .quantity{right:0;bottom:0;background-color:#fff}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock .hunterInfoView-favoritesBlock-body{background:#e9e1c6}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage.empty{background-color:#e9e1c6;border:1px solid #a0a0a0;box-shadow:none;opacity:.75}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage{border-width:2px;transition:.2s ease-in}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage-overlay-container,.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage-overlay{width:54px;height:54px}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage:hover{background-size:120%}.mouseCrownsView-group-mouse-catches{padding:2px 6px;margin-top:-5px;margin-bottom:5px;font-size:14px}.mouseCrownsView-group-mouse-name{font-size:11px}.mouseCrownsView-group-mouse.empty.highlight{display:none}.mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-image{width:auto;height:200px}.mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-image .mouseCrownsView-crown{top:5px;right:5px;left:unset}.mouseCrownsView-group-mouse:hover .mouseCrownsView-group-mouse-image{background-size:120%}.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image{background-size:auto 230px}.mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-padding{padding:0;margin:0;border-radius:0}.highlight a.mouseCrownsView-group-mouse-favouriteButton.active{top:0;right:0}.mouseCrownsView-group-mouse-padding{padding:0;overflow:hidden}.mouseCrownsView-group-mice{display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch;justify-content:start;max-width:720px;margin-right:-2px;margin-left:-5px}.mouseCrownsView-group-mice.favourites{gap:5px}.mouseCrownsView-group-header b{font-size:13px}.mouseCrownsView-group.favourite .mouseCrownsView-group-header-subtitle{display:none}.mouseCrownsView-group-mouse{width:auto}.mouseCrownsView-group-mouse-image{width:100%;height:200px;border:none!important;border-bottom-right-radius:0;border-bottom-left-radius:0;transition:.2s ease-in}.mouseCrownsView-crown.none{background-image:url(https://www.mousehuntgame.com/images/ui/crowns/crown_none.png)!important}.mouseCrownsView-group-header-name{margin-left:10px}.mouseCrownsView-group{padding:10px;margin:10px;background-color:#f5f5f5;border-radius:5px;box-shadow:0 0 1px 1px #cbcbcb}.mouseCrownsView-group.platinum{background-color:#d6d6fb;box-shadow:0 0 1px 1px #7e6af9}.mouseCrownsView-group.platinum .mouseCrownsView-group-header{box-shadow:inset 0 0 1px 1px #bfb6fc}.mouseCrownsView-group.favourite .mouseCrownsView-group-header{box-shadow:inset 0 0 1px 1px #e0e0e0}.mouseCrownsView-group.gold{background-color:#fbf5ce;box-shadow:0 0 1px 1px #cfc791}.mouseCrownsView-group.gold .mouseCrownsView-group-header{box-shadow:0 0 1px 1px #ded9b5}.mouseCrownsView-group.silver{background-color:#d2e7fe;box-shadow:0 0 1px 1px #8fb9e6}.mouseCrownsView-group.silver .mouseCrownsView-group-header{box-shadow:0 0 1px 1px #b4d0ee}.mouseCrownsView-group.bronze{background-color:#ffe6d4;box-shadow:0 0 1px 1px #d8af91}.mouseCrownsView-group.bronze .mouseCrownsView-group-header{box-shadow:0 0 1px 1px #ead3c3}.mouseCrownsView-group.none .mouseCrownsView-group-header{box-shadow:0 0 1px 1px #c5c5c5}.mouseCrownsView-group-header{display:flex;align-items:center;padding:5px;border:none!important;border-radius:5px}.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-header-subtitle{color:#787}.mouseCrownsView-group .mouseCrownsView-group-header{background-color:#fafafa99!important}.mouseCrownsView-group-mouse-favouriteButton.active{opacity:0;transition:.2s ease-in}.mouseCrownsView-group-mouse.favourite:hover .mouseCrownsView-group-mouse-favouriteButton,.mouseCrownsView-group-mouse.favourite:hover .mouseCrownsView-group-mouse-favouriteButton.active{opacity:1}.mouseCrownsView-group .mouseCrownsView-group-mouse-padding{background-color:#fff}.mouseCrownsView-group-mouse.highlight.favourite{width:auto;background-color:#fff;border:1px solid #ccc;border-radius:5px}.mouseCrownsView-group.favourite .mouseCrownsView-group-header .mouseCrownsView-crown,.mouseCrownsView-group.favourite .mouseCrownsView-group-header-name{display:none}.favourite .mouseCrownsView-group-header{padding:0}.mouseCrownsView-crown.favourite{width:45px;height:45px;margin:5px}a.friendsProfileView-randomFriend{float:right;width:120px;margin-top:-25px;text-align:center;background-color:#e9e1c6;border:1px solid #a0a0a0}.friendsProfileView-selfStats{font-size:11px}.friendsProfileView-randomFriend:hover{background-color:#c7bfa3}.eggMasterIcon{position:absolute;top:0;right:-10px;float:none!important;width:40px!important;height:40px!important;filter:drop-shadow(2px 2px 2px #e9e1c6);background-size:cover!important}.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-mouse.highlight .mouseCrownsView-group-mouse-name,.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-mouse:not(.favourite) .mouseCrownsView-group-mouse-name,.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group{color:#333}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot-noBait{display:flex;align-items:center;width:100%;height:100%;border:none;box-shadow:none}.hunterProfileItemsView-categoryContent-item-padding{height:auto;padding:0}.hunterProfileItemsView-categoryContent-item-name{width:95%;padding:0 1px 3px}.hunterProfileItemsView-categoryContent-item-padding .itemImage .quantity{right:0;bottom:5px;padding:5px}.hunterProfileItemsView-categoryContent-item .itemImage{width:90px;height:100px;background-repeat:no-repeat;background-position:center;background-size:100%;transition:.2s ease-in}.hunterProfileItemsView-categoryContent[data-category=map_piece] .hunterProfileItemsView-categoryContent-item .itemImage,.hunterProfileItemsView-categoryContent[data-category=collectible] .hunterProfileItemsView-categoryContent-item .itemImage{padding-top:10px;background-position-y:5px}.hunterProfileItemsView-categoryContent-item.uncollected .itemImage{filter:grayscale(1);mix-blend-mode:darken;opacity:.5}.hunterProfileItemsView-categoryContent-item.uncollected .hunterProfileItemsView-categoryContent-item-padding{background-color:#eee}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamName{width:89px;margin-left:-3px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamName span{top:0;right:0;left:0;transform:none}.loyaltyBadgeView .loyaltyBadgeView-years-text{top:6px;right:0;left:0;font-size:22px;text-align:center;filter:drop-shadow(0 0 2px #fff);transform:none}.loyaltyBadgeView{width:50px;height:50px}.loyaltyBadgeView.badgeLevel15 .loyaltyBadgeView-years-text{top:14px}.hunterInfoView-verifiedUserImage{width:14.5px;height:17.5px}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-container{padding-top:15px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-goldenShield-image{left:-5px;width:26px;height:26px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-goldenShield-text{width:auto;padding:2px 7px 3px 20px;font-size:12px;white-space:nowrap}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image,.mouseCrownsView-group-mouse-image{background-position:center;background-size:100%;transition:.4s ease-in}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image{background-position:center;background-size:auto 200px}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.costumed_horse,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.geyser_eruption_dragon_flaming,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.rift_gaunt_prestige_low,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.crystal_behemoth,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.desert_beast,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.ful_mina_mountain_queen{background-position:80% center}.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.costumed_horse,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.geyser_eruption_dragon_flaming,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.rift_gaunt_prestige_low,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.crystal_behemoth,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.desert_beast,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.ful_mina_mountain_queen{background-position:78% center}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.magmatic_golem,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.empyrean_treasure_guardian,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.richard_rich{background-position:60% center}.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.magmatic_golem .mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.empyrean_treasure_guardian,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.richard_rich{background-position:62% center}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.rift_claw_master,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.hween_2013_boss,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.spice_sorcerer{background-position:25% center}.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.rift_claw_master,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.hween_2013_boss,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.spice_sorcerer{background-position:26% center}.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.ancient_of_the_deep,.mouseCrownsView-group-mouse.landscape .mouseCrownsView-group-mouse-image.rift_assassin_beast{background-position:15% center}.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.ancient_of_the_deep,.mouseCrownsView-group-mouse.landscape:hover .mouseCrownsView-group-mouse-image.rift_assassin_beast{background-position:16% center}.mouseView-group.mouseview-title-group{display:flex;flex-direction:column}.mh-dark-mode.PageHunterProfile .pageFrameView .mouseCrownsView-group-mouse:hover .mouseCrownsView-group-mouse-padding,.mouseCrownsView-group-mouse:hover .mouseCrownsView-group-mouse-padding{background-color:#fff}.mouseCrownsView-group-mouse-favouriteButton{top:0;right:0}.mouseCrownsView-group-mouse-favouriteButton:hover{background-color:transparent;border:none}.mouseCrownsView-group-mouse .mouseCrownsView-group-mouse-favouriteButton{pointer-events:all!important}.mouseCrownsView-group-mouse .mouseCrownsView-group-mouse-favouriteButton:hover{top:2px;right:2px;background:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png) 0 0 / cover no-repeat}.hunterProfileItemsView-categoryContent-item .itemImage .limitedEdition,.hunterProfileItemsView-categoryContent-item .itemImage .quantity{opacity:1;transition:.2s ease-in}.hunterProfileItemsView-categoryContent-item:hover .itemImage .limitedEdition,.hunterProfileItemsView-categoryContent-item:hover .itemImage .quantity{opacity:0}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage:after{width:30px;height:30px}.hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseImage:before{top:-10px;left:-10px;width:25px;height:25px}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-horn-container .hunterInfoView-idCardBlock-stats-horn-image{transition:.2s ease-in}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-horn-container:hover .hunterInfoView-idCardBlock-stats-horn-image{transform:rotate(-6deg) scale(1.5)}.hunterInfoView-wrapper hr{background-color:#000}.hunterInfoView-wrapper .hunterInfoView-idCardTooltipBox-content>div{margin:5px 0}.hunterInfoView-wrapper .hunterInfoView-idCardTooltipBox-content>div:first-child{margin-top:0}.hunterInfoView-wrapper .hunterInfoView-idCardTooltipBox-content>div:last-child{margin-bottom:0}.hunterInfoView-wrapper div .pagerView-container{background-color:#f0ead6;border:1px solid #bea87a;border-radius:5px}.userInteractionButtonsView-button{border-radius:15px;box-shadow:inset 0 0 0 2px #eae1c6}.hunterInfoView-wrapper .friendsPage-friendRow-titleBar-titleDetail{top:22px;font-size:13px}.friendsPage-friendRow-titleBar-icon{top:-12px}.mousehuntPage-content .mh-improved-scoreboard-dropdown select{border:1px solid #bea87a}.hunterInfoView-wrapper .hunterInfoView-playerActionsBlock{margin:0 10px;text-align:left;opacity:.5}.hunterInfoView-wrapper .hunterInfoView-playerActionsBlock:hover{opacity:1}.hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container:before,.hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container,.hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-huntingSince,.hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-horn-container,.hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats{border-color:#bea87a}.hunterProfileItemsView-categoryContent-item.limited_edition .itemImage .limitedEdition{top:3px;right:-3px;width:50px;height:50px;background:url(https://www.mousehuntgame.com/images/ui/backgrounds/trap_image_limited_edition_badge.png) no-repeat top right / 90px;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}\n"; } }); // src/modules/better-ui/styles/scoreboards.css var scoreboards_default; var init_scoreboards = __esm({ "src/modules/better-ui/styles/scoreboards.css"() { scoreboards_default = ".scoreboardRelativeRankingTableView table{border:1px solid #ddedff}.scoreboardRelativeRankingTableView th{display:flex;grid-column:1 / 6;align-items:center;justify-content:space-around;font-size:10px;font-weight:400;background-color:#dbecff;border-bottom:1px solid #b7c4d2}.scoreboardRelativeRankingTableView td:nth-of-type(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboardRelativeRankingTableView tr{display:grid;grid-template-columns:25px 20px auto 68px;overflow:hidden}.scoreboardTableView-profilePic{box-sizing:border-box;border:1px solid #e9e9e9;box-shadow:none}.viewer .tournament-team-rank.updated:hover:after{border-radius:2px}.pageFrameView .scoreboardRelativeRankingTableView-table{margin-bottom:15px;border:1px solid #ddedff}\n"; } }); // src/modules/better-ui/styles/scrambles.css var scrambles_default; var init_scrambles = __esm({ "src/modules/better-ui/styles/scrambles.css"() { scrambles_default = "#overlayPopup.spring_chick_message_item{background:#f8f8f4;border:2px solid #bdb1d8;border-radius:50px/90%;box-shadow:0 3px 3px -2px #ababab;animation:.2s MHCheckoutDialogView-frameReveal 1 ease-out,.9s bannerSoundNew 1 .2s}#overlayPopup.spring_chick_message_item .jsDialog.top,#overlayPopup.spring_chick_message_item .jsDialog.bottom,#overlayPopup.spring_chick_message_item .jsDialogContainer .prefix,#overlayPopup.spring_chick_message_item #jsDialogClose,#overlayPopup.spring_chick_message_item .jsDialog .quantity,#overlayPopup.spring_chick_message_item .description{display:none}#overlayPopup.spring_chick_message_item .jsDialogContainer .content{flex-grow:1;margin:0;font-size:1.75em;text-align:center;animation:1s claimWiggle 1 1s}@media (prefers-reduced-motion: reduce){#overlayPopup.spring_chick_message_item .jsDialogContainer .content{animation:none}}#overlayPopup.spring_chick_message_item .jsDialogContainer{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;height:120px}#overlayPopup.spring_chick_message_item .imgArray .img img{width:100px;max-width:unset;height:100px;filter:drop-shadow(0 2px 1px #505050);transform:scaleX(-1)}#overlayPopup.spring_chick_message_item .jsDialogContainer .suffix{background:transparent;border:none}#overlayPopup.spring_chick_message_item.singleItemLeft .jsDialogContainer .items{float:none;width:150px;padding:0}#overlayPopup.spring_chick_message_item.singleItemLeft .img{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}#overlayPopup.spring_chick_message_item .jsDialog.background{background:transparent}#overlayPopup.spring_chick_message_item .button{padding:2px 6px}#overlayPopup.spring_chick_message_item .img .itemImage{width:100px;height:100px}#overlayPopup.spring_chick_message_item .img .name{font-size:1.25em}\n"; } }); // src/modules/better-ui/styles/select2.css var select2_default; var init_select2 = __esm({ "src/modules/better-ui/styles/select2.css"() { select2_default = ".select2-result-sub .select2-result-label{display:grid;grid-template-columns:1fr 4fr 1fr;place-items:center start}.select2-results li.select2-result-with-children>.select2-result-label{padding:3px;font-size:12px}.friendsPage-filter-environment-quantity{min-width:25px;text-align:center;vertical-align:middle}.PageAdversaries #select2-drop li,.PageFriends #select2-drop li{padding:3px;font-size:12px}.PageAdversaries #select2-drop li:nth-child(2n){background-color:#eae9e9}.PageAdversaries #select2-drop li:nth-child(2n).select2-highlighted{background-color:#3875d7}.select2-search input{padding:6px 0 6px 5px;font-size:15px;vertical-align:middle;background:url(https://www.mousehuntgame.com/images/select2/select2.png) no-repeat 100% -26px,linear-gradient(to bottom,#fff 85%,#eee 99%) 0 0;background-size:70px}.friendsPage-list-filter-select .select2-drop ul.select2-results li:first-of-type{display:none}.friendsPage-list-filter-select .select2-drop ul.select2-result-sub li:first-of-type{display:grid}\n"; } }); // src/modules/better-ui/styles/settings.css var settings_default14; var init_settings15 = __esm({ "src/modules/better-ui/styles/settings.css"() { settings_default14 = ".PagePreferences__section{padding:10px;margin:10px 0;border:1px solid #e0cfb4}.PreferencesPage__formInputDescription{position:relative}.PagePreferences__profilePicContainer{padding-top:10px}.PagePreferences__settingDefault{display:none}.PagePreferences__title{padding-bottom:10px;margin:0}\n"; } }); // src/modules/better-ui/styles/sidebar.css var sidebar_default4; var init_sidebar4 = __esm({ "src/modules/better-ui/styles/sidebar.css"() { sidebar_default4 = ".pageSidebarView-user{border-bottom:none}.pageSidebarView-block-description{display:none}\n"; } }); // src/modules/better-ui/styles/skins.css var skins_default; var init_skins = __esm({ "src/modules/better-ui/styles/skins.css"() { skins_default = ".skin .campPage-trap-itemBrowser-items{top:50px}.skin .campPage-trap-itemBrowser-item-image,.skin .campPage-trap-itemBrowser-item-description.shortDescription{display:none}.skin .campPage-trap-itemBrowser-item-content .campPage-trap-itemBrowser-item-name{margin-top:11px}\n"; } }); // src/modules/better-ui/styles/tabs.css var tabs_default; var init_tabs = __esm({ "src/modules/better-ui/styles/tabs.css"() { tabs_default = '.campPage-tabs-tabContentContainer{margin-bottom:10px;background-color:#f6f3eb;border:1px solid #cbc6bb;border-radius:5px;box-shadow:-1px -1px 1px #d3cecb inset}.campPage-tabs-tabRow{top:0}.campPage-tabs-tabRow:hover .campPage-tabs-tabHeader span,.campPage-tabs-tabRow a.campPage-tabs-tabHeader span{border-bottom:none}.campPage-tabs-tabRow a.campPage-tabs-tabHeader.active span{padding-bottom:5px;margin-bottom:-1px;border:1px solid #cbc6bb;border-bottom:none;box-shadow:0 1px #f5f3eb}.campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span,.campPage-tabs-tabRow a.campPage-tabs-tabHeader:focus span{margin-bottom:-1px}.campPage-tabs-tabContent[data-tab=quests],.campPage-tabs-tabContent[data-tab=journal]{background:none}a.campPage-daily-chest-info,.campPage-daily-chest-label,.campPage-daily-tomorrow-title,.campPage-daily-tomorrow-availableIn,.campPage-daily-today,.campPage-daily-progress.clear-block,.campPage-daily-draw-details,.shopsPage-kingsCalibratorPromo b{display:none}.campPage-daily-tomorrow{position:relative;height:140px;overflow:hidden;background-position:center;border:1px solid #7d3a08;box-shadow:-1px -1px 2px #d3cecb inset}.campPage-daily-tomorrow-reward{display:inline-block;width:100%;padding:5px 0;margin-top:0;font-size:12px;font-weight:900;color:#87430d;text-shadow:0 0 2px #ffcd6f;background-color:#ffffff57}.campPage-daily-draw-prize-description{margin:10px 20px}div#dailyRewardTimer{position:absolute;right:0;bottom:1px;display:block;width:100%;padding:3px 0;font-size:13px;font-weight:400;color:#904811;text-align:center;background-color:#ffd8987f;border-top:10px}.campPage-tabs-tabContent.active[data-tab=daily]{margin:5px;background:#f6f3eb;border-radius:3px;box-shadow:inset 0 0 5px #707070}.campPage-daily-container{padding:15px;margin:0;background:none;border:none;box-shadow:none}.campPage-daily-container.draw{margin-top:-15px;background:none;border:none;box-shadow:none}.campPage-daily-container.draw .campPage-daily-content{height:230px;padding-top:0;background:url(https://www.mousehuntgame.com/images/ui/daily/next_day_bkg.png);background-position-x:center;background-position-y:7px;background-size:cover;border:1px solid #7d3a08;border-radius:0;box-shadow:-1px -1px 2px #d3cecb inset}.campPage-daily-draw-title,.campPage-daily-draw-prize-name{display:inline-block;width:100%;padding:5px 0;margin-top:0;font-size:12px;font-weight:900;color:#87430d;text-shadow:0 0 2px #ffcd6f}.campPage-daily-draw-prize-name{font-size:12px}img.campPage-daily-draw-prize-image{padding:0;background:none}.shopsPage-kingsCalibratorPromo:after{top:5px;width:45px;height:45px;background-image:url(https://i.mouse.rip/mh-improved/kings-calibrator.png);filter:drop-shadow(0 1px 1px #7d3a08)}div#dailyRewardTimer:before{content:"Available in "}.shopsPage-kingsCalibratorPromo{height:55px;padding:0 55px;margin-top:2px;line-height:13px;color:#412814;text-align:center;background:#ffe8aa;border:1px solid #7d3a08;border-radius:0;box-shadow:inset -1px -1px 2px #d3cecb}.campPage-daily-container .shopsPage-kingsCalibratorPromo-button{margin:0;background:#2a98ff;border-radius:5px;box-shadow:inset 0 -1px 1px 1px #2d76ba}.campPage-daily-container .shopsPage-kingsCalibratorPromo-button:hover,.campPage-daily-container .shopsPage-kingsCalibratorPromo-button:active,.campPage-daily-container .shopsPage-kingsCalibratorPromo-button:focus{background:#2d76ba}.campPage-tabs-tabContent.active[data-tab=daily],.campPage-tabs-tabContent-larryTip-container,.campPage-quests-container{line-height:16px;background-color:#fbf8f6;border:1px solid #d3cecb;border-radius:3px;box-shadow:-1px 1px 3px #d3cecb inset}.campPage-tabs-tabContent-larryTip-container{padding-top:10px}.campPage-daily-container.daily .campPage-daily-content{margin-top:15px}.campPage-tabs-tabContent-larryTip-container a.campPage-tabs-tabContent-larryTip-byLine,img.campPage-larryTip-external-link-icon{display:none}.campPage-tabs-tabContent-larryTip-environment{padding-bottom:1em}.campPage-tabs-tabContent-larryTip-container p:last-of-type a{display:block;padding:1em 0 0;text-align:right}.campPage-tabs-tabContent-larryTip-container p:last-of-type a:after{content:"\\2192"}.campPage-daily-container .shopsPage-kingsCalibratorPromo{display:flex;align-items:center}.mousehuntHud-menu ul li a{text-shadow:0 0 1px #cbbba9}\n'; } }); // src/modules/better-ui/styles/team.css var team_default; var init_team = __esm({ "src/modules/better-ui/styles/team.css"() { team_default = '.teamPage-container .userInteractionButtonsView.small_buttons .userInteractionButtonsView-button{width:33px!important;height:33px!important;background-size:cover!important}.teamPage-container .teamPage-memberRow-actions .mousehuntTooltip{right:-40px;left:-40px}.teamPage-container .userInteractionButtonsView-unfriendLink{display:none}.teamPage-profile-header-controls{top:0;bottom:0;display:flex;align-items:center}.teamPage-profile-header-controls br{content:""}.teamPage-profile-header-controls br:after{content:" "}.teamPageConfirm-dialog input.userSelectorView-filter-input{width:600px;padding:10px;margin:0 10px}.teamPageConfirm-dialog .userSelectorView-filterContainer{width:100%;padding:0 0 10px}.teamPageConfirm-dialog a.userSelectorView-filter-clear.active{top:15px;right:15px;font-size:14px;color:transparent}.teamPageConfirm-dialog a.userSelectorView-filter-clear.active:hover:after{color:#f55}.teamPageConfirm-dialog a.userSelectorView-filter-clear.active:after{font-size:16px;color:#b72929;content:"\\2715"}.teamPage-memberJournal-empty{line-height:30px;color:#575757}.teamPage-memberJournal-list{height:unset;min-height:30px}.teamPage-memberJournals{display:grid;grid-template-columns:1fr 1fr 1fr}.teamPage-memberJournalContainer{width:auto}.tournamentPage-tournamentContainer-prizeInfo,.teamPage-memberJournal-trapSetup b{display:none}.teamPage-memberJournal-trapSetup i{margin-left:9px;font-size:12px;line-height:17px}.teamPage-memberJournal-identity a.teamPage-member-image.online:before{position:absolute;top:0;right:-180px;width:10px;height:10px;content:"";background-color:#8ff309;border:1px solid #355c1d;border-radius:50%}.teamPage-profile-awardContainer-awardList{position:relative}.teamPage-profile-awardContainerInfo{position:absolute;top:-32px;right:0;display:block;width:250px;font-size:10px;color:#451e00;text-shadow:1px 1px 1px #eee;opacity:0;transition:.2s ease-in}.teamPage-profile-awardContainer-awardList:hover .teamPage-profile-awardContainerInfo{opacity:1}\n'; } }); // src/modules/better-ui/styles/timer.css var timer_default; var init_timer = __esm({ "src/modules/better-ui/styles/timer.css"() { timer_default = '.huntersHornView__timer.huntersHornView__timer.countdown:after{position:absolute;top:6px;right:5px;left:5px;font-size:14px;text-align:center;content:"Next Hunt";background:linear-gradient(180deg,#fef2b8,#ecdfae)}\n'; } }); // src/modules/better-ui/styles/trap-selector.css var trap_selector_default; var init_trap_selector = __esm({ "src/modules/better-ui/styles/trap-selector.css"() { trap_selector_default = ".campPage-trap-itemBrowser-item.largeQuantity .campPage-trap-itemBrowser-item-quantity .quantity{display:inline-block;font-size:12px;background-color:#fff}.campPage-trap-itemBrowser-item-description.shortDescription{width:auto;margin-left:62px;font-size:10px}.campPage-trap-itemBrowser-item-content{width:81%}.campPage-trap-itemBrowser-item-favorite{position:absolute;top:0;right:0;width:30px;height:30px;padding:5px;margin-top:0;background-color:#fff;border-radius:50%;opacity:0;transition:.2s ease-in}.campPage-trap-itemBrowser-item:hover .campPage-trap-itemBrowser-item-favorite{opacity:1}.campPage-trap-itemBrowser-item-armButton{height:25px;line-height:25px;color:#fff;background-color:#40f446;box-shadow:0 -13px 11px 2px #22b227 inset}.campPage-trap-itemBrowser-item-armButton:hover{background-color:#00e608;box-shadow:0 0 1px #26d42c inset}.armed .campPage-trap-itemBrowser-item-armButton{box-shadow:0 -13px 7px #d57229 inset}.armed.canDisarm .campPage-trap-itemBrowser-item-armButton:hover{box-shadow:0 -13px 7px #e87c2d inset}.campPage-trap-itemBrowser-item{min-height:80px}.campPage-trap-itemBrowser-item-name{margin-bottom:5px}.trapSelectorView__activeCodex{width:50px;height:50px}.campPage-trap-itemBrowser-armed-item.trinket .campPage-trap-itemBrowser-item-statContainer{position:absolute;top:20px;left:60px;display:block}.campPage-trap-itemBrowser-armed-item-content{position:relative;height:auto}.campPage-trap-itemBrowser-armed-item .campPage-trap-itemBrowser-item-quantity{display:flex;flex-direction:column;align-items:flex-start}a.campPage-trap-itemBrowser-item-disarmButton{position:absolute;top:50px;left:-85px;width:74px;font-weight:400;line-height:20px;color:#fff;background-color:#ff6161;border:1px solid #666;box-shadow:0 -13px 7px #b30000 inset}a.campPage-trap-itemBrowser-item-disarmButton:hover{box-shadow:0 -20px 5px #ff7070 inset}\n"; } }); // src/modules/better-ui/styles/traps.css var traps_default; var init_traps = __esm({ "src/modules/better-ui/styles/traps.css"() { traps_default = '.campPage-trap-baitLabel{display:none}.campPage-trap-armedItem.bait{display:flex;align-items:center;justify-content:flex-start}.campPage-trap-armedItem.bait.active{top:338px}.campPage-trap-baitDetails{color:transparent!important;text-shadow:none}.campPage-trap-baitName,.campPage-trap-baitQuantity{color:#926944;text-shadow:0 0 1px #ae9b6d,1px 1px #fff}.mh-dark-mode .campPage-trap-baitName,.mh-dark-mode .campPage-trap-baitQuantity{right:0;bottom:0;color:#ffe6d0;text-shadow:0 0 1px #ae9b6d,1px 1px #000}.trapSelectorView__armedItemQuantity span,.campPage-trap-baitQuantity{position:absolute;right:0;bottom:0;box-sizing:border-box;padding:5px;font-size:16px;font-weight:400;line-height:11px;text-align:right;background-color:#ffffffb3;border:1px solid #9d917f;border-right:none;border-bottom:none;border-bottom-right-radius:3px;box-shadow:-1px -1px 1px #d3cecb inset}.mh-dark-mode .trapSelectorView__armedItemQuantity span{color:#ffe6d0;text-shadow:none;background-color:#333}.campPage-trap-armedItem.bait .campPage-trap-armedItem-image{width:60px;margin-right:0;background-repeat:no-repeat;background-position:center;background-size:100%}.mh-dark-mode .campPage-trap-baitQuantity,.mh-dark-mode .campPage-trap-armedItem .quantity span{color:#ffe6d0;background-color:#333}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness{background:#424242;border:1px solid #888;box-shadow:1px 1px 1px #535151}.mh-dark-mode .campPage-trap-trapStat .value{color:#fff;background-color:#333;border-color:#5c5c5c}.campPage-trap-armedItem .quantity span{position:absolute;right:-6px;bottom:3px;padding:3px;text-align:right;background-color:#fffc;border:1px solid #d3cecb;border-right:none;border-bottom:none;border-radius:0 0 4px;box-shadow:-1px -1px 1px #d3cecb inset}.campPage-trap-statsContainer{border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.campPage-trap .trapImageView{width:352px;height:352px;margin-top:0;margin-left:0;background:transparent;border:none;border-bottom:1px solid #ceb7a6;border-radius:0}.campPage-trap{border:1px solid #9d917f;border-top-left-radius:5px;border-top-right-radius:5px}.hunterInfoView-wrapper .hunterInfoView-trapBlock-header-container,.hunterInfoView-wrapper .hunterInfoView-trapBlock-footer{border-width:1px;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-container{margin-right:-9px;margin-left:-9px;border-bottom:1px solid #ceb7a6;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-footer-stats{padding-top:35px;margin-right:-9px;margin-left:-9px;box-shadow:none}.hunterInfoView-wrapper .trapImageView{width:368px;height:368px;margin:0 auto}.hunterInfoView-wrapper a.trapImageView-zoomButton{top:80%}.hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title-container{left:1px;border-width:1px;border-bottom:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-items{background:none;border:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-footer{background:#f6f3eb;border-top:0;box-shadow:none}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot-quantity{bottom:0;width:100%;background-color:#ffffffe5;border-color:#d3cecb;border-right:none;border-bottom:none;border-left:none;border-radius:0}.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot,.hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot.middle{width:60px;height:60px;margin:0;background-position:-1px;background-size:61px;border:1px solid #000;box-shadow:none}.hunterInfoView-wrapper .campPage-trap-trapStat{display:flex;background:#fff;border:1px solid #e2d3c8;border-radius:3px}.mh-dark-mode .hunterInfoView-wrapper .campPage-trap-trapStat{background:#424242;border-color:#5c5c5c}.hunterInfoView-wrapper .campPage-trap-itemStats{display:flex;padding-bottom:0;margin:0 5px}.hunterInfoView-wrapper .campPage-trap-trapStat .value{background:transparent;border:none}.largerTrapView-popup-name,span.campPage-trap-armedItem-skin-description-content b,span.campPage-trap-armedItem-skin-description-content br{display:none}.campPage-trap-trapEffectivenessBar{height:12px;margin-top:-1px;background:#c6bea8;border:1px solid #9c938e}.mh-dark-mode .campPage-trap-trapEffectivenessBar{background-color:#424242;border-color:#5c5c5c}.campPage-trap-trapEffectivenessBar.easy:after,.campPage-trap-trapEffectivenessBar.effortless:after,.campPage-trap-trapEffectivenessBar.strong:after,.campPage-trap-trapEffectivenessBar.excellent:after{background:#5ccd5e}.campPage-trap-trapEffectivenessBar.near_impossible:after,.campPage-trap-trapEffectivenessBar.very_poor:after,.campPage-trap-trapEffectivenessBar.overpowering:after{background:#dc7878}.campPage-trap-trapEffectivenessBar.difficult:after,.campPage-trap-trapEffectivenessBar.challenging:after,.campPage-trap-trapEffectivenessBar.mild:after,.campPage-trap-trapEffectivenessBar.moderate:after,.campPage-trap-trapEffectivenessBar.medium:after{background:#e6cd66}.campPage-trap-trapEffectivenessBar.impossible:after{width:100%;background:#a83030}.campPage-trap-trapEffectiveness-header{color:transparent}.campPage-trap-trapEffectiveness-header b{color:#926944}.campPage-trap-trapEffectiveness-content{top:50px}.campPage-trap-trapEffectiveness-difficultyGroup{background:#f6f3eb;border-color:#e3dbd5;border-radius:3px;box-shadow:inset 0 0 1px #755e40}.campPage-trap-trapEffectiveness-difficultyGroup-label{grid-column:span 2;font-weight:400;text-align:center;border:none}.campPage-trap-armedItem.skin .campPage-trap-armedItem-skin-description-content span{font-size:12px;vertical-align:middle}.trapSelectorView__browserContainer .campPage-trap-trapEffectivenessBar{display:none}.campPage-trap-armedItem.inactive{background:#f6f3eb}.campPage-trap-trapStat.power .value b{line-height:17px}.itembrowser-skin-image-wrapper{background-image:url(https://www.mousehuntgame.com/images/items/bases/trap_small/a44d6a59ca9c0d11224bb36fd4e16378.png);background-position:center}img.itembrowser-skin-image{width:332px}.campPage-trap-trapStat-mathRow{font-size:12px;line-height:23px}.campPage-trap-trapStat-mathRow.label{font-size:17px}.campPage-trap-trapStat .math{bottom:90px;left:-18px;width:337px}.campPage-trap-trapStat .math .arrow{display:none}.campPage-trap-trapStat .value span{font-size:14px}.campPage-trap-trapStat.cheese_effect .value span{font-size:12px}.campPage-trap-itemBrowser-armed-item-image-frame{background:none;border:none;box-shadow:none}.campPage-trap-armedItem.empty .quantity{display:none}.empty .campPage-trap-armedItem-empty{top:11px;right:2px;bottom:10px;display:flex;align-items:center;justify-content:center;width:auto;height:auto;font-size:12px;color:#671d1d;border-radius:10px;box-shadow:none}.campPage-trap-itemBrowser-armed-item.empty.clear-block{display:flex;align-items:center;background-color:#e3d4d1}.campPage-trap-itemBrowser-armed-item.empty.clear-block .campPage-trap-itemBrowser-armed-item-content{display:flex;flex-direction:column;gap:10px;align-items:stretch}.campPage-trap-itemBrowser-armed-item.empty.clear-block .campPage-trap-itemBrowser-armed-item-content .campPage-trap-itemBrowser-item-name{font-size:18px;font-variant:none;color:#671d1d;background:#e3d4d1}.campPage-trap-itemBrowser-item-disarmButton{width:100px;margin-top:10px;color:#000;background-color:#ffbfbf;box-shadow:0 -20px 5px #ffbfbf inset,1px 1px 1px #671d1d}a.campPage-trap-itemBrowser-item-disarmButton:hover{box-shadow:0 -20px 5px #cc8b8b inset,1px 1px 1px #671d1d}.campPage-trap-armedItem.bait.empty .campPage-trap-armedItem-image{background-image:url(https://www.mousehuntgame.com/images/ui/hunters_horn/sandwich_board/icons/bait_empty.png)}.campPage-trap-baitDetails .campPage-trap-baitName{position:absolute;inset:0 0 0 70px;display:flex;align-items:center}.campPage-trap-trapStat-mathRow-name{padding-right:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campPage-trap-itemBrowser-item-description-consumeMethod{white-space:nowrap}.trapSelectorView__browserContainer{animation:mh-improved-in-from-left .2s ease-in-out}@media (prefers-reduced-motion: reduce){.trapSelectorView__browserContainer{animation:none}}.trapSelectorView__armedItemBorder,.trapSelectorView__weaponSkinGroup button{border:1px solid #d3cecb;border-radius:5px 5px 4px 4px;box-shadow:-1px 1px 3px #d3cecb inset}.trapSelectorView__weaponSkinGroup{padding:0;margin:0;border:none;box-shadow:none}.trapSelectorView__armedItem[data-item-classification=skin] .trapSelectorView__armedItemImage,.trapSelectorView__armedItem[data-item-classification=weapon] .trapSelectorView__armedItemImage{margin:3px;background-position:-1px -1px;background-size:72px}.trapSelectorView__trapStatSummaryContainer{background:#f6f3eb;border-color:#e3dbd5;border-radius:3px;box-shadow:none}.mh-dark-mode .trapSelectorView__trapStatSummaryContainer{background:#333;border-color:#fff;border-radius:3px;box-shadow:none}.trapSelectorView__trapStatSummary,.trapSelectorView__outerBlock{border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.mh-dark-mode .trapSelectorView__trapStatSummary,.mh-dark-mode .trapSelectorView__outerBlock,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness,.mh-dark-mode .mh-improved-favorite-setups-button{background:#424242;border:1px solid #888;box-shadow:1px 1px 1px #535151}.mh-dark-mode .mh-improved-favorite-setups-button{background-color:#424242;border-color:#5c5c5c}.trapSelectorView__activeCodexList.trapSelectorView__innerBlock{background:transparent;border:none}.trapSelectorView__activeCodexHeader{display:none}.trapSelectorView__armedItemQuantity span{position:absolute;right:-6px;bottom:3px;box-sizing:border-box;text-shadow:0 0 1px #ae9b6d,1px 1px #fff;background-color:#fcfbf9;border-color:#d3cecb;border-right:none;border-bottom:none;border-radius:0 0 3px}.trapSelectorView__armedItem[data-item-classification=skin]{margin-right:0}.trapSelectorView__armedItem[data-item-classification=skin] .trapSelectorView__armedItemImage,.trapSelectorView__armedItemImage{width:65px}.trapSelectorView__trap{padding-top:0}.trapSelectorView__activeCodexContainer:hover{background-color:#fdfaf2;filter:none}.mh-dark-mode .trapSelectorView__activeCodexContainer:hover{background-color:#494949}.trapSelectorView__armedItem--empty .trapSelectorView__armedItemImage{background:transparent;box-shadow:none}.campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-description{line-height:1.5}input.trapSelectorView__codexListSearch{width:auto;max-width:100px}.PageCamp .trapImageView-layer{border-top-left-radius:4px;border-top-right-radius:4px}#overlayPopup.LargerTrapView #jsDialogClose{display:none}#overlayPopup.LargerTrapView .trapImageView-layerWrapper{border-top-left-radius:7px;border-top-right-radius:7px}#overlayPopup.LargerTrapView .trapImageView{top:1px}.mh-dark-mode .trapSelectorView__trapStatSummary,.mh-dark-mode .trapSelectorView__outerBlock,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness,.mh-dark-mode .trapSelectorView__armedItemBorder,.mh-dark-mode .trapSelectorView__weaponSkinGroup button,.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-armedItem.bait{border:1px solid #5c5c5c;border-radius:5px 5px 4px 4px;box-shadow:-1px 1px 3px #515151 inset}.mh-dark-mode .trapSelectorView__weaponSkinGroup.trapSelectorView__armedItemBorder{border:none;box-shadow:none}.mh-dark-mode .trapSelectorView__armedItemQuantity span,.mh-dark-mode .campPage-trap-baitName,.mh-dark-mode .campPage-trap-baitQuantity{border-color:#5a5a5a;box-shadow:-1px -1px 1px #5c5c5c inset}.mh-dark-mode .mh-improved-favorite-setups-button-label{color:#e0d3b3}.campPage-trap-itemBrowser-favorite-item-image-frame{top:-1px;left:-1px;width:50px;height:50px;overflow:hidden}.trapSelectorView__armedItem--empty[data-item-classification=bait] .trapSelectorView__armedItemImage:after{position:absolute;top:0;bottom:0;left:0;width:70px;content:"";background:url(https://www.mousehuntgame.com/images/ui/hunters_horn/sandwich_board/icons/bait_empty.png) no-repeat 50% 50% / contain}#mousehuntContainer.PageCamp.showBlueprint{background:url(https://i.mouse.rip/bg-wood.png)}.trapSelectorView__blueprint.trapSelectorView__blueprint--active{background:url(https://www.mousehuntgame.com/images/ui/hud/blueprint_tile.png) repeat}\n'; } }); // src/modules/better-ui/styles/tutorial.css var tutorial_default; var init_tutorial = __esm({ "src/modules/better-ui/styles/tutorial.css"() { tutorial_default = "#overlayPopup.chooseTrap .weapon .trapDamageType{display:none}#overlayPopup.chooseTrap .weapon .trapDetails{display:flex;flex-direction:column;gap:10px}#OnboardArrow.larryCircle .whiteboard .action{bottom:-25px}#OnboardArrow.larryCircle .whiteboard .action:after{font-size:12px}.campPage-trap-baitQuantity.highlight{transform-origin:bottom right;animation:mh-improved-scale-large .6s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.campPage-trap-baitQuantity{animation:none}}#OnboardArrow.larryCircle .whiteboard{line-height:20px}.guideArrowView.animated.show.topLeft{margin-top:-30px;margin-left:-100px}.onboarding .mousehuntHud-marketPlace.disabled,.onboarding .mousehuntHud-marketPlace.disabled:hover,.onboarding .mousehuntHud-premiumShop.premium_items{opacity:.6}.onboarding .mousehuntHud-shield{display:block}.onboarding.hide_favorites .campPage-trap-itemBrowser-items{top:60px}a.mousehuntHud-userStat.trap.base.hidden,a.mousehuntHud-userStat.trap.weapon.hidden{display:inline-block;visibility:visible}.onboarding.hide_favorites .campPage-trap-itemBrowser-quickLinks.campPage-trap-itemBrowser-quickLinks-power{display:none}\n"; } }); // src/modules/better-ui/index.js var imported4, styles4, kingsPromoTextChange, addAdventureBookClass, addUserscriptStyles, addMaintenceClasses, init15, better_ui_default; var init_better_ui = __esm({ "src/modules/better-ui/index.js"() { init_utils2(); init_friends(); init_hud(); init_any_trap_any_skin(); init_favorite_setups(); init_journal_historian(); init_lgs_reminder(); init_mhct2(); init_profile_plus(); init_spring_egg_hunt_helper(); init_tsitu_autoloader(); init_tsitu_location_catch_stats(); init_tsitu_qol(); init_tsitu_supply_search(); init_legacy_styles(); init_adventure(); init_corkboard(); init_daily_draw(); init_events3(); init_footer(); init_friends2(); init_general4(); init_gifts(); init_hud2(); init_inbox(); init_legacy(); init_login(); init_maintence(); init_mobile_camp(); init_overlays(); init_profile(); init_scoreboards(); init_scrambles(); init_select2(); init_settings15(); init_sidebar4(); init_skins(); init_tabs(); init_team(); init_timer(); init_trap_selector(); init_traps(); init_tutorial(); imported4 = [adventure_default, corkboard_default, daily_draw_default, events_default2, footer_default, friends_default2, general_default4, gifts_default, hud_default2, inbox_default, legacy_default, login_default, maintence_default, mobile_camp_default, overlays_default, profile_default, scoreboards_default, scrambles_default, select2_default, settings_default14, sidebar_default4, skins_default, tabs_default, team_default, timer_default, trap_selector_default, traps_default, tutorial_default]; styles4 = imported4; kingsPromoTextChange = () => { const kingsPromo = document.querySelector(".shopsPage-kingsCalibratorPromo"); if (kingsPromo) { kingsPromo.innerHTML = kingsPromo.innerHTML.replace("and even", "and"); } }; addAdventureBookClass = () => { var _a, _b, _c; if (!((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestAdventureBook) == null ? void 0 : _b.adventure) == null ? void 0 : _c.can_claim) || !getCurrentPage("camp")) { return; } const adventureBook = document.querySelector(".adventureBookBanner"); if (!adventureBook) { return; } adventureBook.classList.add("adventureBookBanner-complete"); }; addUserscriptStyles = () => __async(void 0, null, function* () { const userscriptStyles = [ { id: "userscript-styles-no-any-trap-any-skin-styles", styles: any_trap_any_skin_default }, { id: "userscript-styles-no-mhct-styles", styles: mhct_default2 }, { id: "userscript-styles-no-tsitu-qol-styles", styles: tsitu_qol_default }, { id: "userscript-styles-no-profile-plus-styles", styles: profile_plus_default }, { id: "userscript-styles-no-spring-egg-hunt-helper-styles", styles: spring_egg_hunt_helper_default }, { id: "userscript-styles-no-lgs-reminder-styles", styles: lgs_reminder_default }, { id: "userscript-styles-no-favorite-setups-styles", styles: favorite_setups_default }, { id: "userscript-styles-no-tsitu-autoloader-styles", styles: tsitu_autoloader_default }, { id: "userscript-styles-no-journal-historian-styles", styles: journal_historian_default }, { id: "userscript-styles-no-tsitu-supply-search-styles", styles: tsitu_supply_search_default }, { id: "userscript-styles-no-tsitu-location-catch-stats-styles", styles: tsitu_location_catch_stats_default } ]; if (getFlag("no-userscript-styles")) { return; } userscriptStyles.forEach((userscript) => { if (!getFlag(userscript.id)) { addStyles(userscript.styles, userscript.id); } }); }); addMaintenceClasses = () => { const banner = document.querySelector('div[style="background: #f2f27c; border:1px solid #555; border-radius: 3px; text-align: center; font-size: 12px; padding: 6px 3px"]'); if (!banner) { return; } const isHidden2 = sessionGet("maintenance-banner-hidden"); if (isHidden2) { banner.classList.add("hidden"); return; } banner.classList.add("maintenance-banner", "mh-ui-fade", "mh-ui-fade-in"); const existingClose = banner.querySelector(".close"); if (existingClose) { return; } banner.childNodes.forEach((node) => { if (node.nodeType === Node.ELEMENT_NODE) { node.innerHTML = `${node.innerHTML}.`; } else if (node.nodeType === Node.TEXT_NODE) { node.textContent = `${node.textContent}.`; } }); const close2 = makeElement("div", "close", "\u2715"); close2.addEventListener("click", () => { banner.classList.add("mh-ui-fade-out"); setTimeout(() => { banner.classList.add("hidden"); sessionSet("maintenance-banner-hidden", true); }, 350); }); banner.append(close2); }; init15 = () => __async(void 0, null, function* () { addStyles(styles4, "better-ui"); if (isLegacyHUD()) { addStyles(legacy_styles_default, "better-ui-legacy"); } addMaintenceClasses(); addUserscriptStyles(); friends_default(); hud_default(); onRequest("*", addAdventureBookClass); onRequest("users/dailyreward.php", kingsPromoTextChange); onNavigation(() => { addMaintenceClasses(); addAdventureBookClass(); }, { page: "camp" }); }); better_ui_default = { id: "better-ui", name: "Better UI", type: "better", default: true, description: "Updates the MH interface with a variety of UI and style changes.", order: -1, load: init15 }; } }); // src/modules/catch-rate-estimate/data.js var miceEffs, hasGottenEffs, getMiceEffectiveness, getMouse, getMousePower, getMouseEffectiveness, getMinluck, getPercent, getCatchRate; var init_data2 = __esm({ "src/modules/catch-rate-estimate/data.js"() { init_utils2(); init_utils2(); hasGottenEffs = false; getMiceEffectiveness = () => __async(void 0, null, function* () { if (!hasGottenEffs) { miceEffs = yield getData("effs"); hasGottenEffs = true; } const response = yield doRequest("managers/ajax/users/getmiceeffectiveness.php"); return response == null ? void 0 : response.effectiveness; }); getMouse = (mouseId) => __async(void 0, null, function* () { if (!miceEffs || !hasGottenEffs) { miceEffs = yield getData("effs"); hasGottenEffs = true; } const mouse = miceEffs.find((m) => m.type === mouseId); return mouse; }); getMousePower = (mouseId) => __async(void 0, null, function* () { var _a; const mouse = yield getMouse(mouseId); return (_a = mouse == null ? void 0 : mouse.effectivenesses) == null ? void 0 : _a.power; }); getMouseEffectiveness = (mouseId) => __async(void 0, null, function* () { const mouse = yield getMouse(mouseId); if (!mouse || !mouse.effectivenesses) { return 0; } return mouse.effectivenesses[user.trap_power_type_name.toLowerCase()]; }); getMinluck = (mousePower, effectiveness2) => __async(void 0, null, function* () { if (effectiveness2 === 0) { return "\u221E"; } const minluck = Math.ceil( Math.ceil(Math.sqrt(mousePower / 2)) / Math.min(effectiveness2 / 100, 1.4) ); const checkCatchRate = getCatchRate(mousePower, effectiveness2, 0, minluck); return checkCatchRate.rate === 1 ? minluck : minluck + 1; }); getPercent = (rate) => { if (rate === 1) { return "100%"; } const percent = (rate * 100).toFixed(2); return `${percent}%`; }; getCatchRate = (mousePower, effectiveness2, power = null, luck = null) => { effectiveness2 = effectiveness2 / 100; if (null === power) { power = user.trap_power; } if (null === luck) { luck = user.trap_luck; } const rate = Math.min( 1, (effectiveness2 * power + 2 * Math.pow(Math.floor(Math.min(effectiveness2, 1.4) * luck), 2)) / (effectiveness2 * power + mousePower) ); return { rate, percent: getPercent(rate) }; }; } }); // src/modules/catch-rate-estimate/styles.css var styles_default21; var init_styles22 = __esm({ "src/modules/catch-rate-estimate/styles.css"() { styles_default21 = '#mh-improved-cre{padding:3px;margin:5px 0;cursor:default}#mh-improved-cre table{width:100%}#mh-improved-cre thead{box-shadow:0 -1px #d3cecb inset}.mh-dark-mode #mh-improved-cre thead{box-shadow:0 -1px #5c5c5c inset}#mh-improved-cre table th{font-weight:700;text-align:center}#mh-improved-cre table th.name{padding-left:5px;text-align:left}#mh-improved-cre table th:last-of-type{padding-right:5px}#mh-improved-cre table:first-child{text-align:left}.mh-improved-cre-data{min-width:70px;text-align:center}.mh-improved-cre-data-good{color:#138f13}.mh-dark-mode .mh-improved-cre-data-good{color:#4fe54f}.mh-improved-cre-data-bad{color:#bb4646}.mh-dark-mode .mh-improved-cre-data-bad{color:#fb9b9b}.mh-improved-cre-name{padding-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mh-improved-cre-name a{color:inherit}#mh-improved-cre.cre-loading{display:flex;align-items:flex-end;justify-content:center;height:100%;min-height:50px;padding:20px 0;background-image:url(https://www.mousehuntgame.com/images/ui/loaders/drip_spinner.gif);background-repeat:no-repeat;background-position:center 10px;background-size:55px}#mh-improved-cre.cre-loading:after{position:absolute;right:0;bottom:-5px;left:0;font-weight:400;color:#926944;text-align:center;content:"Loading Catch Rate Estimator\\2026"}span.mh-improved-cre-no-mice{font-size:12px}\n'; } }); // src/modules/catch-rate-estimate/index.js var lastStats, effectiveness, isUpdating, updateMinLucks, renderList, main11, init16, catch_rate_estimate_default; var init_catch_rate_estimate = __esm({ "src/modules/catch-rate-estimate/index.js"() { init_utils2(); init_data2(); init_styles22(); lastStats = []; effectiveness = null; isUpdating = false; updateMinLucks = () => __async(void 0, null, function* () { if ("camp" !== getCurrentPage()) { return; } if (isUpdating) { return; } isUpdating = true; let minluckList = document.querySelector("#mh-improved-cre"); if (!minluckList) { minluckList = makeElement("div", ["campPage-trap-trapEffectiveness", "cre-loading"]); minluckList.id = "mh-improved-cre"; const statsContainer = document.querySelector(".trapSelectorView__trapStatSummaryContainer"); if (!statsContainer) { isUpdating = false; return; } statsContainer.append(minluckList); } const currentStats = [ user.trap_power, user.trap_luck, user.trap_attraction_bonus, user.trap_cheese_effect, user.trap_luck, user.trap_power, user.trap_power_bonus, user.trap_power_type_name, user.trinket_item_id, user.base_item_id, user.weapon_item_id, user.bait_item_id, user.environment_id ]; if (currentStats !== lastStats) { effectiveness = yield getMiceEffectiveness(); lastStats = currentStats; } if (!effectiveness) { isUpdating = false; return; } const miceIds = Object.values(effectiveness).flatMap(({ mice }) => mice).map((mouse) => { return { name: mouse.name, type: mouse.type }; }); yield renderList(miceIds); isUpdating = false; }); renderList = (list) => __async(void 0, null, function* () { let minluckList = document.querySelector("#mh-improved-cre"); if (!minluckList) { minluckList = makeElement("div", "campPage-trap-trapEffectiveness"); minluckList.id = "mh-improved-cre"; const statsContainer = document.querySelector(".trapSelectorView__trapStatSummaryContainer"); if (!statsContainer) { return; } statsContainer.append(minluckList); doEvent2("mh-improved-cre-list-rendered"); } const existing = document.querySelector("#mh-improved-cre-table"); if (existing) { existing.remove(); } minluckList.classList.remove("cre-loading"); const table = makeElement("table"); table.id = "mh-improved-cre-table"; const tableheader = makeElement("thead"); makeElement("th", "name", "Mouse", tableheader); makeElement("th", "", "Minluck", tableheader); makeElement("th", "", "Catch Rate", tableheader); table.append(tableheader); const rows = []; for (const mouse of list) { const mousePower = yield getMousePower(mouse.type); const mouseEffectiveness = yield getMouseEffectiveness(mouse.type); const minluck = yield getMinluck(mousePower, mouseEffectiveness); const catchRate = yield getCatchRate(mousePower, mouseEffectiveness); const crClass = ["mh-improved-cre-data"]; if (catchRate.rate * 100 >= 100) { crClass.push("mh-improved-cre-data-good"); } else if (catchRate.rate * 100 <= 60) { crClass.push("mh-improved-cre-data-bad"); } if (user.trap_luck >= minluck) { crClass.push("mh-improved-cre-data-minlucked"); } rows.push({ mouse: mouse.name, type: mouse.type, minluck, catchRateValue: catchRate.rate, catchRate: catchRate.percent, crClass }); } rows.sort((a, b) => { if (a.catchRateValue !== b.catchRateValue) { return a.catchRateValue - b.catchRateValue; } return b.minluck - a.minluck; }); if (rows.length === 0) { makeElement("span", "mh-improved-cre-no-mice", "No mice found.", table); minluckList.append(table); return; } rows.forEach(({ mouse, type, minluck, catchRate, crClass }) => { const row = makeElement("tr", "mh-improved-cre-row"); const name = makeElement("td", "mh-improved-cre-name"); const nameLink = makeElement("a", "", mouse); nameLink.addEventListener("click", (e) => { e.preventDefault(); hg.views.MouseView.show(type); }); name.append(nameLink); row.append(name); makeElement("td", crClass, minluck, row); makeElement("td", crClass, catchRate, row); table.append(row); }); minluckList.append(table); }); main11 = () => __async(void 0, null, function* () { onNavigation(updateMinLucks, { page: "camp" }); onRequest("users/changetrap.php", updateMinLucks); onTravel(null, { callback: updateMinLucks }); }); init16 = () => __async(void 0, null, function* () { addStyles(styles_default21, "catch-rate-estimate"); setTimeout(main11, 240); }); catch_rate_estimate_default = { id: "catch-rate-estimate", name: "Catch Rate Estimator & Minlucks", type: "feature", default: true, description: "Minluck and catch rate estimates.", load: init16 }; } }); // src/modules/copy-id/settings/index.js var settings_default15; var init_settings16 = __esm({ "src/modules/copy-id/settings/index.js"() { settings_default15 = () => __async(void 0, null, function* () { return [ { id: "copy-id-button.hide-button", title: "Hide button <em>(click profile pic to copy ID)</em>", default: false } ]; }); } }); // src/modules/copy-id/styles.css var styles_default22; var init_styles23 = __esm({ "src/modules/copy-id/styles.css"() { styles_default22 = ".mousehuntHud-userStatBar .profileImage{position:relative}.mh-copy-id-button{position:absolute;top:30px;left:3px;z-index:10;display:none;padding:2px 4px;font-size:9px;cursor:pointer}.mh-copy-id-success-message{position:absolute;top:32px;left:60px;z-index:10;font-weight:900;color:#fff;text-shadow:1px 1px 1px #000;opacity:0;transition:opacity .2s ease-in-out}\n"; } }); // src/modules/copy-id/index.js var main12, init17, copy_id_default; var init_copy_id = __esm({ "src/modules/copy-id/index.js"() { init_utils2(); init_settings16(); init_styles23(); main12 = () => { const profilePic = document.querySelector(".mousehuntHud-userStatBar .mousehuntHud-profilePic"); if (!profilePic) { return; } const copyIdButton = makeElement("div", ["mh-copy-id-button", "mousehuntActionButton", "tiny"]); const hidebutton = getSetting("copy-id-button.hide-button"); if (hidebutton) { copyIdButton.classList.add("hidden"); } makeElement("span", "mh-copy-id-button-text", "Copy ID", copyIdButton); profilePic.parentNode.insertBefore(copyIdButton, profilePic.nextSibling); const successMessage = makeElement("div", "mh-copy-id-success-message", "Copied!"); successMessage.style.opacity = 0; copyIdButton.parentNode.insertBefore(successMessage, copyIdButton.nextSibling); const clickAction = (e) => { e.preventDefault(); const Id = user.user_id; navigator.clipboard.writeText(Id); successMessage.style.opacity = 1; setTimeout(() => { successMessage.style.opacity = 0; }, 1e3); }; copyIdButton.addEventListener("click", clickAction); if (hidebutton) { profilePic.setAttribute("onclick", ""); profilePic.addEventListener("click", clickAction); } else { profilePic.addEventListener("mouseenter", () => { copyIdButton.style.display = "block"; }); profilePic.addEventListener("mouseleave", () => { copyIdButton.style.display = "none"; }); copyIdButton.addEventListener("mouseenter", () => { copyIdButton.style.display = "block"; }); copyIdButton.addEventListener("mouseleave", () => { copyIdButton.style.display = "none"; }); } }; init17 = () => __async(void 0, null, function* () { addStyles(styles_default22, "copy-id"); main12(); }); copy_id_default = { id: "copy-id", name: "Copy ID Button", type: "feature", default: true, description: "Hover over your profile picture in the HUD for a quick 'Copy ID to clipboard' button.", load: init17, settings: settings_default15 }; } }); // src/modules/custom-background/gradients.json var gradients_default; var init_gradients = __esm({ "src/modules/custom-background/gradients.json"() { gradients_default = [ { id: "midnight", name: "Midnight", css: "linear-gradient(220.55deg, #565656 0%, #181818 100%)" }, { id: "night-in-salem", name: "Night in Salem", css: "linear-gradient(#111827, #581c87, #7c3aed)" }, { id: "cosmic-twilight", name: "Cosmic Twilight", css: "linear-gradient(to right, #0f172a, #581c87, #0f172a)" }, { id: "galactic-dusk", name: "Galactic Dusk", css: "linear-gradient(220.55deg, #4063bc 0%, #6b0013 100%)" }, { id: "emerald-lagoon", name: "Emerald Lagoon", css: "radial-gradient(80.99% 100% at 50% 0%, #00ff0a 0%, #36008e 100%), radial-gradient(50% 123.47% at 50% 50%, #efe7c8 0%, #36008e 100%), linear-gradient(301.28deg, #ff006b 0%, #48dd9e 100%), linear-gradient(294.84deg, #5a60e4 0%, #d30000 100%), linear-gradient(52.29deg, #000000 0%, #00ff85 100%), radial-gradient(100% 138.69% at 100% 0%, #0007a5 0%, #ff7a00 100%), radial-gradient(70.41% 100% at 50% 0%, #d5b300 0%, #2200aa 100%)" }, { id: "aurora", name: "Aurora", css: "radial-gradient(65% 100% at 50% 0%, #00ff94 0%, rgba(0, 255, 148, 0.25) 100%), linear-gradient(230deg, #000000 25%, #170059 100%), linear-gradient(215deg, #ffebb9 10%, #19004e 80%), radial-gradient(100% 245% at 100% 100%, #ffffff 0%, #000353 100%), linear-gradient(125deg, #1400ff 0%, #3a0000 100%), linear-gradient(225deg, #00ebfc 3.7%, #00f0ff 11.4%, #000b6f 55.3%, #001676 64.1%, #001676 75%, #00e1f6 100%, #00ecfd 100%, #001676 100%), linear-gradient(135deg, #00f0ff 0%, #000b6f 2.4%, #00ebfc 20.5%, #001676 35%, #00e1f6 47.2%, #001676 66.8%, #00ecfd 84.9%, #001676 100%)" }, { id: "amber-sunrise", name: "Amber Sunrise", css: "radial-gradient(circle at center top, #b45309, #fdba74, #9f1239)" }, { id: "warm-glow", name: "Warm Glow", css: "radial-gradient(at center top, #d1d5db, #c026d3, #ea580c)" }, { id: "aqua-depths", name: "Aqua Depths", css: "linear-gradient(220.55deg, #24cfc5 0%, #001c63 100%)" }, { id: "cobalt-mist", name: "Cobalt Mist", css: "linear-gradient(#3951c6, #8896dd)" }, { id: "crimson-blush", name: "Crimson Blush", css: "linear-gradient(#b9466c, #e3b5c4)" }, { id: "emerald-forest", name: "Emerald Forest", css: "linear-gradient(#43ac20, #76df53)" }, { id: "flamingo-fling", name: "Flamingo Fling", css: "linear-gradient(#e84a8c, #f3a5c5)" }, { id: "glacial-gleam", name: "Glacial Gleam", css: "linear-gradient(220.55deg, #c5edf5 0%, #4a879a 100%)" }, { id: "lavender-lustre", name: "Lavender Lustre", css: "linear-gradient(#de97f9, #9157ff)" }, { id: "mint-surf", name: "Mint Surf", css: "linear-gradient(0deg, #08aeea 0%, #2af598 100%)" }, { id: "orange-coral", name: "Orange Coral", css: "linear-gradient(to top, #fb923c, #fb7185)" }, { id: "radiant-rouge", name: "Radiant Rouge", css: "linear-gradient(161.15deg, #ffa492 12.73%, #ff2c55 72.95%)" }, { id: "sangria-solstice", name: "Sangria Solstice", css: "linear-gradient(181deg, #770738, #ddbb90)" }, { id: "sea-sky", name: "Sea Sky", css: "linear-gradient(to top, #38bdf8, #312e81)" }, { id: "skyline-whisper", name: "Skyline Whisper", css: "linear-gradient(#53a5df, #a9d2ef)" }, { id: "cotton-candy-shores", name: "Cotton Candy Shores", css: "linear-gradient(#32c7e5, #f078d5)" }, { id: "canary-shine", name: "Canary Shine", css: "linear-gradient(220.55deg, #fff500 0%, #ffb800 100%)" }, { id: "oahu-sunset", name: "Oahu Sunset", css: "linear-gradient(to top, #fb923c, #38bdf8)" }, { id: "polaroid-memories", name: "Polaroid Memories", css: "linear-gradient(to top, #040308, #ad4a28, #dd723c, #fc7001, #dcb697, #9ba5ae, #3e5879, #020b1a)" }, { id: "neon-nights", name: "Neon Nights", css: "linear-gradient(#f3b167, #ec38bc, #7303c0, #03001e)" }, { id: "soft-metal", name: "Soft Metal", css: "conic-gradient(at right top, rgb(199, 210, 254), rgb(71, 85, 105), rgb(199, 210, 254))" }, { id: "frosted-orchid", name: "Frosted Orchid", css: "linear-gradient(#ecadaf 0%, #e0b6a5 13.54%, #dc8b9d 30.21%, #c05ac9 44.27%, #b865cf 57.81%, #c3a7d9 71.87%, #c5c1e2 84.9%, #c6d8e4 100%)" }, { id: "spectral-summer", name: "Spectral Summer", css: "linear-gradient(to top, #3f51b1 0%, #5a55ae 13%, #7b5fac 25%, #8f6aae 38%, #a86aa4 50%, #cc6b8e 62%, #f18271 75%, #f3a469 87%, #f7c978 100%)" }, { id: "cold-breeze", name: "Cold Breeze", css: "conic-gradient(at center bottom, #ffffff, #0ea5e9, #0ea5e9)" }, { id: "cyberpop", name: "Cyberpop", css: "linear-gradient(135deg, #0e0220 0%, #000000 6px, #e40475 24.8%, #0e0220 35%, #48e0e4 56.3%, #48e0e4 62.4%, #ff00c8 72.9%, rgba(0, 0, 0, 0.86) 78.5%, #48e0e4 100%)" }, { id: "rainbow", name: "Rainbow", css: "linear-gradient(#e02020 0%, #fa6400 17%, #f7b500 33%, #6dd400 50%, #0091ff 67%, #6236ff 83%, #b620e0 100%)" }, { id: "candy-cane-breeze", name: "Candy Cane Breeze", css: "radial-gradient(at 30% -5%, #92f2f2, #d6cff1, rgba(255, 255, 255, 0) 25%), radial-gradient(at 50% 70%, #c4f2e5, rgba(255, 255, 255, 0) 30%), radial-gradient(at 70% 0%, #d6cff1, rgba(255, 255, 255, 0) 20%), linear-gradient(75deg, #92f2f2 5%, rgba(255, 255, 255, 0), #a8d0f0, rgba(255, 255, 255, 0), #eed5f2, rgba(255, 255, 255, 0), #d6cff1, rgba(255, 255, 255, 0), #c4f2e5 90%), radial-gradient(at 30% 50%, #92f2f2, rgba(255, 255, 255, 0) 30%), radial-gradient(at 30% 50%, #9cb9fc, rgba(255, 255, 255, 0) 30%), radial-gradient(at 100% 50%, #92f2f2, #c2dcf2, rgba(255, 255, 255, 0) 50%), linear-gradient(115deg, #92f2f2 5%, #a8d0f0 10%, #d6cff1, #eed5f2 20%, #a8d0f0, #a8d0f0 30%, #d6cff1, #c2dcf2 40%, #92f2f2, #a8d0f0 70%)" }, { id: "celestial-dreamscape", name: "Celestial Dreamscape", css: "radial-gradient(18% 28% at 24% 50%, #cefaff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(18% 28% at 18% 71%, rgba(255, 255, 255, 0.35) 6%, rgba(7, 58, 255, 0) 100%), radial-gradient(70% 53% at 36% 76%, #73f2ff 0%, rgba(7, 58, 255, 0) 100%), radial-gradient(42% 53% at 15% 94%, #ffffff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(42% 53% at 34% 72%, #ffffff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(18% 28% at 35% 87%, #ffffff 7%, rgba(7, 58, 255, 0) 100%), radial-gradient(31% 43% at 7% 98%, #ffffff 24%, rgba(7, 58, 255, 0) 100%), radial-gradient(21% 37% at 72% 23%, rgba(211, 255, 109, 0.61) 24%, rgba(7, 58, 255, 0) 100%), radial-gradient(35% 56% at 91% 74%, rgba(138, 79, 255, 0.96) 9%, rgba(7, 58, 255, 0) 100%), radial-gradient(74% 86% at 67% 38%, rgba(109, 255, 174, 0.96) 24%, rgba(7, 58, 255, 0) 100%), linear-gradient(125deg, #4eb5ff 1%, #4c00fc 100%)" }, { id: "dreamy-hues", name: "Dreamy Hues", css: "linear-gradient(97.92deg, #bc97c6 0%, #f6d2c8 6.33%, #f5e2c8 12.2%, #bde8d9 21.5%, #e8dfc6 34.83%, #edc7c6 44.22%, #e6bdcf 52.26%, #c7b2e5 60.55%, #b8bfe7 70.29%, #c3e1d3 79.4%, #eedfc5 89.06%, #e5b0c9 94.93%, #b495c5 100.7%)" }, { id: "pastel-daydream", name: "Pastel Daydream", css: "radial-gradient(at 40% 20%, #ffb87a 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 80% 0%, #1fddff 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 0% 50%, #fcdee1 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 73% 51%, #ff85ad 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 0% 100%, #ffb58a 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 80% 100%, #6b66ff 0px, rgba(0, 0, 0, 0) 50%), radial-gradient(at 0% 0%, #ff85a7 0px, rgba(0, 0, 0, 0) 50%)" }, { id: "rainbows-embrace", name: "Rainbow's Embrace", css: "radial-gradient(50% 100% at left -10% top 80%, #db0072, rgba(0, 0, 0, 0)), radial-gradient(50% 100% at left 25% top 60%, #ffe53e, rgba(0, 0, 0, 0)), radial-gradient(50% 100% at left 55% top 40%, #00ffe4, rgba(0, 0, 0, 0)), radial-gradient(50% 100% at left 90% top 20%, #d150ff, rgba(0, 0, 0, 0))" } ]; } }); // src/modules/custom-background/settings/index.js var settings_default16; var init_settings17 = __esm({ "src/modules/custom-background/settings/index.js"() { init_gradients(); settings_default16 = () => __async(void 0, null, function* () { const gradientOptions = gradients_default.map((gradient) => ({ name: gradient.name, value: gradient.id })); const options = [ { name: "Default", value: "default" }, { name: "Events", value: "group", options: [ { name: "Birthday", value: "birthday" }, { name: "Great Winter Hunt", value: "great_winter_hunt" }, { name: "Halloween", value: "halloween" }, { name: "Lunar New Year", value: "lunar_new_year" }, { name: "Spring Egg Hunt", value: "spring_hunt" }, { name: "Valentine's", value: "valentines" } ] }, { name: "Color", value: "group", options: [ { name: "Blue", value: "background-color-blue" }, { name: "Cyan", value: "background-color-cyan" }, { name: "Green", value: "background-color-green" }, { name: "Pink", value: "background-color-pink" }, { name: "Purple", value: "background-color-purple" }, { name: "Red", value: "background-color-red" }, { name: "Faded", value: "background-color-faded" } ] }, { name: "Gradients", value: "group", options: gradientOptions } ]; return [{ id: "custom-background", title: 'Custom Background <a class="mh-improved-custom-bg-preview hidden">Preview</a>', default: [options[0]], description: "Change the background to an event background, a color, or a gradient.", settings: { type: "multi-select", number: 1, options } }]; }); } }); // src/modules/custom-background/styles.css var styles_default23; var init_styles24 = __esm({ "src/modules/custom-background/styles.css"() { styles_default23 = ".pageFrameView-column.left{box-shadow:inset -10px 0 10px -10px #333}.pageFrameView-column.right{box-shadow:inset 10px 0 10px -10px #333}.pageFrameView .pageFrameView-column:before{background:transparent}body.mh-improved-bg-background-color-blue .pageFrameView-column.right,body.mh-improved-bg-background-color-blue .pageFrameView-column.left{filter:none}body.mh-improved-bg-background-color-cyan .pageFrameView-column.right,body.mh-improved-bg-background-color-cyan .pageFrameView-column.left{filter:hue-rotate(312deg)}body.mh-improved-bg-background-color-green .pageFrameView-column.right,body.mh-improved-bg-background-color-green .pageFrameView-column.left{filter:hue-rotate(266deg)}body.mh-improved-bg-background-color-pink .pageFrameView-column.right,body.mh-improved-bg-background-color-pink .pageFrameView-column.left{filter:hue-rotate(80deg)}body.mh-improved-bg-background-color-purple .pageFrameView-column.right,body.mh-improved-bg-background-color-purple .pageFrameView-column.left{filter:hue-rotate(51deg)}body.mh-improved-bg-background-color-red .pageFrameView-column.right,body.mh-improved-bg-background-color-red .pageFrameView-column.left{filter:hue-rotate(146deg)}body.mh-improved-bg-background-color-faded .pageFrameView-column.right,body.mh-improved-bg-background-color-faded .pageFrameView-column.left{filter:sepia(1)}#mousehunt-improved-settings-feature-custom-background .PagePreferences__settingLabel{position:relative}.mh-improved-custom-bg-preview{position:absolute;top:0;right:225px;bottom:0;display:flex;align-items:center;font-size:12px}.mh-improved-custom-background-gradient-preview{display:grid;grid-template-columns:1fr 1fr;gap:20px;height:80vh;padding-right:10px;margin-right:-10px;overflow:auto}.mh-improved-custom-background-gradient-preview .gradient{display:flex;flex-direction:column;place-content:center space-between;align-items:center;width:100%;height:200px;padding:10px 0;border:1px solid #626262;border-radius:5px}.mh-improved-custom-background-gradient-preview .name{font-size:22px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000}\n"; } }); // src/modules/custom-background/index.js var addedClass, addBodyClass2, listenForPreferenceChanges, addPreview, persistBackground, init18, custom_background_default; var init_custom_background = __esm({ "src/modules/custom-background/index.js"() { init_utils2(); init_gradients(); init_settings17(); init_styles24(); addedClass = ""; addBodyClass2 = (preview = false) => { const body = document.querySelector("body"); if (!body) { return; } let setting = getSetting("custom-background-0", "default"); if (preview) { setting = preview; } if (addedClass) { if (Array.isArray(addedClass)) { addedClass.forEach((cls) => { body.classList.remove(cls); }); } else { body.classList.remove(addedClass); } addedClass = ""; } const style = document.querySelector("#mh-improved-custom-background-style"); if (style) { style.remove(); } if ("default" === setting) { return; } const background = `mh-improved-bg-${setting}`; body.classList.add(background, setting); addedClass = [background, setting]; if (setting.startsWith("background-color-")) { body.classList.remove(setting); body.classList.add(background); addedClass = background; } if (!gradients_default) { return; } const gradient = gradients_default.find((g) => g.id === setting); if (!gradient) { return; } const gradientStyle = document.createElement("style"); gradientStyle.id = "mh-improved-custom-background-style"; gradientStyle.innerHTML = `.mh-improved-custom-background-gradient-preview, body.${background} .pageFrameView-column.right.right, body.${background} .pageFrameView-column.left.left { background-color: transparent !important; background-image: none !important; } @media only screen and (max-width: 1000px) { body.${background}.hasSidebar .pageFrameView, body.${background} .pageFrameView-column.right.right, body.${background} .pageFrameView-column.left.left { background-color: transparent !important; background-image: none !important; } } body.${background} { background: ${gradient.css}; background-attachment: fixed; }`; document.head.append(gradientStyle); }; listenForPreferenceChanges = () => { const input = document.querySelector("#mousehunt-improved-settings-design-custom-background select"); if (!input) { return; } input.addEventListener("change", () => { addBodyClass2(); }); }; addPreview = () => { const previewLink = document.querySelector(".mh-improved-custom-bg-preview"); if (!previewLink) { return; } previewLink.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); let content = ""; gradients_default.forEach((gradient) => { content += `<div class="gradient" style="background: ${gradient.css}"> <div class="name">${gradient.name}</div> <div class="controls"> <div class="mousehuntActionButton lightBlue mh-improved-custom-bg-action-button" data-gradient="${gradient.id}" data-action="preview"><span>Preview</span></div> <div class="mousehuntActionButton mh-improved-custom-bg-action-button" data-gradient="${gradient.id}" data-action="use"><span>Use</span></div> </div> </div>`; }); const popup = createPopup({ title: "", className: "mh-improved-custom-background-gradient-preview-popup", content: `<div class="mh-improved-custom-background-gradient-preview">${content}</div>`, show: false }); popup.show(); const previewActions = document.querySelectorAll(".mh-improved-custom-bg-action-button"); previewActions.forEach((action) => { const gradient = action.getAttribute("data-gradient"); const actionType = action.getAttribute("data-action"); action.addEventListener("click", (evt) => { evt.preventDefault(); if ("preview" === actionType) { addBodyClass2(gradient); } else if ("use" === actionType) { const input = document.querySelector("#mousehunt-improved-settings-design-custom-background select"); if (input) { input.value = gradient; input.dispatchEvent(new Event("change")); } popup.hide(); } }); }); }); }; persistBackground = () => { addBodyClass2(); onNavigation(() => { addBodyClass2(); setTimeout(addBodyClass2, 250); setTimeout(addBodyClass2, 500); }); onNavigation(() => { listenForPreferenceChanges(); addPreview(); }, { page: "preferences", onLoad: true }); }; init18 = () => __async(void 0, null, function* () { addStyles(styles_default23, "custom-background"); persistBackground(); }); custom_background_default = { id: "custom-background", type: "design", alwaysLoad: true, load: init18, settings: settings_default16 }; } }); // src/modules/custom-css/settings/index.js var settings_default17; var init_settings18 = __esm({ "src/modules/custom-css/settings/index.js"() { settings_default17 = () => __async(void 0, null, function* () { return [{ id: "override-styles", title: "Custom Styles", default: "", description: '<a href="https://github.com/MHCommunity/mousehunt-improved/wiki/Custom-CSS" target="_blank" rel="noopener noreferrer">Custom CSS</a> to apply to MouseHunt.', settings: { type: "textarea" } }]; }); } }); // src/modules/custom-css/index.js var loadStyleOverrides, init19, custom_css_default; var init_custom_css = __esm({ "src/modules/custom-css/index.js"() { init_utils2(); init_settings18(); loadStyleOverrides = () => { const customStyles = getSetting("override-styles"); if (customStyles) { addStyles(customStyles, "mousehunt-improved-override-styles"); } }; init19 = () => __async(void 0, null, function* () { onEvent("mh-improved-loaded", loadStyleOverrides); }); custom_css_default = { id: "custom-css", type: "advanced", alwaysLoad: true, load: init19, settings: settings_default17 }; } }); // src/modules/custom-horn/settings/index.js var settings_default18; var init_settings19 = __esm({ "src/modules/custom-horn/settings/index.js"() { settings_default18 = () => __async(void 0, null, function* () { const options = [ { name: "Default", value: "default" }, { name: "Tournament Horn", value: "huntersHornView__horn--tournament" }, { name: "Events", value: "group", options: [ { name: "Birthday", value: "huntersHornView--seasonalEvent-birthday" }, { name: "Great Winter Hunt", value: "huntersHornView--seasonalEvent-greatWinterHunt" }, { name: "Halloween", value: "huntersHornView--seasonalEvent-halloween" }, { name: "Lunar New Year", value: "huntersHornView--seasonalEvent-lunarNewYear" }, { name: "Spring Egg Hunt", value: "huntersHornView--seasonalEvent-springEggHunt" } ] }, { name: "Color", value: "group", options: [ { name: "Blue", value: "horn-color-blue" }, { name: "Cyan", value: "horn-color-cyan" }, { name: "Green", value: "horn-color-green" }, { name: "Pink", value: "horn-color-pink" }, { name: "Purple", value: "horn-color-purple" }, { name: "Red", value: "horn-color-red" }, { name: "Faded", value: "horn-color-faded" }, { name: "Rainbow", value: "horn-color-rainbow" } ] } ]; return [{ id: "custom-horn", title: 'Custom Horn <a class="mh-improved-custom-horn-show-horn">Show Horn</a>', default: [options[0]], description: "Change the horn to an event horn or a different color.", settings: { type: "multi-select", number: 1, options } }]; }); } }); // src/modules/custom-horn/styles.css var styles_default24; var init_styles25 = __esm({ "src/modules/custom-horn/styles.css"() { styles_default24 = ".huntersHornView.horn-color-blue .huntersHornView__horn{filter:hue-rotate(158deg)}.huntersHornView.horn-color-cyan .huntersHornView__horn{filter:hue-rotate(112deg)}.huntersHornView.horn-color-green .huntersHornView__horn{filter:hue-rotate(66deg)}.huntersHornView.horn-color-pink .huntersHornView__horn{filter:hue-rotate(280deg)}.huntersHornView.horn-color-purple .huntersHornView__horn{filter:hue-rotate(195deg)}.huntersHornView.horn-color-red .huntersHornView__horn{filter:hue-rotate(317deg) saturate(1.6)}.huntersHornView.horn-color-faded .huntersHornView__horn{filter:sepia(1)}.huntersHornView.horn-color-rainbow .huntersHornView__horn{animation:mh-improved-hue-rotate 30s infinite}@media (prefers-reduced-motion: reduce){.huntersHornView.horn-color-rainbow .huntersHornView__horn{animation:none}}.mh-improved-custom-horn-show-horn{position:absolute;top:0;right:225px;bottom:0;display:flex;align-items:center;font-size:12px}\n"; } }); // src/modules/custom-horn/index.js var addedClass2, addHornClass, listenForPreferenceChanges2, addPreview2, persistHornClass, init20, custom_horn_default; var init_custom_horn = __esm({ "src/modules/custom-horn/index.js"() { init_utils2(); init_settings19(); init_styles25(); addedClass2 = ""; addHornClass = (preview = false) => { const hornView = document.querySelector(".huntersHornView"); if (!hornView) { return; } const horn = document.querySelector(".huntersHornView__horn"); if (!horn) { return; } horn.classList.add("huntersHornView__horn--default"); let setting = getSetting("custom-horn-0", "default"); if (preview) { setting = preview; } hornView.classList.add(); if (addedClass2) { hornView.classList.remove(addedClass2); } if ("default" !== setting) { hornView.classList.add(setting); addedClass2 = setting; } }; listenForPreferenceChanges2 = () => { const input = document.querySelector("#mousehunt-improved-settings-design-custom-horn select"); if (!input) { return; } input.addEventListener("change", () => { addHornClass(); }); }; addPreview2 = () => { const previewLink = document.querySelector(".mh-improved-custom-horn-show-horn"); if (!previewLink) { return; } let isShowing = false; let timeout = null; previewLink.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); const horn = document.querySelector(".huntersHornView__horn"); if (!horn) { return; } const backdrop = document.querySelector(".huntersHornView__backdrop"); if (!backdrop) { return; } if (isShowing) { isShowing = false; previewLink.textContent = "Show Horn"; clearTimeout(timeout); horn.classList.add("huntersHornView__horn--reveal"); horn.classList.remove("huntersHornView__horn--ready"); setTimeout(() => { backdrop.classList.remove("huntersHornView__backdrop--active"); }, 400); timeout = setTimeout(() => { horn.classList.remove("huntersHornView__horn--reveal"); }, 1e3); return; } isShowing = true; previewLink.textContent = "Hide Horn"; backdrop.classList.add("huntersHornView__backdrop--active"); horn.classList.add("huntersHornView__horn--ready", "huntersHornView__horn--reveal"); clearTimeout(timeout); }); }; persistHornClass = () => { addHornClass(); onNavigation(() => { setTimeout(addHornClass, 1e3); }); onNavigation(() => { listenForPreferenceChanges2(); addPreview2(); }, { page: "preferences", onLoad: true }); }; init20 = () => __async(void 0, null, function* () { addStyles(styles_default24, "custom-horn"); persistHornClass(); }); custom_horn_default = { id: "custom-horn", type: "design", alwaysLoad: true, load: init20, settings: settings_default18 }; } }); // src/modules/custom-hud/settings/index.js var settings_default19; var init_settings20 = __esm({ "src/modules/custom-hud/settings/index.js"() { settings_default19 = () => __async(void 0, null, function* () { const options = [ { name: "Default", value: "default" }, { name: "Color", value: "group", options: [ { name: "Cyan", value: "hud-cyan" }, { name: "Green", value: "hud-green" }, { name: "Pink", value: "hud-pink" }, { name: "Purple", value: "hud-purple" }, { name: "Red", value: "hud-red" }, { name: "Teal", value: "hud-teal" }, { name: "Faded", value: "hud-faded" }, { name: "Gray", value: "hud-gray" } ] }, { name: "Midnight", value: "hud-midnight" }, { name: "Blueprint", value: "hud-blueprint" }, { name: "Suede", value: "hud-suede" }, { name: "Groovy Green", value: "hud-groovy-green" } ]; return [{ id: "custom-hud", title: "Custom HUD background", default: [options[0]], description: "Change the marbled HUD background.", settings: { type: "multi-select", number: 1, options } }]; }); } }); // src/modules/custom-hud/styles/blueprint.css var blueprint_default; var init_blueprint2 = __esm({ "src/modules/custom-hud/styles/blueprint.css"() { blueprint_default = "body .mousehuntHud-marbleDrawer{background:url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) -46px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) 731px 0 no-repeat,url(https://i.mouse.rip/mh-improved/custom-hud/hud-blueprint.png) repeat-y top center}\n"; } }); // src/modules/custom-hud/styles/groovy-green.css var groovy_green_default; var init_groovy_green = __esm({ "src/modules/custom-hud/styles/groovy-green.css"() { groovy_green_default = "body .mousehuntHud-marbleDrawer{background:url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) -46px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) 731px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/folklore_forest_region/pattern.png) repeat-y bottom center/cover}\n"; } }); // src/modules/custom-hud/styles/midnight.css var midnight_default; var init_midnight = __esm({ "src/modules/custom-hud/styles/midnight.css"() { midnight_default = ".pageFrameView #mousehuntContainer.PageCamp .gameHeader:before,.pageFrameView #mousehuntContainer.PageJournal .gameHeader:before{background:transparent}.pageFrameView #mousehuntContainer.PageCamp,.pageFrameView #mousehuntContainer.PageJournal{background-color:#383e49}body .mousehuntHud-marbleDrawer{background:url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) -46px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) 731px 0 no-repeat;background-color:#383e49}.pageFrameView .pageFrameView-contentContainer,.pageFrameView .pageFrameView-column.right,.pageFrameView .pageFrameView-column.left{background-color:#111;border-color:#111}\n"; } }); // src/modules/custom-hud/styles/suede.css var suede_default; var init_suede = __esm({ "src/modules/custom-hud/styles/suede.css"() { suede_default = ".mousehuntHud-marbleDrawer{background:url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) -51px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) 736px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/suede.jpg) repeat bottom left/760px}#mousehuntContainer.PageCamp{background:url(https://www.mousehuntgame.com/images/ui/hud/suede.jpg) repeat-y}\n"; } }); // src/modules/custom-hud/index.js var addStyleEl, listenForPreferenceChanges3, persistBackground2, init21, custom_hud_default; var init_custom_hud = __esm({ "src/modules/custom-hud/index.js"() { init_utils2(); init_settings20(); init_blueprint2(); init_groovy_green(); init_midnight(); init_suede(); addStyleEl = () => { const setting = getSetting("custom-hud-0", "default"); const stylesEl = document.querySelector("#mh-improved-custom-hud-style"); if (stylesEl) { stylesEl.remove(); } if ("default" === setting) { return; } const mapping = { "hud-blueprint": blueprint_default, "hud-suede": suede_default, "hud-groovy-green": groovy_green_default, "hud-midnight": midnight_default }; const styleEl = document.createElement("style"); styleEl.id = "mh-improved-custom-hud-style"; if (mapping[setting]) { styleEl.innerHTML = mapping[setting]; } else { styleEl.innerHTML = `body .mousehuntHud-marbleDrawer { background: url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) -46px 0 no-repeat, url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) 731px 0 no-repeat, url(https://i.mouse.rip/mh-improved/marble-shadow.png) 6px 0 no-repeat, url(https://i.mouse.rip/mh-improved/custom-hud/${setting}.png) repeat-y top center; } .mousehuntHud-titleProgressBar { mix-blend-mode: luminosity; }`; } document.head.append(styleEl); }; listenForPreferenceChanges3 = () => { const input = document.querySelector("#mousehunt-improved-settings-design-custom-hud select"); if (!input) { return; } input.addEventListener("change", () => { addStyleEl(); }); }; persistBackground2 = () => { addStyleEl(); onNavigation(listenForPreferenceChanges3, { page: "preferences", onLoad: true }); }; init21 = () => __async(void 0, null, function* () { persistBackground2(); }); custom_hud_default = { id: "custom-hud", type: "design", alwaysLoad: true, load: init21, settings: settings_default19 }; } }); // src/modules/dark-mode/styles.css var styles_default25; var init_styles26 = __esm({ "src/modules/dark-mode/styles.css"() { styles_default25 = ":root{--mhdm-dimming-filter: transparent}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-goalPadding{background-color:transparent}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-adventureName{color:#000}.mh-dark-mode .journal a{color:#0174a7}.mh-dark-mode .entry.short.supplytransferitem{background:url(https://i.mouse.rip/upscaled/item-add.png) no-repeat 10px center;background-color:#a0a0a0}.mh-dark-mode .entry.short.supplytransferitem a{color:#0c5271}.mh-dark-mode .itemPurchaseView-action-goldGost{background-color:#0e0e0e;border-color:#242424}.mh-dark-mode .itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container{color:#fff;background-color:#242424}.mh-dark-mode .inventoryPage-item-recipeOptions li{color:#2c2c2c}.mh-dark-mode .treasureMapView-environment.active .treasureMapView-environment-title{background-color:#38727b}.mh-dark-mode #overlayPopup.treasureMapPopup .treasureMapView-environment.active .treasureMapView-environment-title a,.mh-dark-mode #overlayPopup.treasureMapPopup .treasureMapView-environment.wrong .treasureMapView-environment-title a,.mh-dark-mode .treasureMapView-environment-progress{color:#fff}.mh-dark-mode .treasureMapView-environment.wrong .treasureMapView-environment-title{background-color:#862f2f}.mh-dark-mode .pageFrameView #overlayPopup.treasureMapPopup .treasureMapRootView-content a.messageBoardView-message-delete{color:transparent}.mh-dark-mode .itemPurchaseView-margin,.mh-dark-mode .itemPurchaseView-image-container,.mh-dark-mode .itemPurchaseView-content-container{background-color:#000}.mh-dark-mode .itemPurchaseView-action-purchaseHelper-owned{background-color:#3d3d3d;border-color:#606060}.mh-dark-mode .entry.short.misc.custom.unstable_charm_trigger{background:#7ae4ff}.mh-dark-mode .journal .entry.winterTaiga,.mh-dark-mode .entry.short.misc.custom.winter_hunt_2021.instantReturnGolem.jhMisc,.mh-dark-mode .entry.short.misc.custom.winter_hunt_2021.claimGolemReward.jhMisc,.mh-dark-mode .winter_hunt_2021.sendGolem{background-color:#7ae4ff}.mh-dark-mode #jhButton{color:#3b5998}.mh-dark-mode .pageFrameView #overlayPopup.treasureMapPopup .treasureMapRootView-content a.treasureMapView-block-search-clear{color:#ccc;border-left:none}.mh-dark-mode .treasureMapView-block-search-text{color:#fff;background-color:#636363;border:1px solid #2c2c2c}.mh-dark-mode #tsitu-hunter-id-nav-ui input{color:#fff;background-color:#636363;border-color:#2c2c2c!important}.mh-dark-mode #tsitu-hunter-id-nav-ui input::placeholder{color:#ccc}.mh-dark-mode .marketplaceView-listing-progressLabel{color:#fff;text-shadow:0 1px #000}.mh-dark-mode .marketplaceView-listing-progressBar-padding{background-color:#424140}.mh-dark-mode .marketplaceView-listing-progressBar span{background-color:#956ab4}.mh-dark-mode .marketplaceMyListings s{color:#969696}.mh-dark-mode .pageFrameView .itemViewStatBlock .itemViewStatBlock-stat-label{background-color:transparent}.mh-dark-mode.shopCustomization .itemViewStatBlock-stat{border-color:#404040}.mh-dark-mode .journal .entry.larryGift{background:#deffc7}.mh-dark-mode .pageFrameView .mousehuntHeaderView .menuItem:hover{background-color:#000}.mh-dark-mode .pageFrameView .mousehuntHeaderView .menuItem.dropdown:hover .arrow{border-bottom-color:#666}.mh-dark-mode .trapSelectorView__trapStatSummaryContainer{background:#333}.mh-dark-mode .pageFrameView .campPage-trap-itemBrowser-armed-item-content .campPage-trap-itemBrowser-item-disarmButton{color:#000}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .trapImageView{background:#000!important;border:none}.mh-dark-mode .mh-ui-goals-sidebar-toggle{filter:invert(1)}.mh-dark-mode .giftSelectorView-gift.gift_of_the_day .giftSelectorView-gift-padding{color:#000}.mh-dark-mode .mousehuntHeaderView .dropdownContent a span,.mh-dark-mode .pageFrameView .giftSelectorView-friend>.giftSelectorView-friend-padding{color:#fff}.mh-dark-mode .regionName{background-color:#1c1c1c;border-color:#000}.mh-dark-mode .regionWrapper{border-color:#0c0c0c}.mh-dark-mode .locationWrapper{background-color:#2e2e2e}.mh-dark-mode .locationWrapper:nth-child(2n){background-color:#242424}.mh-dark-mode .dashboardWrapper{border-color:#0c0c0c}.mh-dark-mode .scoreboardRelativeRankingTableView-table,.mh-dark-mode .mousehuntHeaderView .dropdownContent{color:#fff;background-color:#252525;border-color:#666;border-radius:0}.mh-dark-mode .mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-logout,.mh-dark-mode .mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user a:nth-child(2),.mh-dark-mode .mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a,.mh-dark-mode .mousehuntHeaderView .dropdownContent a{color:#009adf}.mh-dark-mode .mousehuntHeaderView .dropdownContent a{border-color:#666}.mh-dark-mode .pageFrameView #mousehuntContainer.PageHunterProfile .trapImageView{background:none;border:none}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp{box-shadow:none}.mh-dark-mode .trapSelectorView__codexBrowser .loading,.mh-dark-mode .campPage-trap-itemBrowser-empty-container{color:#fff;background-color:#424242;border-color:#5c5c5c}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .journal:before,.mh-dark-mode .pageFrameView #mousehuntContainer.PageJournal .journal:before{background:none}.mh-dark-mode .giftSelectorView-confirmPopup-content{color:#dcddde;background-color:#242424}.mh-dark-mode .giftSelectorView-confirmPopup-padding{background-color:#0f0f0f;border-color:#0f0f0f;box-shadow:0 0 10px #c8c8c8}.mh-dark-mode .campPage-trap-itemBrowser-item.largeQuantity .campPage-trap-itemBrowser-item-quantity .quantity{background-color:#333}.mh-dark-mode .campPage-trap-itemBrowser-item-image:after,.mh-dark-mode .pageFrameView .campPage-trap-itemBrowser-favorite-item-image-frame{border-color:#000;box-shadow:2px 2px 3px -1px #000 inset}.mh-dark-mode .campPage-trap-itemBrowser-filter input{background-color:#333;border-color:#000}.mh-dark-mode .campPage-trap-itemBrowser-filterContainer .label,.mh-dark-mode .campPage-trap-itemBrowser-quickLinks-header{color:#fff}.mh-dark-mode .campPage-trap-itemBrowser .campPage-trap-itemBrowser-filter select{color:#fff;background-color:#333;border-color:#000}.mh-dark-mode .campPage-trap-itemBrowser-item-favorite,.mh-dark-mode .pageFrameView .campPage-trap-itemBrowser-tagGroup-name{background-color:#333}.mh-dark-mode .trapSelectorView__blueprint{border-color:#0e7fbf;box-shadow:-1px -1px 2px #0e7fbf inset,0 0 10px #333 inset,3px 3px 3px #000}.mh-dark-mode a.campPage-trap-blueprint-closeButton{border-color:#0e7fbf}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner:before{background:transparent}.mh-dark-mode .adventureBookBanner-container{background-color:#bbb;border-color:#333}.mh-dark-mode .mousehuntHeaderView a.superBrie .getMore{background-color:#0e7fbf}.journal .entry.socialGift,.journal .content .marketplacepurchase,.journal .content .supplytransferitem,.journal .content .toolbarinstalled{background-image:url(https://i.mouse.rip/item_add.png)}.journal .content .marketplacesale,.journal .content .supplytransfergold{background-image:url(https://i.mouse.rip/gold_add.png)}.journal .content .travel{background-image:url(https://i.mouse.rip/travel.png)}.mh-dark-mode .mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd){background-color:#3d3d3d}.mh-dark-mode .minluck-title,.mh-dark-mode .mouseview-has-mhct .ar-header{border-color:#606060}.mh-dark-mode li.minluck-item{background-color:#3d3d3d;border-color:#606060}.mh-dark-mode .pageFrameView .mouseViewPopup .content{color:#dcddde;background-color:#242424}.mh-dark-mode .mouseView-title{color:#dcddde}.mh-dark-mode .mouseView-statsContainer-block{background-color:#1a1a1a}.mh-dark-mode .mh-improved-map-sidebar-goal-image,.mh-dark-mode .mh-improved-mice-sidebar-mouse-image{box-shadow:inset 0 0 0 1px #222}.mh-dark-mode .mh-improved-map-sidebar-goal:hover,.mh-dark-mode .mh-improved-mice-sidebar-mouse:hover{background-color:#383e49}.mh-dark-mode .scoreboardRelativeRankingTableView th{color:#a7adb9;background-color:#383838;border-color:#383838}.mh-dark-mode .pageFrameView .scoreboardRelativeRankingTableView-table{border-color:#383838}.mh-dark-mode .pageFrameView .pageSidebarView-block{background-color:transparent}.mh-dark-mode .mh-improved-map-sidebar-title,.mh-dark-mode .mh-improved-mice-sidebar-title{color:#a7adb9;background-color:#383838}.mh-dark-mode .mh-improved-map-sidebar,.mh-dark-mode .mh-improved-mice-sidebar{border-color:#383838}.mh-dark-mode .mh-improved-map-sidebar-title:after{filter:invert(1)}.mh-dark-mode .mh-improved-favorite-setups-button{background:#424242;border:1px solid #5c5c5c;box-shadow:1px 1px 1px #535151}\n"; } }); // src/modules/dark-mode/index.js var isDarkMode, checkForDarkModeAndAddBodyClass, addDarkModeBodyClass, init22, dark_mode_default; var init_dark_mode = __esm({ "src/modules/dark-mode/index.js"() { init_utils2(); init_styles26(); isDarkMode = () => { return !!getComputedStyle(document.documentElement).getPropertyValue("--mhdm-white"); }; checkForDarkModeAndAddBodyClass = () => { if (!isDarkMode()) { return false; } document.body.classList.add("mh-dark-mode"); return true; }; addDarkModeBodyClass = () => { let added = checkForDarkModeAndAddBodyClass(); if (!added) { setTimeout(() => { added = checkForDarkModeAndAddBodyClass(); if (!added) { setTimeout(() => { checkForDarkModeAndAddBodyClass(); }, 1e3); } }, 500); } }; init22 = () => __async(void 0, null, function* () { addStyles(styles_default25, "dark-mode"); addDarkModeBodyClass(); onNavigation(addDarkModeBodyClass); onRequest("*", addDarkModeBodyClass); }); dark_mode_default = { id: "dark-mode", name: "Dark Mode Updates & Tweaks", type: "feature", default: true, description: "Improves and tweaks dark mode. Requires either the standalone extension or enabling the setting in MHCT.", load: init22 }; } }); // src/modules/custom-shield/settings/index.js var settings_default20; var init_settings21 = __esm({ "src/modules/custom-shield/settings/index.js"() { settings_default20 = () => __async(void 0, null, function* () { let options = [ { name: "Default", value: "default" }, { name: "Default (normal resolution)", value: "default-normal" }, { name: "Events", value: "group", options: [ { name: "Birthday (Generic)", value: "birthday" }, { name: "Birthday (Year 10)", value: "birthday.year10" }, { name: "Birthday (Year 11)", value: "birthday.year11" }, { name: "Birthday (Year 12)", value: "birthday.year12" }, { name: "Birthday (Year 13)", value: "birthday.year13" }, { name: "Birthday (Year 14)", value: "birthday.year14" }, { name: "Birthday (Year 15)", value: "birthday.year15" }, { name: "Birthday (Year 16)", value: "birthday.year16" }, { name: "Great Winter Hunt", value: "winter_hunt" }, { name: "Halloween", value: "halloween" }, { name: "Larry's Football Challenge", value: "larrys_football_challenge" }, { name: "Pride (LGS Required)", value: "pride" }, { name: "Remembrance Day", value: "remembrance_day" }, { name: "Spring Egg Hunt (LGS Required)", value: "spring-egg-hunt" }, { name: "Spring Egg Hunt Alt (LGS Required)", value: "spring-egg-hunt-alt" }, { name: "Valentine's", value: "valentines" } ] }, { name: "Color (LGS required)", value: "group", options: [ { name: "Blue", value: "color-blue" }, { name: "Blue with matching timer", value: "color-blue-timer" }, { name: "Cyan", value: "color-cyan" }, { name: "Cyan with matching timer", value: "color-cyan-timer" }, { name: "Green", value: "color-green" }, { name: "Green with matching timer", value: "color-green-timer" }, { name: "Pink", value: "color-pink" }, { name: "Pink with matching timer", value: "color-pink-timer" }, { name: "Purple", value: "color-purple" }, { name: "Purple with matching timer", value: "color-purple-timer" }, { name: "Red", value: "color-red" }, { name: "Red with matching timer", value: "color-red-timer" }, { name: "Faded", value: "color-faded" }, { name: "Rainbow", value: "color-rainbow" }, { name: "Rainbow with matching timer", value: "color-rainbow-timer" }, { name: "Cotton Candy", value: "color-cotton-candy" } ] }, { name: "Title Shields", value: "group", options: [ { name: "Current Title ", value: "title" }, { seperator: true }, { name: "Novice", value: "title.novice" }, { name: "Recruit", value: "title.recruit" }, { name: "Apprentice", value: "title.apprentice" }, { name: "Initiate", value: "title.initiate" }, { name: "Journeyman / Journeywoman", value: "title.journeyman" }, { name: "Master", value: "title.master" }, { name: "Grandmaster", value: "title.grandmaster" }, { name: "Legendary", value: "title.legendary" }, { name: "Hero", value: "title.hero" }, { name: "Knight", value: "title.knight" }, { name: "Lord / Lady", value: "title.lord" }, { name: "Baron / Baroness", value: "title.baron" }, { name: "Count / Countess", value: "title.count" }, { name: "Duke / Duchess", value: "title.duke" }, { name: "Grand Duke / Duchess", value: "title.grandduke" }, { name: "Archduke / Archduchess", value: "title.archduke" }, { name: "Viceroy", value: "title.viceroy" }, { name: "Elder", value: "title.elder" }, { name: "Sage", value: "title.sage" }, { name: "Fabled", value: "title.fabled" } ] }, { name: "Silly", value: "group", options: [ { name: "Scrambles ", value: "scrambles" }, { name: "Jerry ", value: "jerry" }, { name: "Romeno ", value: "romeno" } ] } ]; if (!user.has_shield) { const toDisable = /* @__PURE__ */ new Set([ "pride", "spring-egg-hunt", "spring-egg-hunt-alt", "Color (LGS required)" ]); options = options.map((option) => { if ("group" === option.value) { const disabledParent = toDisable.has(option.name) || toDisable.has(option.value); if (disabledParent) { option.disabled = true; } option.options = option.options.map((groupOption) => { if (toDisable.has(groupOption.value) || disabledParent) { groupOption.disabled = true; } return groupOption; }); } return option; }); } return [{ id: "custom-shield", title: "Custom Shield", default: [options[0]], description: "Change the shield to an event shield, a color, a title shield, or a silly shield.", settings: { type: "multi-select", number: 1, options } }]; }); } }); // src/modules/custom-shield/styles.css var styles_default26; var init_styles27 = __esm({ "src/modules/custom-shield/styles.css"() { styles_default26 = '.mousehuntHud-shield.golden.default{top:2px;left:10px;background-image:url(https://www.mousehuntgame.com/images/mousehunt_gold_logo.png);filter:drop-shadow(0 0 5px #e8dbb8);background-size:contain;transition:opacity .3s ease-in-out}.mousehuntHud-shield.golden.default-normal{top:unset;left:unset;background-image:url(https://www.mousehuntgame.com/images/ui/elements/header_golden_shield.gif);filter:none}.mousehuntHud-shield.golden.default-fancy:hover,.mousehuntHud-shield.golden.default-fancy:focus{opacity:.9}.mousehuntHud-shield.mhui-custom-shield.pride,.mousehuntHud-shield.golden.mhui-custom-shield.pride{background:url(https://i.mouse.rip/shield-pride.png) 0 0/105%}.mousehuntHud-shield.scrambles{background-image:url(https://i.mouse.rip/shield-scrambles-bawk.png)}.mousehuntHud-shield.golden.scrambles{background-image:url(https://i.mouse.rip/shield-scrambles-bawk.png),url(https://www.mousehuntgame.com/images/ui/elements/header_golden_shield.gif)}.mousehuntHud-shield.jerry{background-image:url(https://i.mouse.rip/shield-jerry.png)}.mousehuntHud-shield.golden.jerry{background-image:url(https://i.mouse.rip/shield-jerry.png),url(https://www.mousehuntgame.com/images/ui/elements/header_golden_shield.gif)}.mousehuntHud-shield.golden.spring-egg-hunt{background:url(https://i.mouse.rip/shield-seh.png) 1px 1px/104%}.mousehuntHud-shield.golden.spring-egg-hunt-alt{background:url(https://i.mouse.rip/shield-seh-alt.png) 1px 1px/104%}.mousehuntHud-shield.romeno:after{position:absolute;bottom:0;left:-69px;z-index:1;width:140px;height:140px;content:"";background-image:url(https://i.mouse.rip/shield-romeno.png);filter:drop-shadow(6px 0 14px #fff);background-repeat:no-repeat;background-size:contain}.mousehuntHud-shield.title,.mousehuntHud-shield.golden.title{top:2px;left:2px;background:url(https://i.mouse.rip/shield-blank-2.png) 0 0 / contain no-repeat}.mousehuntHud-shield.title:after{position:absolute;inset:0;content:"";filter:drop-shadow(0 0 10px #e8dbb8);background-repeat:no-repeat;background-position:center;background-size:105px;transition:background-image .5s}.mousehuntHud-shield.title.novice:after,.mousehuntHud-shield.golden.title.novice:after{background-image:url(https://www.mousehuntgame.com/images/titles/84bc1109b5cd7aa8c24d195bc8207c38.png)}.mousehuntHud-shield.title.recruit:after,.mousehuntHud-shield.golden.title.recruit:after{background-image:url(https://www.mousehuntgame.com/images/titles/3f1e44bbaa7138da4c326819e9f3f0a8.png)}.mousehuntHud-shield.title.apprentice:after,.mousehuntHud-shield.golden.title.apprentice:after{background-image:url(https://www.mousehuntgame.com/images/titles/6f4673dd2d9d1e98b4569667d702a775.png)}.mousehuntHud-shield.title.initiate:after,.mousehuntHud-shield.golden.title.initiate:after{background-image:url(https://www.mousehuntgame.com/images/titles/e96387f7261b95c0eeab9291e4e594e1.png)}.mousehuntHud-shield.title.journeyman:after,.mousehuntHud-shield.golden.title.journeyman:after{background-image:url(https://www.mousehuntgame.com/images/titles/ad6875955f541159133c6d3798519f81.png)}.mousehuntHud-shield.title.master:after,.mousehuntHud-shield.golden.title.master:after{background-image:url(https://www.mousehuntgame.com/images/titles/35ee6056a09037fb13a9195881875045.png)}.mousehuntHud-shield.title.grandmaster:after,.mousehuntHud-shield.golden.title.grandmaster:after{background-image:url(https://www.mousehuntgame.com/images/titles/0da3761747914f497c16dc2051ba132d.png)}.mousehuntHud-shield.title.legendary:after,.mousehuntHud-shield.golden.title.legendary:after{background-image:url(https://www.mousehuntgame.com/images/titles/fca35751046f4bcc972716ca484b6d61.png)}.mousehuntHud-shield.title.hero:after,.mousehuntHud-shield.golden.title.hero:after{background-image:url(https://www.mousehuntgame.com/images/titles/0567284d6e12aaaed35ca5912007e070.png)}.mousehuntHud-shield.title.knight:after,.mousehuntHud-shield.golden.title.knight:after{background-image:url(https://www.mousehuntgame.com/images/titles/398dca9a8c7703de969769491622ca32.png)}.mousehuntHud-shield.title.lord:after,.mousehuntHud-shield.golden.title.lord:after{background-image:url(https://www.mousehuntgame.com/images/titles/9a6acd429a9a3a4849ed13901288b0b8.png)}.mousehuntHud-shield.title.baron:after,.mousehuntHud-shield.golden.title.baron:after{background-image:url(https://www.mousehuntgame.com/images/titles/ea9c0ec2e6d3d81c14e61f5ce924d0e1.png)}.mousehuntHud-shield.title.count:after,.mousehuntHud-shield.golden.title.count:after{background-image:url(https://www.mousehuntgame.com/images/titles/dd11711a25b80db90e0306193f2e8d78.png)}.mousehuntHud-shield.title.duke:after,.mousehuntHud-shield.golden.title.duke:after{background-image:url(https://www.mousehuntgame.com/images/titles/eb46ac1e8197b13299ab860f07d963db.png)}.mousehuntHud-shield.title.grandduke:after,.mousehuntHud-shield.golden.title.grandduke:after{background-image:url(https://www.mousehuntgame.com/images/titles/87937fa96bbb3b2dd3225df883002642.png)}.mousehuntHud-shield.title.archduke:after,.mousehuntHud-shield.golden.title.archduke:after{background-image:url(https://www.mousehuntgame.com/images/titles/043efe31de4f0f2e0ddca590fe829032.png)}.mousehuntHud-shield.title.viceroy:after,.mousehuntHud-shield.golden.title.viceroy:after{background-image:url(https://www.mousehuntgame.com/images/titles/e2e79f6f9201a4d4e7a89684fbb5356f.png)}.mousehuntHud-shield.title.elder:after,.mousehuntHud-shield.golden.title.elder:after{background-image:url(https://www.mousehuntgame.com/images/titles/0f3cf224bf98457f6b5bad91ab1c7bd2.png)}.mousehuntHud-shield.title.sage:after,.mousehuntHud-shield.golden.title.sage:after{background-image:url(https://www.mousehuntgame.com/images/titles/cb49e43c5e4460da7c09fe28ca4f44ce.png)}.mousehuntHud-shield.title.fabled:after,.mousehuntHud-shield.golden.title.fabled:after{background-image:url(https://www.mousehuntgame.com/images/titles/5daba92a8d609834aa8b789f37544e08.png)}.mousehunt-improved-lgs-reminder-new.color-blue,.huntersHornView__timer--default.color-blue,.mousehuntHud-shield.golden.color-blue{filter:hue-rotate(158deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-cyan,.huntersHornView__timer--default.color-cyan,.mousehuntHud-shield.golden.color-cyan{filter:hue-rotate(112deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-green,.huntersHornView__timer--default.color-green,.mousehuntHud-shield.golden.color-green{filter:hue-rotate(66deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-pink,.huntersHornView__timer--default.color-pink,.mousehuntHud-shield.golden.color-pink{filter:hue-rotate(280deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-purple,.huntersHornView__timer--default.color-purple,.mousehuntHud-shield.golden.color-purple{filter:hue-rotate(195deg) drop-shadow(0 0 5px #e8dbb8)}.mousehunt-improved-lgs-reminder-new.color-red,.huntersHornView__timer--default.color-red,.mousehuntHud-shield.golden.color-red{filter:hue-rotate(317deg) saturate(1.6) drop-shadow(0 0 5px #e8dbb8)}.mousehuntHud-shield.golden.color-faded{filter:sepia(1) drop-shadow(0 0 5px #e8dbb8)}.huntersHornView__timer--default.color-blue .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-cyan .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-green .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-pink .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-purple .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown,.huntersHornView__timer--default.color-red .huntersHornView__timerState.huntersHornView__timerState--type-countdown.huntersHornView__countdown{mix-blend-mode:color-burn}@keyframes mh-improved-shield-hue-rotate{0%{filter:hue-rotate(0deg) drop-shadow(0 0 5px #e8dbb8)}50%{filter:hue-rotate(360deg) drop-shadow(0 0 5px #e8dbb8)}to{filter:hue-rotate(0deg) drop-shadow(0 0 5px #e8dbb8)}}.mousehunt-improved-lgs-reminder-new.color-rainbow,.huntersHornView__timer--default.color-rainbow,.mousehuntHud-shield.golden.color-rainbow,.mousehuntHud-shield.golden.color-rainbow2{animation:mh-improved-shield-hue-rotate 30s infinite}@media (prefers-reduced-motion: reduce){.mousehunt-improved-lgs-reminder-new.color-rainbow,.huntersHornView__timer--default.color-rainbow,.mousehuntHud-shield.golden.color-rainbow,.mousehuntHud-shield.golden.color-rainbow2{animation:none}}\n'; } }); // src/modules/custom-shield/cotton-candy.css var cotton_candy_default; var init_cotton_candy = __esm({ "src/modules/custom-shield/cotton-candy.css"() { cotton_candy_default = ".huntersHornView__backdrop{filter:hue-rotate(180deg);opacity:1;transition:none}.huntersHornView__horn--ready{filter:hue-rotate(275deg);transition:none}.huntersHornMessageView{filter:hue-rotate(200deg)}.mousehuntHud-menu.default>ul li a{filter:hue-rotate(298deg);backdrop-filter:hue-rotate(245deg)}.mousehuntHud-environmentName{text-shadow:0 0 1px #eab9cd,1px 1px #ffe1f5}.mousehuntHud-environmentIcon{box-shadow:2px 2px 2px #ffe1f5 inset,-2px -2px 2px #eab9cd inset}.mousehuntHud-menu ul li.active .mousehuntHud-menu-item.root,.mousehuntHud-menu ul li:hover .mousehuntHud-menu-item.root{background:url(https://www.mousehuntgame.com/images/ui/hud/menu/menu_seperator.png) 100% 0 no-repeat;filter:hue-rotate(328deg);backdrop-filter:hue-rotate(292deg)}\n"; } }); // src/modules/custom-shield/index.js var doClass, addClass, removeClass, lastShield, changeShield, watchForPreferenceChanges, init23, custom_shield_default; var init_custom_shield = __esm({ "src/modules/custom-shield/index.js"() { init_utils2(); init_settings21(); init_styles27(); init_cotton_candy(); doClass = (el, shieldClass, verb) => { if (Array.isArray(shieldClass)) { shieldClass = shieldClass.join(" "); } if (!shieldClass) { return; } let classToAdd = shieldClass.replace(".", " "); classToAdd = classToAdd.split(" "); if (!Array.isArray(classToAdd)) { classToAdd = [classToAdd]; } classToAdd.forEach((className) => { if (el && el.classList && el.classList[verb]) { if ("remove" === verb && !el.classList.contains(className)) { return; } el.classList[verb](className); } }); }; addClass = (el, shieldClass) => { doClass(el, shieldClass, "add"); }; removeClass = (el, shieldClass) => { doClass(el, shieldClass, "remove"); }; lastShield = ""; changeShield = () => { const shieldEl = document.querySelector(".mousehuntHud-shield"); if (!shieldEl) { return; } const timer = document.querySelector(".huntersHornView__timer--default"); if (!timer) { return; } if (lastShield) { const remove = [ ...lastShield, "mhui-custom-shield" ]; remove.forEach((className) => { removeClass(shieldEl, className); timer.classList.remove(className); }); } let shield = getSetting("custom-shield-0", "default"); if ("default" === shield) { shieldEl.classList.add("default", "default-fancy"); lastShield = ["default", "default-fancy"]; return; } if (shield === "color-cotton-candy") { makeElement("style", "mh-improved-cotton-candy-style", cotton_candy_default, document.head); shield = "color-pink-timer"; } else { const cottonCandyStyle = document.querySelector(".mh-improved-cotton-candy-style"); if (cottonCandyStyle) { cottonCandyStyle.remove(); } } lastShield = [shield]; if (shield.startsWith("color-")) { shieldEl.classList.add("default"); shieldEl.classList.add("color"); lastShield.push("color"); } if (shield.endsWith("-timer")) { shield = shield.replace("-timer", ""); timer.classList.add(shield); lastShield.push(shield); } if (shield.endsWith("-alt")) { const altClass = shield.replace("-alt", ""); shieldEl.classList.add(altClass, "alt"); lastShield.push(altClass, "alt"); } if (shield.includes("title")) { shieldEl.classList.add("title"); shield = "title" === shield ? getUserTitle() : shield; lastShield.push("title", shield); } shieldEl.classList.add("mhui-custom-shield"); addClass(shieldEl, shield); }; watchForPreferenceChanges = () => { const input = document.querySelector("#mousehunt-improved-settings-design-custom-shield select"); if (!input) { return; } input.addEventListener("change", () => { changeShield(); }); }; init23 = () => __async(void 0, null, function* () { addStyles(styles_default26, "custom-shield"); lastShield = getSetting("custom-shield-0", "default"); changeShield(); onNavigation(watchForPreferenceChanges, { page: "preferences", onLoad: true }); }); custom_shield_default = { id: "custom-shield", type: "design", alwaysLoad: true, load: init23, settings: settings_default20 }; } }); // src/modules/debug/settings/index.js var settings_default21; var init_settings22 = __esm({ "src/modules/debug/settings/index.js"() { settings_default21 = () => __async(void 0, null, function* () { return [ { id: "debug.utils-data", title: "Log data caching and retrieval" }, { id: "debug.events", title: "Log events" }, { id: "debug.dialog", title: "Log IDs of opening and closing dialogs/popups" }, { id: "debug.all", title: "Log module debug messages" }, { id: "debug.module-loading", title: "Log module loading" }, { id: "debug.navigation", title: "Log page, tab, and subtab navigation" }, { id: "debug.request", title: "Log remote requests and responses" }, { id: "debug.sentry", title: "Set Sentry to debug mode" }, { id: "debug.hover-popups", title: "Don't close hover popups on mouseout" }, { id: "debug.disable-cache", title: "Disable caching", description: "Disable caching of data and settings" } ]; }); } }); // src/modules/debug/index.js var debug3, main13, init24, debug_default; var init_debug2 = __esm({ "src/modules/debug/index.js"() { init_utils2(); init_settings22(); debug3 = (message, ...args) => { const textMessages = []; const objectMessages = []; for (const arg of args) { if (typeof arg === "string") { textMessages.push(arg); } else { objectMessages.push(arg); } } console.log( `%cMH Improved:%c ${message}`, "color: #ff3434; font-weight: 900; font-size: 1.1em", "color: inherit; font-weight: inherit; font-size: inherit", ...textMessages, ...objectMessages ); }; main13 = () => { window.app = window.app || {}; window.app.mhutils = utils_exports; if (getSetting("debug.dialog", false)) { let currentDialog = null; onDialogHide(() => { debug3(`Dialog hidden: ${currentDialog}`); }); onDialogShow("all", () => { currentDialog = getCurrentDialog(); debug3(`Dialog shown: ${currentDialog}`); }); } if (getSetting("debug.navigation", false)) { onNavigation(() => { debug3("onNavigation", { page: getCurrentPage(), tab: getCurrentTab(), subtab: getCurrentSubtab() }); }); onTravel(null, () => { debug3("onTravel", getCurrentLocation()); }); } if (getSetting("debug.request", false)) { onRequest("*", (response) => { debug3("onRequest", response); }); } if (getSetting("debug.events", false)) { let events = [ "camp_page_arm_item", "camp_page_toggle_blueprint", "camp_page_update_item_array", "camp_quest_hud_view_initialize", "checkout_cart_update", "info_arrow_hide", "info_arrow_show", "spring_hunt_claim_hidden_egg", "tournament_status_change", "treasure_map_update_favourite_friends", "treasure_map_update_sent_requests", "treasure_map_update", "user_interaction_update", "user_inventory_update", "user_inventory_use_convertible", "user_recipe_update", "user_relationship", "user_trap_update" ]; let hasSingleEvent = false; const ignoredEvents = []; for (const flag in getFlags()) { if (flag.startsWith("debug-events-only-")) { const event = flag.replace("debug-events-only-", ""); hasSingleEvent = event; } else if (flag.startsWith("debug-events-")) { const event = flag.replace("debug-events-", ""); events.push(event); } else if (flag.startsWith("debug-events-no-")) { const event = flag.replace("debug-events-no-", ""); ignoredEvents.push(event); } } if (ignoredEvents.length > 0) { events = events.filter((event) => !ignoredEvents.includes(event)); } if (hasSingleEvent) { events = [hasSingleEvent]; } events.forEach((event) => { onEvent(event, (...data) => { debug3(`onEvent: ${event}`, data); }); }); } }; init24 = () => { main13(); onActivation("dev", main13); onDeactivation("dev", () => { window.location.reload(); }); }; debug_default = { id: "debug", name: "Debug", description: "Adds all utility functions to <code>app.mhutils</code>, adds debug logs, and other development tools.", type: "advanced", default: false, order: 900, load: init24, settings: settings_default21 }; } }); // src/modules/data-exporters/exporter.js var recursiveFetch, addDownloadToButton, addJsonDownloadToButton, addCsvDownloadToButton, getFormattedDate, addDownloadButtons, resultReducer, updateSingleTotalEl, exportPopup; var init_exporter = __esm({ "src/modules/data-exporters/exporter.js"() { init_utils2(); recursiveFetch = (data, callbackToRun) => { return data.reduce((promiseChain, item) => { return promiseChain.then((chainResults) => { return new Promise((resolve) => { callbackToRun(item).then((currentResult) => { chainResults.push(currentResult); resolve(chainResults); }); }); }); }, Promise.resolve([])); }; addDownloadToButton = (opts, callback) => { let { buttonSelector, results, filename, beforeDownload } = opts; const exportButton = document.querySelector(buttonSelector); exportButton.classList.remove("disabled"); exportButton.addEventListener("click", () => { if (beforeDownload) { results = opts.beforeDownload(); } callback(results, filename); }); }; addJsonDownloadToButton = (opts) => { addDownloadToButton(opts, (results, filename) => { const data = JSON.stringify({ type: opts.type, generated: (/* @__PURE__ */ new Date()).toISOString(), data: results }); const blob = new Blob([data], { type: "application/json" }); const url = URL.createObjectURL(blob); const link = document.createElement("a"); link.download = `${filename}.json`; link.href = url; link.click(); URL.revokeObjectURL(url); }); }; addCsvDownloadToButton = (opts) => { addDownloadToButton(opts, (results, filename) => { if (opts.reduceResults) { results = resultReducer(results); } let csv = results.map((row) => { return Object.values(row).map((value) => `"${value}"`).join(","); }).join("\n"); if (opts.headers) { csv = `${opts.headers.join(",")} ${csv}`; } const blob = new Blob([csv], { type: "text/csv" }); const url = URL.createObjectURL(blob); const link = document.createElement("a"); link.download = `${filename}.csv`; link.href = url; link.click(); URL.revokeObjectURL(url); }); }; getFormattedDate = () => { const date = /* @__PURE__ */ new Date(); return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; }; addDownloadButtons = (opts) => { const { type, results, headers, reduceResults } = opts; const filename = `${type}-${getFormattedDate()}`; const buttonSelector = `#export-${type}`; addJsonDownloadToButton({ buttonSelector, type, results, filename }); addCsvDownloadToButton({ buttonSelector: `${buttonSelector}-csv`, results, filename, headers, reduceResults }); }; resultReducer = (results) => { return results.reduce((acc, { category, items: items2 }) => { items2.forEach((data) => { acc.push(__spreadValues({ region: category }, data)); }); return acc; }, []); }; updateSingleTotalEl = (results) => { const totalItemsEl = document.querySelector(".export-items-footer .total-items"); if (!totalItemsEl) { return; } const totalItems = results.reduce((acc, { items: items2 }) => { return acc + items2.length; }, 0); totalItemsEl.textContent = totalItems.toLocaleString(); }; exportPopup = (opts) => { const { type, text, headerMarkup, itemsMarkup, footerMarkup, fetch: fetch6, afterFetch: afterFetch5, download, updateSingleTotal, dataIsAvailable } = opts; createPopup({ title: `Export ${text}`, content: ` <div class="export-wrapper ${type}"> <div class="export-items-header item-wrapper ${headerMarkup ? "" : "hidden"}"> ${headerMarkup || ""} </div> <div class="export-items-wrapper ${itemsMarkup ? "" : "hidden"}"> ${itemsMarkup || ""} </div> <div class="export-items-footer item-wrapper ${footerMarkup ? "" : "hidden"}"> ${footerMarkup || ""} </div> <div class="actions-wrapper"> <div class="mousehuntActionButton tiny lightBlue" id="export-back"> <span>Back</span> </div> <div class="mousehuntActionButton tiny fetch-data ${dataIsAvailable ? "hidden" : ""}" id="fetch-${type}"> <span>Fetch ${text}</span> </div> <div class="mousehuntActionButton tiny ${dataIsAvailable ? "" : "disabled"} export-json" id="export-${type}"> <span>Export as JSON</span> </div> <div class="mousehuntActionButton tiny ${dataIsAvailable ? "" : "disabled"} export-csv" id="export-${type}-csv"> <span>Export as CSV</span> </div> </div> </div>` }); const exportBackButton = document.querySelector("#export-back"); if (!exportBackButton) { return; } exportBackButton.addEventListener("click", () => { doEvent2("show-export-data"); }); const fetchButton = document.querySelector(`#fetch-${type}`); if (!fetchButton) { return; } fetchButton.addEventListener("click", () => { fetchButton.classList.add("disabled"); fetch6().then((results) => { if (afterFetch5) { afterFetch5(results); } if (updateSingleTotal) { updateSingleTotalEl(results); } addDownloadButtons(__spreadValues({ results, type }, download)); fetchButton.classList.remove("disabled"); }); }); if (dataIsAvailable) { fetchButton.click(); } }; } }); // src/modules/data-exporters/export-favorite-setups-userscript.js var hasFavoriteSetupsUserscript, fetch2, afterFetch, exportFavoriteSetupsUserscript; var init_export_favorite_setups_userscript = __esm({ "src/modules/data-exporters/export-favorite-setups-userscript.js"() { init_exporter(); hasFavoriteSetupsUserscript = () => { return localStorage.getItem("favorite-setups-saved"); }; fetch2 = () => __async(void 0, null, function* () { const setups = JSON.parse(localStorage.getItem("favorite-setups-saved")); const flattenedSetups = []; for (const setupName in setups) { const setup = setups[setupName]; flattenedSetups.push({ name: setupName, bait: setup.bait, base: setup.base, weapon: setup.weapon, trinket: setup.trinket, skin: setup.skin, location: setup.location, sort: setup.sort }); } return flattenedSetups; }); afterFetch = (data) => { const totalItemsEl = document.querySelector(".export-items-footer .total-items"); totalItemsEl.textContent = data.length.toLocaleString(); }; exportFavoriteSetupsUserscript = () => { exportPopup({ type: "favorite-setups-saved", text: "Favorite Setups (userscript)", footerMarkup: '<div class="region-name">Total Values</div><div class="total-items">-</div>', fetch: fetch2, afterFetch, dataIsAvailable: true, download: { headers: [ "Name", "Bait", "Base", "Weapon", "Trinket", "Skin", "Location", "Sort" ] } }); }; } }); // src/modules/data-exporters/export-rankup-forecaster.js var hasRankupForecaster, fetch3, afterFetch2, exportRankupForecaster; var init_export_rankup_forecaster = __esm({ "src/modules/data-exporters/export-rankup-forecaster.js"() { init_exporter(); hasRankupForecaster = () => { return localStorage.getItem("Chro-forecaster-time"); }; fetch3 = () => __async(void 0, null, function* () { return JSON.parse(localStorage.getItem("Chro-forecaster-time")); }); afterFetch2 = (data) => { const totalItemsEl = document.querySelector(".export-items-footer .total-items"); totalItemsEl.textContent = data.length.toLocaleString(); }; exportRankupForecaster = () => { exportPopup({ type: "rankup-forecaster-history", text: "Rankup Forecaster History", footerMarkup: '<div class="region-name">Total Values</div><div class="total-items">-</div>', fetch: fetch3, afterFetch: afterFetch2, dataIsAvailable: true, download: { headers: ["Date", "Wisdom"] } }); }; } }); // src/modules/data-exporters/export-favorite-setups.js var fetch4, afterFetch3, exportFavoriteSetups, export_favorite_setups_default; var init_export_favorite_setups = __esm({ "src/modules/data-exporters/export-favorite-setups.js"() { init_exporter(); init_utils2(); fetch4 = () => __async(void 0, null, function* () { const setups = getSetting("favorite-setups.setups"); return setups.map((setup) => { return { id: setup.id || 0, name: setup.name || "", location: setup.location || "", bait_id: setup.bait_id || 0, base_id: setup.base_id || 0, trinket_id: setup.trinket_id || 0, weapon_id: setup.weapon_id || 0, power_type: setup.power_type || "" }; }); }); afterFetch3 = (data) => { const totalItemsEl = document.querySelector(".export-items-footer .total-items"); totalItemsEl.textContent = data.length.toLocaleString(); }; exportFavoriteSetups = () => { exportPopup({ type: "favorite-setups", text: "Favorite Setups", footerMarkup: '<div class="region-name">Total Values</div><div class="total-items">-</div>', fetch: fetch4, afterFetch: afterFetch3, dataIsAvailable: true, download: { headers: [ "ID", "Name", "Location", "Bait ID", "Base ID", "Trinket ID", "Weapon ID", "Power Type" ] } }); }; export_favorite_setups_default = exportFavoriteSetups; } }); // src/modules/data-exporters/export-inventory.js var itemCategories, getData2, exportInventory, export_inventory_default; var init_export_inventory = __esm({ "src/modules/data-exporters/export-inventory.js"() { init_utils2(); init_exporter(); itemCategories = [ { id: "weapon", name: "Weapons" }, { id: "base", name: "Bases" }, { id: "trinket", name: "Charms" }, { id: "bait", name: "Cheeses" }, { id: "skin", name: "Skins" }, { id: "crafting_item", name: "Crafting Items" }, { id: "convertible", name: "Convertible Items" }, { id: "potion", name: "Potions" }, { id: "stat", name: "Misc. Items" }, { id: "collectible", name: "Collectibles" }, { id: "map_piece", name: "Map Pieces" }, { id: "adventure", name: "Adventure Items" } ]; getData2 = (classification) => __async(void 0, null, function* () { const regionEl = document.querySelector(`.item-wrapper[data-region="${classification.id}"]`); const totalItemsEl = regionEl.querySelector(".total-items"); totalItemsEl.textContent = "\u2026"; totalItemsEl.scrollIntoView({ behavior: "smooth", block: "nearest" }); const response = yield doRequest("managers/ajax/users/userInventory.php", { action: "get_items_by_classification", "classifications[]": classification.id }); const items2 = []; response.items.forEach((item) => { const itemData = { item_id: item.item_id || 0, type: item.type || "", name: item.name || "", classification: item.classification || classification.id, quantity: item.quantity || 0, thumbnail: item.thumbnail || "", limited_edition: item.limited_edition || false, is_tradable: item.is_tradable || false, is_givable: item.is_givable || false }; items2.push(itemData); totalItemsEl.textContent = items2.length.toLocaleString(); }); return { category: classification.name, items: items2 }; }); exportInventory = () => { let inventoryMarkup = ""; itemCategories.forEach((region) => { inventoryMarkup += `<div class="item-wrapper inventory" data-region="${region.id}"> <div class="region-name">${region.name}</div> <div class="total-items">-</div> </div>`; }); exportPopup({ type: "inventory", text: "Inventory", headerMarkup: '<div class="region-name">Category</div><div class="total-items">Items</div>', itemsMarkup: inventoryMarkup, footerMarkup: '<div class="region-name">Total</div><div class="total-items">0</div>', fetch: () => recursiveFetch(itemCategories, getData2), updateSingleTotal: true, download: { headers: [ "Category", "Item ID", "Item Type", "Item Name", "Classification", "Quantity", "Thumbnail", "Limited Edition", "Tradable", "Givable" ], reduceResults: true } }); }; export_inventory_default = exportInventory; } }); // src/modules/data-exporters/export-journal-entries.js var fetch5, afterFetch4, exportJournalEntries, export_journal_entries_default; var init_export_journal_entries = __esm({ "src/modules/data-exporters/export-journal-entries.js"() { init_utils2(); init_exporter(); fetch5 = () => __async(void 0, null, function* () { const journalEntries2 = yield dbGetAll("journal"); journalEntries2.sort((a, b) => b.id - a.id); return journalEntries2.map((entry) => { var _a, _b, _c, _d, _e, _f; return { id: ((_a = entry == null ? void 0 : entry.data) == null ? void 0 : _a.id) || 0, date: ((_b = entry == null ? void 0 : entry.data) == null ? void 0 : _b.date) || "", location: ((_c = entry == null ? void 0 : entry.data) == null ? void 0 : _c.location) || "", text: ((_d = entry == null ? void 0 : entry.data) == null ? void 0 : _d.text) || "", type: ((_e = entry == null ? void 0 : entry.data) == null ? void 0 : _e.type) || "", mouse: ((_f = entry == null ? void 0 : entry.data) == null ? void 0 : _f.mouse) || "" }; }); }); afterFetch4 = (data) => { const totalItemsEl = document.querySelector(".export-items-footer .total-items"); totalItemsEl.textContent = data.length.toLocaleString(); }; exportJournalEntries = () => { exportPopup({ type: "journal-entries", text: "Journal Entries", footerMarkup: '<div class="region-name">Total Values</div><div class="total-items">-</div>', fetch: fetch5, afterFetch: afterFetch4, dataIsAvailable: true, download: { headers: [ "ID", "Date", "Location", "Text", "Type", "Mouse" ] } }); }; export_journal_entries_default = exportJournalEntries; } }); // src/modules/data-exporters/export-marketplace.js var fetchPage, fetchTransactions, exportMarketplace, export_marketplace_default; var init_export_marketplace = __esm({ "src/modules/data-exporters/export-marketplace.js"() { init_utils2(); init_utils2(); init_exporter(); fetchPage = (page) => __async(void 0, null, function* () { const response = yield doRequest("managers/ajax/users/marketplace.php", { action: "get_my_history", page }); return (response == null ? void 0 : response.marketplace_history) || []; }); fetchTransactions = () => __async(void 0, null, function* () { var _a; const totalItemsEl = document.querySelector(".export-items-footer .total-items"); totalItemsEl.textContent = "\u2026"; totalItemsEl.scrollIntoView({ behavior: "smooth", block: "nearest" }); let page = 1; let response; let transactions = []; page = Number.parseInt(sessionGet("export-marketplace-page"), 10) || 1; transactions = sessionGet("export-marketplace-transactions", []); const tradableItems = yield getData("items-tradable"); do { response = yield fetchPage(page); for (const item of response) { transactions.push({ listing_id: item.listing_id, listing_type: item.listing_type, item_id: item.item_id, item_name: ((_a = tradableItems.find(({ id }) => id === item.item_id)) == null ? void 0 : _a.name) || "", initial_quantity: item.initial_quantity, remaining_quantity: item.remaining_quantity, unit_price: item.unit_price, unit_price_without_tariff: item.unit_price_without_tariff, total_price: item.total_price, total_price_without_tariff: item.total_price_without_tariff, average: item.average, is_active: item.is_active === "1", date_updated: item.date_updated, date_closed: item.date_closed }); } yield new Promise((resolve) => setTimeout(resolve, 100)); page++; sessionSet("export-marketplace-page", page); sessionSet("export-marketplace-transactions", transactions); totalItemsEl.textContent = transactions.length.toLocaleString(); } while (response.length > 0); return transactions; }); exportMarketplace = () => { exportPopup({ type: "marketplace-transactions", text: "Marketplace Transactions", footerMarkup: '<div class="region-name">Total Transactions</div><div class="total-items">0</div>', fetch: fetchTransactions, download: { headers: [ "Listing ID", "Listing Type", "Item ID", "Item Name", "Initial Quantity", "Remaining Quantity", "Unit Price", "Unit Price Without Tariff", "Total Price", "Total Price Without Tariff", "Average", "Is Active", "Date Updated", "Date Closed" ] } }); }; export_marketplace_default = exportMarketplace; } }); // src/modules/data-exporters/export-mice.js var seenMice, getWeight, getWeightFormatted, getDataForRegion, processWeights, groups, regions, exportMicePopup, exportType, exportMice, export_mice_default; var init_export_mice = __esm({ "src/modules/data-exporters/export-mice.js"() { init_utils2(); init_utils2(); init_exporter(); seenMice = []; getWeight = (weight) => { weight = weight.toString().replaceAll(",", "").trim(); const ozSplit = weight.split(" oz."); const lbSplit = weight.split(" lb."); let weightOz = 0; if (ozSplit.length === 1 && lbSplit.length === 1) { weightOz = Number.parseFloat(weight); } if (ozSplit.length > 1) { weightOz = Number.parseFloat(ozSplit[0].trim()); } else if (lbSplit.length > 1) { const lb = Number.parseInt(lbSplit[0].trim(), 10); const oz = Number.parseFloat(lbSplit[1].trim()); weightOz = lb * 16 + oz; } return weightOz; }; getWeightFormatted = (weight) => { const weightOz = getWeight(weight); const weightLbs = Math.floor(weightOz / 16); const weightOzRemainder = weightOz % 16; if (weightLbs > 0) { return `${weightLbs.toLocaleString()} lb. ${weightOzRemainder} oz.`; } return `${weightOzRemainder} oz.`; }; getDataForRegion = (region) => __async(void 0, null, function* () { const regionEl = document.querySelector(`.item-wrapper[data-region="${region.id}"]`); if (regionEl) { regionEl.scrollIntoView({ behavior: "smooth", block: "nearest" }); } const miceCaughtEl = regionEl.querySelector(".mice-caught"); const totalCatchesEl = regionEl.querySelector(".total-catches"); const totalWeightEl = regionEl.querySelector(".total-weight"); miceCaughtEl.textContent = "\u2026"; totalCatchesEl.textContent = "\u2026"; totalWeightEl.textContent = "\u2026"; let action; let view; if ("group" === exportType) { action = "get_group"; view = "ViewMouseListGroups"; } else { action = "get_environment"; view = "ViewMouseListEnvironments"; } const miceData = yield doRequest("managers/ajax/mice/mouse_list.php", { action, category: region.id, user_id: user.user_id, display_mode: "stats", view }); const mice = miceData.mouse_list_category.subgroups.reduce((acc, cur) => { return [...acc, ...cur.mice]; }, []); const weights = []; let totalCatches = 0; let totalWeight = 0; let regionSubtract = 0; mice.forEach((mouse) => { if ("region" === exportType && seenMice.includes(mouse.type)) { regionSubtract++; return; } seenMice.push(mouse.type); mouse.num_catches = Number.parseInt(mouse.num_catches.toString().replace(",", ""), 10); const avgWeight = getWeight(mouse.avg_weight); totalCatches += mouse.num_catches; totalWeight += avgWeight * mouse.num_catches; const mouseWeight = { name: mouse.name, type: mouse.type, crown: mouse.crown, catches: mouse.num_catches, misses: mouse.num_misses, avgWeight, avgWeightFormatted: getWeightFormatted(mouse.avg_weight), heaviest: getWeight(mouse.heaviest_catch), heaviestFormatted: getWeightFormatted(mouse.heaviest_catch) }; weights.push(mouseWeight); miceCaughtEl.textContent = `${miceData.mouse_list_category.caught}/${miceData.mouse_list_category.total}`; const totalCatchesFormatted = totalCatches.toLocaleString(); totalCatchesEl.textContent = totalCatchesFormatted; const totalWeightLbs = Math.floor(totalWeight / 16); const totalWeightOz = totalWeight % 16; const totalWeightLbsFormatted = totalWeightLbs.toLocaleString(); totalWeightEl.textContent = totalWeightLbs > 0 ? `${totalWeightLbsFormatted} lb. ${totalWeightOz} oz` : `${totalWeightOz} oz`; }); return { category: region.id, regionName: region.name, caughtMice: miceData.mouse_list_category.caught - regionSubtract, uniqueMice: miceData.mouse_list_category.total - regionSubtract, totalCatches, totalWeight, items: weights }; }); processWeights = (results) => { seenMice = []; const totalUniqueMiceEl = document.querySelector(".export-items-footer .mice-caught"); const totalCatchesEl = document.querySelector(".export-items-footer .total-catches"); const totalWeightEl = document.querySelector(".export-items-footer .total-weight"); if (!totalUniqueMiceEl || !totalCatchesEl || !totalWeightEl) { return; } const totals = results.reduce((acc, { caughtMice, uniqueMice, totalCatches, totalWeight }) => { acc.caughtMice += caughtMice; acc.uniqueMice += uniqueMice; acc.totalCatches += totalCatches; acc.totalWeight += totalWeight; return acc; }, { caughtMice: 0, uniqueMice: 0, totalCatches: 0, totalWeight: 0 }); totalUniqueMiceEl.textContent = `${totals.caughtMice}/${totals.uniqueMice}`; totalCatchesEl.textContent = totals.totalCatches.toLocaleString(); totalWeightEl.textContent = getWeightFormatted(totals.totalWeight); }; groups = []; regions = []; exportMicePopup = () => { let itemTypes; let title; if ("group" === exportType) { title = "Group"; itemTypes = groups; } else if ("region" === exportType) { title = "Region"; itemTypes = regions; } else { title = "Location"; itemTypes = environments; } let itemsMarkup = ""; itemTypes.forEach((region) => { itemsMarkup += `<div class="item-wrapper" data-region="${region.id}"> <div class="region-name">${region.name}</div> <div class="mice-caught">0/0</div> <div class="total-catches">0</div> <div class="total-weight">0</div> </div>`; }); exportPopup({ type: `mouse-stats_${exportType}`, text: `Mouse Stats by ${exportType === "group" ? "Group" : "Region"}`, headerMarkup: `<div class="region-name">Group</div> <div class="mice-caught">Unique Mice</div> <div class="total-catches">Total Catches</div> <div class="total-weight">Total Weight</div>`, itemsMarkup, footerMarkup: `<div class="region-name">Total</div> <div class="mice-caught">0/0</div> <div class="total-catches">0</div> <div class="total-weight">0</div>`, fetch: () => recursiveFetch(itemTypes, getDataForRegion), afterFetch: processWeights, download: { headers: [ title, "Name", "Type", "Crown", "Catches", "Misses", "Avg. Weight (oz)", "Avg. Weight", "Heaviest (oz)", "Heaviest" ], reduceResults: true } }); }; exportMice = (type) => __async(void 0, null, function* () { exportType = type; regions = yield getData("mice-regions"); groups = yield getData("mice-groups"); environments = yield getData("environments"); exportMicePopup(); }); export_mice_default = exportMice; } }); // src/modules/data-exporters/export-scoreboards.js var getScoreboardData, exportScoreboards, export_scoreboards_default; var init_export_scoreboards = __esm({ "src/modules/data-exporters/export-scoreboards.js"() { init_utils2(); init_utils2(); init_exporter(); getScoreboardData = (scoreboard, useWeekly = false, useFriendsOnly = false) => __async(void 0, null, function* () { var _a; const totalItemsEl = document.querySelector(`.item-wrapper[data-region="${scoreboard.id}"] .total-items`); if (totalItemsEl) { totalItemsEl.textContent = "\u2026"; totalItemsEl.scrollIntoView({ behavior: "smooth", block: "nearest" }); } const response = yield doRequest("managers/ajax/pages/scoreboards.php", { action: "get_page", category: "main", scoreboard: scoreboard.id, page: 1, weekly: useWeekly ? 1 : 0, friends_only: useFriendsOnly ? 1 : 0, search: "" }); if (null === ((_a = response.scoreboard_page) == null ? void 0 : _a.viewer_row)) { if (totalItemsEl) { totalItemsEl.textContent = "-"; } return { scoreboard: scoreboard.name, rank: "", value: "" }; } const entry = { rank: response.scoreboard_page.viewer_row.rank, points: response.scoreboard_page.viewer_row.points }; const rankSuffix = response.scoreboard_page.viewer_row.rank_formatted.replaceAll(/[\d\s]+/g, ""); if (totalItemsEl) { totalItemsEl.textContent = `${entry.rank.toLocaleString()}${rankSuffix}`; } return { scoreboard: scoreboard.name, rank: entry.rank, value: entry.points }; }); exportScoreboards = (..._0) => __async(void 0, [..._0], function* ({ useWeekly = false, useFriendsOnly = false } = {}) { let inventoryMarkup = ""; let scoreboardsToUse = yield getData("scoreboards"); if (useWeekly) { scoreboardsToUse = scoreboards.filter((scoreboard) => scoreboard.weekly); } for (const region of scoreboardsToUse) { inventoryMarkup += `<div class="item-wrapper scoreboard" data-region="${region.id}"> <div class="region-name">${region.name}</div> <div class="total-items">-</div> </div>`; } exportPopup({ type: `scoreboard-rankings${useWeekly ? "-weekly" : ""}${useFriendsOnly ? "-friends" : ""}`, text: `Scoreboard Rankings${useWeekly ? useFriendsOnly ? " (Weekly, Friends)" : " (Weekly)" : useFriendsOnly ? " (Friends)" : ""}`, headerMarkup: '<div class="region-name">Scoreboard</div><div class="total-items">Place</div>', itemsMarkup: inventoryMarkup, fetch: () => recursiveFetch(scoreboardsToUse, (scoreboard) => getScoreboardData(scoreboard, useWeekly, useFriendsOnly)), download: { headers: ["Scoreboard", "Rank", "Value"] } }); }); export_scoreboards_default = exportScoreboards; } }); // src/modules/data-exporters/styles.css var styles_default27; var init_styles28 = __esm({ "src/modules/data-exporters/styles.css"() { styles_default27 = "#custom-submenu-item-export-data .icon{filter:sepia(1) brightness(.7)}.export-wrapper{display:flex;flex-direction:column;justify-content:space-around}.export-items-wrapper{max-height:70vh;overflow:auto;border:1px solid #7e7e7e}.item-wrapper{display:grid;grid-template-columns:2fr repeat(3,1fr);padding:3px 5px;margin-bottom:2px;font-size:11px}.inventory .item-wrapper,.scoreboard-rankings .item-wrapper,.rankup-forecaster-history .item-wrapper,.marketplace-transactions .item-wrapper{grid-template-columns:2fr 1fr}.item-wrapper .total-items{text-align:right}.item-wrapper:nth-child(odd){background-color:#e2e2e2}.item-wrapper.hidden{display:none}.item-wrapper.export-items-header,.item-wrapper.export-items-footer{padding:5px;margin-bottom:0;font-size:12px;text-align:center;background-color:#bcbcbc;border:1px solid #7e7e7e}.item-wrapper.export-items-header{border-bottom:none}.item-wrapper.export-items-footer{border-top:none}.rankup-forecaster-history .item-wrapper,.marketplace-transactions .item-wrapper{border-top:1px solid #7e7e7e}.export-items-header .region-name,.export-items-footer .region-name{text-align:left}.item-wrapper:nth-last-child(2){margin-bottom:0}.actions-wrapper{display:grid;grid-template-columns:1fr 3fr 1fr 1fr;place-items:center end;margin-top:10px}.actions-wrapper .hidden{display:block;visibility:hidden}.actions-wrapper #export-back{justify-self:start}.actions-wrapper .fetch-data{justify-self:center}.mh-improved-export-data-landing{margin-left:20px;line-height:2;list-style:disc}.item-wrapper .mice-caught,.item-wrapper .total-catches{text-align:center}.item-wrapper .total-weight{text-align:right}\n"; } }); // src/modules/data-exporters/index.js var exportDataPopup, init25, data_exporters_default; var init_data_exporters = __esm({ "src/modules/data-exporters/index.js"() { init_utils2(); init_export_favorite_setups_userscript(); init_export_rankup_forecaster(); init_export_favorite_setups(); init_export_inventory(); init_export_journal_entries(); init_export_marketplace(); init_export_mice(); init_export_scoreboards(); init_styles28(); exportDataPopup = () => { const exporters = [ { id: "mouse-stats-by-group", name: "Mouse Stats by Group", callback: () => export_mice_default("group") }, { id: "mouse-stats-by-region", name: "Mouse Stats by Region", callback: () => export_mice_default("region") }, { id: "mouse-stats-by-location", name: "Mouse Stats by Location", callback: () => export_mice_default("location") }, { id: "inventory", name: "Inventory", callback: export_inventory_default }, { id: "marketplace-transactions", name: "Marketplace Transactions", callback: export_marketplace_default }, { id: "scoreboard-rankings", name: "Scoreboard Rankings", callback: () => export_scoreboards_default() }, { id: "scoreboard-rankings-weekly", name: "Scoreboard Rankings (Weekly)", callback: () => export_scoreboards_default({ useWeekly: true }) }, { id: "scoreboard-rankings-friends", name: "Scoreboard Rankings (Friends)", callback: () => export_scoreboards_default({ useFriendsOnly: true }) }, { id: "scoreboard-rankings-weekly-friends", name: "Scoreboard Rankings (Weekly, Friends)", callback: () => export_scoreboards_default({ useWeekly: true, useFriendsOnly: true }) }, { id: "journal-entries", name: "Journal Entries", callback: export_journal_entries_default }, { id: "favorite-setups", name: "Favorite Setups", callback: export_favorite_setups_default } ]; if (hasFavoriteSetupsUserscript()) { exporters.push({ id: "favorite-setups-userscript", name: "Favorite Setups (userscript)", callback: exportFavoriteSetupsUserscript }); } if (hasRankupForecaster()) { exporters.push({ id: "rankup-forecaster-history", name: "Rankup Forecaster History", callback: exportRankupForecaster }); } let exporterList = ""; exporters.forEach(({ id, name }) => { exporterList += `<li><a href="#" id="export-${id}">${name}</a></li>`; }); createPopup({ title: "Export Data", content: `<ul class="mh-improved-export-data-landing">${exporterList}</ul>` }); exporters.forEach(({ id, callback }) => { const button = document.querySelector(`#export-${id}`); if (button) { button.addEventListener("click", (e) => { e.preventDefault(); callback(); }); } }); }; init25 = () => __async(void 0, null, function* () { addStyles(styles_default27, "data-exporters"); onEvent("show-export-data", exportDataPopup); addSubmenuItem({ menu: "kingdom", label: "Export Data", icon: "https://www.mousehuntgame.com/images/items/crafting_items/transparent_thumb/c6f39c2b522f114c788f5fb65e3ab8d7.png", class: "export-data", callback: exportDataPopup }); }); data_exporters_default = { id: "data-exporters", name: "Data Exporters", type: "feature", default: true, description: "Export data from the game.", load: init25 }; } }); // src/modules/delayed-tooltips/styles.css var styles_default28; var init_styles29 = __esm({ "src/modules/delayed-tooltips/styles.css"() { styles_default28 = ".mousehuntTooltipParent>.mousehuntTooltip{will-change:transform}.mousehuntTooltipParent:hover>.mousehuntTooltip{animation:mh-improved-in-scale .35s 1 forwards cubic-bezier(.4,0,1,1) 0s}.PageHunterProfile .userInteractionButtonsView-button .mousehuntTooltip,.no-delayed-tooltips .mousehuntTooltip{animation:none!important}\n"; } }); // src/modules/delayed-tooltips/index.js var init26, delayed_tooltips_default; var init_delayed_tooltips = __esm({ "src/modules/delayed-tooltips/index.js"() { init_utils2(); init_styles29(); init26 = () => __async(void 0, null, function* () { addStyles(styles_default28, "delayed-tooltips"); document.addEventListener("keydown", (e) => { if (e.shiftKey) { document.body.classList.add("no-delayed-tooltips"); } }); document.addEventListener("keyup", (e) => { if (!e.shiftKey) { document.body.classList.remove("no-delayed-tooltips"); } }); }); delayed_tooltips_default = { id: "delayed-tooltips", name: "Delayed Tooltips", type: "feature", default: false, description: "Delays the display of tooltips when you mouse over something. If you hold down the shift key, the tooltips will be displayed immediately.", load: init26 }; } }); // src/modules/favorite-setups/styles.css var styles_default29; var init_styles30 = __esm({ "src/modules/favorite-setups/styles.css"() { styles_default29 = `.mh-improved-favorite-setups-button{position:relative;display:block;padding:5px 10px;margin:5px 0;font-size:12px;font-weight:700;line-height:31px;color:#4e300b;cursor:pointer;background:#f6f3eb;border:1px solid #d3cecb;border-radius:4px;box-shadow:-1px 1px 3px #d3cecb inset}.mh-improved-favorite-setups-button-label{position:absolute;top:0;right:10px;bottom:0;display:flex;align-items:center;font-size:13px;font-weight:100;color:#926944;vertical-align:bottom}.mh-improved-favorite-setups-button:hover{text-decoration:none}.mh-dark-mode .pageFrameView #mousehuntContainer.PageCamp .mh-improved-favorite-setups-button:hover{background-color:#494949}.mh-improved-favorite-setups-blueprint-container{position:absolute;inset:0;color:#4e300b}.mh-improved-favorite-setups-blueprint-container .header{margin-top:10px;font-size:13px;color:#926944;text-align:center}.mh-improved-favorite-setups-blueprint-container .content{position:absolute;inset:35px 5px 10px;overflow-y:auto}.mh-improved-favorite-setups-blueprint-container .row{display:grid;grid-template-columns:1fr 30px repeat(4,45px);align-items:center;height:auto;min-height:50px;padding:3px;margin-bottom:7px;background:#fff;border:1px solid #ceb7a6;border-radius:5px}.mh-improved-favorite-setups-blueprint-container .location-favorites{padding:10px 0;margin:10px 0}.mh-improved-favorite-setups-blueprint-container .row.location-favorite{background-color:#fdfacf}.mh-improved-favorite-setups-blueprint-container .row.location-favorite:last-child{margin-bottom:0}.mh-improved-favorite-setups-blueprint-container .row .campPage-trap-itemBrowser-favorite-item-image{width:100%;height:45px;border-radius:0}.mh-improved-favorite-setups-blueprint-container .row.editing{grid-template-columns:1fr repeat(4,40px);align-items:start}.mh-improved-favorite-setups-blueprint-container .controls{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-around;height:50px}.mh-improved-favorite-setups-blueprint-container .row.editing .controls{align-items:flex-end}.mh-improved-favorite-setups-blueprint-container .button-wrapper{display:flex;gap:5px;align-items:center;justify-content:center}.mh-improved-favorite-setups-blueprint-container .row.editing .button-wrapper{align-self:flex-end;margin-right:5px}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-favorite-item{width:100%}.mh-improved-favorite-setups-blueprint-container .controls .label{padding:0;font-size:12px;text-align:center}.mh-improved-favorite-setups-blueprint-container .controls .action{padding:4px 6px;font-size:11px;font-weight:400;line-height:inherit}.mh-improved-favorite-setups-blueprint-container .controls .action.arm{padding:4px 10px}.mh-improved-favorite-setups-blueprint-container .edit{position:absolute;right:10px}.mh-improved-favorite-setups-blueprint-container .controls .delete,.mh-improved-favorite-setups-blueprint-container .editing .controls .delete,.mh-improved-favorite-setups-blueprint-container .editing .controls .edit-setup,.mh-improved-favorite-setups-blueprint-container.editing .controls .edit-setup,.mh-improved-favorite-setups-blueprint-container .controls .save-setup,.mh-improved-favorite-setups-blueprint-container .controls .cancel-setup,.mh-improved-favorite-setups-blueprint-container.editing .controls .arm,.mh-improved-favorite-setups-blueprint-container .editing .controls .arm{display:none}.mh-improved-favorite-setups-blueprint-container .editing .controls .delete,.mh-improved-favorite-setups-blueprint-container .editing .controls .save-setup,.mh-improved-favorite-setups-blueprint-container .editing .controls .cancel-setup{display:block}.mh-improved-favorite-setups-blueprint-container .row.flash{background-color:#b9ffb9}.mh-improved-favorite-setups-blueprint-container .controls input{width:150px}.row.editing .campPage-trap-itemBrowser-favorite-item:after{position:absolute;right:5px;bottom:-8px;left:5px;display:flex;align-items:center;justify-content:center;padding:2px 0;content:"edit";background-color:#eeeeeeed;border:1px solid #585858;border-radius:5px}.row.editing .campPage-trap-itemBrowser-favorite-item:hover:after{background-color:#ccc}.mh-improved-favorite-setups-blueprint-container .editing .campPage-trap-itemBrowser-favorite-item:hover .campPage-trap-itemBrowser-favorite-item-image{opacity:.8}.mh-improved-favorite-setups-component-picker-popup-body-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mh-improved-favorite-setups-component-picker .prefix,.mh-improved-favorite-setups-component-picker .content{background-color:#f6f3eb}.mh-improved-favorite-setups-component-picker .content .content{max-height:90vh;overflow:auto}.mh-improved-favorite-setups-component-picker .campPage-trap-itemBrowser-item{width:auto;max-width:300px}.mh-improved-favorite-setups-component-picker-popup-search{display:flex;align-items:center;justify-content:space-around;margin-bottom:20px}.mh-improved-favorite-setups-component-picker-popup-search input{width:350px;padding:10px}.mh-improved-favorite-setups-component-picker .campPage-trap-itemBrowser-item-description{margin-left:0}.mh-improved-favorite-setups-component-picker .trinket .campPage-trap-itemBrowser-item-content{width:80%}a.random-title:after{position:absolute;top:2px;right:-18px;box-sizing:border-box;display:block;width:17px;height:17px;padding:9px;margin:1px;content:"";background:url(https://www.mousehuntgame.com/images/ui/puzzle/refresh.png) no-repeat center center / contain;border-radius:50%}a.random-title:hover:after{background-color:#ddd}a.random-title.loading:after{animation:mh-improved-spin 1s linear infinite}@media (prefers-reduced-motion: reduce){a.random-title.loading:after{animation:none}}.mh-improved-favorite-setups-blueprint-container .editing .controls .label{position:relative;align-self:flex-start}.mh-improved-favorite-setups-blueprint-container .row .mh-improved-favorite-setups-power-type-wrapper .campPage-trap-itemBrowser-favorite-item-image{width:25px;height:25px;opacity:.8}.mh-improved-favorite-setups-component-picker-popup .campPage-trap-itemBrowser-item-statContainer{width:75%;margin-top:5px}.mh-improved-favorite-setups-component-picker-popup .campPage-trap-itemBrowser-item-content{width:80%}.mh-improved-favorite-setups-blueprint-container .editing .campPage-trap-itemBrowser-item-powerType{display:none}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType{display:flex;flex-direction:column;align-items:center;justify-content:center;width:25px}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType.hidden{visibility:hidden}.mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType:before{box-sizing:border-box;background-color:transparent;border:none}.mh-improved-favorite-setups-blueprint-container .row:hover .controls .action.arm{outline:2px solid #eab35d}.mh-improved-favorite-setups-blueprint-container .row.editing .campPage-trap-itemBrowser-favorite-item-image{height:40px}.mh-improved-favorite-setups-blueprint-container .row.editing .move-buttons{display:flex}.mh-improved-favorite-setups-blueprint-container .row .move-buttons{position:absolute;bottom:20px;left:28px;display:none;flex-direction:row;align-items:center}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-down:after,.mh-improved-favorite-setups-blueprint-container .row.editing a.move-up:after{position:absolute;top:0;right:0;width:18px;height:18px;content:"";background-repeat:no-repeat;background-size:contain;opacity:.4}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-up:after{position:absolute;right:13px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 17a.75.75 0 0 1-.75-.75V5.612L5.29 9.77a.75.75 0 0 1-1.08-1.04l5.25-5.5a.75.75 0 0 1 1.08 0l5.25 5.5a.75.75 0 1 1-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0 1 10 17Z" clip-rule="evenodd" /></svg>')}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-down:after{background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 3a.75.75 0 0 1 .75.75v10.638l3.96-4.158a.75.75 0 1 1 1.08 1.04l-5.25 5.5a.75.75 0 0 1-1.08 0l-5.25-5.5a.75.75 0 1 1 1.08-1.04l3.96 4.158V3.75A.75.75 0 0 1 10 3Z" clip-rule="evenodd" /></svg>')}.mh-improved-favorite-setups-blueprint-container .row.editing a.move-down:hover:after,.mh-improved-favorite-setups-blueprint-container .row.editing a.move-up:hover:after{opacity:1}.mh-improved-favorite-setups-blueprint-container .row:last-child .move-down{display:none}.mh-improved-favorite-setups-blueprint-container .row:nth-child(2) .move-up{display:none}.pageFrameView #mousehuntContainer.PageCamp .mh-improved-favorite-setups-button:hover{background-color:#fdfaf2}.mh-dark-mode .pageFrameView .mh-improved-favorite-setups-blueprint-container .campPage-trap-itemBrowser-item-powerType:after{color:#000}.mh-dark-mode .mh-improved-favorite-setups-button-label{color:#e0d3b3}.mh-dark-mode .mh-improved-favorite-setups-button-text{color:#ebebeb}.mousehuntHeaderView .menuItem.mousehunt-improved-favorite-setups-icon{display:flex;align-items:center;justify-content:center;width:20px;height:25px;padding:0}.mousehunt-improved-favorite-setups-icon:before{display:block;width:15px;height:15px;content:"";background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401Z" clip-rule="evenodd" /></svg>');background-repeat:no-repeat;background-size:contain;opacity:.5}.mousehunt-improved-favorite-setups-icon:hover:before{opacity:1}.mh-improved-favorite-setups-blueprint-container .editing .controls .action{padding:2px 6px}.mh-improved-favorite-setups-blueprint-container .location-favorite .controls .edit-setup{display:none} `; } }); // src/modules/favorite-setups/index.js var getFavoriteSetups, saveFavoriteSetup, normalizeSetup, getCurrentSetup, makeImage, makeButton2, getCheeseEffect, getPowerTypeId, makeImagePicker, armItem, makeBlueprintRow, makeBlueprintContainer, getNameOfCurrentSetup, updateFavoriteSetupName, addFavoriteSetupsButton, toggleFavoriteSetups, addIcon, init27, favorite_setups_default2; var init_favorite_setups2 = __esm({ "src/modules/favorite-setups/index.js"() { init_utils2(); init_styles30(); getFavoriteSetups = () => { const faves = getSetting("favorite-setups.setups", []); if (!faves || !Array.isArray(faves) || !faves.length) { return []; } return faves.filter(Boolean); }; saveFavoriteSetup = (setup, useGeneratedName = true) => __async(void 0, null, function* () { let setups = getFavoriteSetups(); if (!setups.length) { setups = []; } const normalizedSetup = normalizeSetup(setup); if (useGeneratedName) { const setupName = yield fetch("https://setup-namer.mouse.rip", { method: "POST", headers: getHeaders(), body: JSON.stringify([ normalizedSetup.bait_id, normalizedSetup.base_id, normalizedSetup.weapon_id, normalizedSetup.trinket_id ]) }); const setupNameData = yield setupName.json(); if (setupNameData.name) { normalizedSetup.name = setupNameData.name; } } else { normalizedSetup.name = user.environment_name; } try { setups.push(normalizedSetup); } catch (e) { setups = [normalizedSetup]; } saveSetting("favorite-setups.setups", setups); return normalizedSetup; }); normalizeSetup = (setup) => { return Object.keys(setup).reduce((acc, key) => { acc[key] = setup[key] ? setup[key].toString() : ""; return acc; }, {}); }; getCurrentSetup = () => { return normalizeSetup({ id: "current", name: "Current Setup", bait_id: user.bait_item_id, base_id: user.base_item_id, weapon_id: user.weapon_item_id, trinket_id: user.trinket_item_id, power_type: user == null ? void 0 : user.trap_power_type_name.toLowerCase(), location: getCurrentLocation() }); }; makeImage = (type, id, thumbnail) => { const wrapper = makeElement("div", "campPage-trap-itemBrowser-favorite-item"); wrapper.setAttribute("data-item-id", id); wrapper.setAttribute("data-item-type", type); wrapper.setAttribute("title", `Click to change ${type}`); const item = makeElement("div", ["campPage-trap-itemBrowser-favorite-item-image"]); item.style.backgroundImage = `url(${thumbnail})`; makeElement("div", "campPage-trap-itemBrowser-favorite-item-frame", "", item); wrapper.append(item); return wrapper; }; makeButton2 = (button) => { const buttonElement = makeElement("a", ["mousehuntActionButton", "action", ...button.className]); makeElement("span", "", button.text, buttonElement); buttonElement.addEventListener("click", button.callback); return buttonElement; }; getCheeseEffect = (textValue) => { const data = { "Uber Fresh": 13, "Ultimately Fresh": 12, "Insanely Fresh": 11, "Extremely Fresh": 10, "Very Fresh": 9, Fresh: 8, "No Effect": 7, Stale: 6, "Very Stale": 5, "Extremely Stale": 4, "Insanely Stale": 3, "Ultimately Stale": 2, "Uber Stale": 1 }; return data[textValue]; }; getPowerTypeId = (powerType) => { const data = { arcane: "arcn", draconic: "drcnc", forgotten: "frgttn", hydro: "hdr", law: "law", parental: "prntl", physical: "phscl", rift: "rift", shadow: "shdw", tactical: "tctcl" }; return data[powerType] || powerType; }; makeImagePicker = (setupId, type, currentId, callback) => __async(void 0, null, function* () { const response = yield doRequest("managers/ajax/users/gettrapcomponents.php", { classification: type }); const items2 = (response == null ? void 0 : response.components) || []; items2.sort((a, b) => { if (a.name < b.name) { return -1; } if (a.name > b.name) { return 1; } return 0; }); let content = '<div class="mh-improved-favorite-setups-component-picker-popup">'; content += '<div class="mh-improved-favorite-setups-component-picker-popup-body">'; content += '<div class="mh-improved-favorite-setups-component-picker-popup-search">'; content += '<input type="text" placeholder="Search" id="mh-improved-favorite-setups-component-picker-popup-search-input" />'; content += '<div class="mh-improved-favorites-setups-component-picker-popup-use-current mousehuntActionButton" title="Use current item"><span>Use currently armed item</span></div>'; content += "</div>"; content += '<div class="mh-improved-favorite-setups-component-picker-popup-body-items">'; for (const item of items2) { const getStatRow = (stat, title, formatted, compare) => { let compareStat = item[stat]; if ("cheese_effect" === stat) { compareStat = getCheeseEffect(item); compare = getCheeseEffect(compare); } const compareClass = compare === compareStat ? "" : compare > compareStat ? "better" : "worse"; return `<div class="campPage-trap-itemBrowser-item-stat ${stat} ${compareClass}" title="${title}"> <div class="value"><span>${formatted}</span></div> </div>`; }; content += `<div class="campPage-trap-itemBrowser-item loaded ${type}" data-item-id="${item.item_id}">`; content += ' <div class="campPage-trap-itemBrowser-item-leftBar">'; content += ` <a href="#"><div class="campPage-trap-itemBrowser-item-image" style="background-image:url(${item.thumbnail});"></div></a>`; content += ` <a href="#" class="campPage-trap-itemBrowser-item-armButton save-button" data-item-id="${item.item_id}" data-item-classification="${type}" data-item-image="${item.thumbnail}" data-power-type="${item.power_type_image_name}">Use</a>`; content += " </div>"; content += ' <div class="campPage-trap-itemBrowser-item-content">'; content += ` <div class="campPage-trap-itemBrowser-item-name">${item.name}</div>`; if ("bait" === type || "trinket" === type) { const quantityFormatted = item.quantity.toLocaleString(); content += `<div class="campPage-trap-itemBrowser-item-quantity"><span class="quantity">${quantityFormatted}</span><span class="label">Quantity</span></div>`; } if (item.power_type) { content += `<div class="campPage-trap-itemBrowser-item-powerType ${item.power_type}"></div>`; } if (item.has_stats) { content += '<div class="campPage-trap-itemBrowser-item-statContainer">'; content += item.has_power ? getStatRow("power", "Power", item.power_formatted, user.trap_power) : ""; content += item.has_power_bonus ? getStatRow("power_bonus", "Power Bonus", item.power_bonus_formatted, user.trap_power_bonus) : ""; content += item.has_attraction_bonus ? getStatRow("attraction_bonus", "Attraction Bonus", item.attraction_bonus_formatted, user.trap_attraction_bonus) : ""; content += item.has_luck ? getStatRow("luck", "Luck", item.luck_formatted, user.trap_luck) : ""; content += getStatRow("cheese_effect", "Cheese Effect", item.cheese_effect, user.trap_cheese_effect); content += "</div>"; } content += '<div class="campPage-trap-itemBrowser-item-description shortDescription">'; content += item.consume_method ? `<div class="campPage-trap-itemBrowser-item-description-consumeMethod"><b>Consumed on:</b> ${item.consume_method}</div>` : ""; if ("bait" === type) { let description = item.description.replaceAll(/<\/?[^>]+(>|$)/g, ""); description = description.slice(0, 200); if (item.description.length > 150) { description += "\u2026"; } content += `<div class="campPage-trap-itemBrowser-item-description-text">${description}</div>`; } content += "</div>"; content += "</div>"; content += "</div>"; } content += "</div>"; content += "</div>"; content += "</div>"; const popup = createPopup({ id: "mh-improved-favorite-setups-component-picker", title: "", content, className: "mh-improved-favorite-setups-component-picker" }); popup.show(); const saveButtons = document.querySelectorAll(".campPage-trap-itemBrowser-item-armButton.save-button"); saveButtons.forEach((saveButton) => { saveButton.addEventListener("click", (event) => __async(void 0, null, function* () { event.preventDefault(); event.stopPropagation(); callback( saveButton.getAttribute("data-item-id"), saveButton.getAttribute("data-item-classification"), saveButton.getAttribute("data-item-image"), saveButton.getAttribute("data-power-type") ); popup.hide(); })); }); const searchInput = document.querySelector("#mh-improved-favorite-setups-component-picker-popup-search-input"); if (!searchInput) { return; } searchInput.focus(); searchInput.addEventListener("keyup", () => { const filter = searchInput.value.toLowerCase(); const searchItems = document.querySelectorAll(".campPage-trap-itemBrowser-item"); searchItems.forEach((item) => { const name = item.querySelector(".campPage-trap-itemBrowser-item-name"); if (name.textContent.toLowerCase().includes(filter)) { item.classList.remove("hidden"); } else { item.classList.add("hidden"); } }); }); const useCurrentItemButton = document.querySelector(".mh-improved-favorites-setups-component-picker-popup-use-current"); useCurrentItemButton.addEventListener("click", () => { const item = document.querySelector(`.campPage-trap-itemBrowser-item[data-item-id="${user[`${type}_item_id`]}"]`); if (!item) { return; } const saveButton = item.querySelector(".campPage-trap-itemBrowser-item-armButton.save-button"); if (!saveButton) { return; } callback( saveButton.getAttribute("data-item-id"), saveButton.getAttribute("data-item-classification"), saveButton.getAttribute("data-item-image"), saveButton.getAttribute("data-power-type") ); popup.hide(); }); }); armItem = (items2) => __async(void 0, null, function* () { return new Promise((resolve, reject2) => { items2.forEach(({ id, type }) => { hg.utils.TrapControl.armItem(id, type); }); hg.utils.TrapControl.go(resolve, reject2); }); }); makeBlueprintRow = (setup, isCurrent = false) => __async(void 0, null, function* () { if (!setup) { return; } const setupContainer = makeElement("div", ["row"]); const controls = makeElement("div", ["controls"]); makeElement("div", ["label"], (setup == null ? void 0 : setup.name) || "", controls); let hasHighlighted = false; const buttonWrapper = makeElement("div", ["button-wrapper"]); if (isCurrent) { buttonWrapper.append(makeButton2({ text: "Save", className: ["save", "lightBlue"], callback: () => __async(void 0, null, function* () { let currentSetup = getCurrentSetup(); currentSetup.id = `${setup == null ? void 0 : setup.bait_id}-${setup == null ? void 0 : setup.base_id}-${setup == null ? void 0 : setup.weapon_id}-${setup == null ? void 0 : setup.trinket_id}`; const setups = getFavoriteSetups(); if (setups.length) { const existingSetup = setups.find((s) => (s == null ? void 0 : s.id) && s.id === currentSetup.id); if (existingSetup && !hasHighlighted) { const row = document.querySelector(`.mh-improved-favorite-setups-blueprint-container .row[data-setup-id="${currentSetup.id}"]`); row.classList.add("flash"); setTimeout(() => { row.classList.remove("flash"); }, 1e3); hasHighlighted = true; return; } } currentSetup = yield saveFavoriteSetup(currentSetup, false); const setupRow = yield makeBlueprintRow(currentSetup); setupRow.setAttribute("data-setup-id", currentSetup.id); const body = document.querySelector(".mh-improved-favorite-setups-blueprint-container .content"); body.append(setupRow); updateFavoriteSetupName(); }) })); } else { buttonWrapper.append(makeButton2({ text: "Arm", className: ["arm"], callback: () => __async(void 0, null, function* () { const setupId = setupContainer.getAttribute("data-setup-id"); debuglog("favorite-setups", `Arming setup ${setupId}`); const setups = getFavoriteSetups(); if (!setups.length) { return; } if (!setupId) { return; } const index = setups.findIndex((s) => (s == null ? void 0 : s.id) && s.id === setupId); const thisSetup = setups[index]; if (!thisSetup) { return; } const toArm = []; if (thisSetup.base_id && thisSetup.base_id != user.base_item_id) { toArm.push({ id: thisSetup.base_id, type: "base" }); } if (thisSetup.weapon_id && thisSetup.weapon_id != user.weapon_item_id) { toArm.push({ id: thisSetup.weapon_id, type: "weapon" }); } if (thisSetup.trinket_id && thisSetup.trinket_id != user.trinket_item_id) { toArm.push({ id: thisSetup.trinket_id, type: "trinket" }); } if (thisSetup.bait_id && thisSetup.bait_id != user.bait_item_id) { toArm.push({ id: thisSetup.bait_id, type: "bait" }); } if (toArm.length) { yield armItem(toArm); } updateFavoriteSetupName(); }) })); buttonWrapper.append(makeButton2({ text: "Edit", className: ["edit-setup"], callback: () => { const setupId = setupContainer.getAttribute("data-setup-id"); debuglog("favorite-setups", `Editing setup ${setupId}`); setupContainer.classList.add("editing"); const title = setupContainer.querySelector(".label"); const randomTitleButton = makeElement("a", "random-title"); randomTitleButton.setAttribute("title", "Generate a random name for this setup"); randomTitleButton.addEventListener("click", (e) => __async(void 0, null, function* () { e.preventDefault(); e.target.classList.add("loading"); const response = yield fetch("https://setup-namer.mouse.rip", { method: "POST", headers: getHeaders(), body: JSON.stringify([ setup.bait_id, setup.base_id, setup.weapon_id, setup.trinket_id ]) }); const setupNameData = yield response.json(); if (setupNameData.name) { title.querySelector("input").value = setupNameData.name; } e.target.classList.remove("loading"); })); const titleInput = document.createElement("input"); titleInput.value = title.textContent; title.textContent = ""; title.append(titleInput); title.prepend(randomTitleButton); const powerTypeInput = makeElement("input", ["hidden", "power-type-input"]); powerTypeInput.setAttribute("data-power-type", setup.power_type); title.append(powerTypeInput); const images = setupContainer.querySelectorAll(".campPage-trap-itemBrowser-favorite-item"); images.forEach((image) => { image.classList.add("clickable"); image.addEventListener("click", () => __async(void 0, null, function* () { const itemType = image.getAttribute("data-item-type"); const itemId = image.getAttribute("data-item-id"); const imageDisplay = image.querySelector(".campPage-trap-itemBrowser-favorite-item-image"); yield makeImagePicker(setupId, itemType, itemId, (newItemId, newItemType, newItemImageUrl, newItemPowerType) => { if (itemType !== newItemType) { return; } if (itemId == newItemId) { return; } image.setAttribute("data-new-item-id", newItemId); image.setAttribute("data-new-item-image", newItemImageUrl); image.setAttribute("data-old-image-url", imageDisplay.style.backgroundImage); if (newItemPowerType && "undefined" !== newItemPowerType) { const ptInput = setupContainer.querySelector(".power-type-input"); ptInput.setAttribute("data-power-type", newItemPowerType); } imageDisplay.style.backgroundImage = `url(${newItemImageUrl})`; }); })); }); const existing = setupContainer.querySelector(".move-buttons"); if (existing) { existing.remove(); } const moveUpButton = makeElement("a", ["move-up"]); moveUpButton.addEventListener("click", (event) => { const previous = event.target.closest(".row").previousElementSibling; if (previous) { const setups = getFavoriteSetups(); if (!setups.length) { return; } const index = setups.findIndex((s) => (s == null ? void 0 : s.id) && s.id === setupId); const previousIndex = setups.findIndex((s) => (s == null ? void 0 : s.id) === previous.getAttribute("data-setup-id")); const temp = setups[index]; setups[index] = setups[previousIndex]; setups[previousIndex] = temp; saveSetting("favorite-setups.setups", setups); previous.before(setupContainer); } }); const moveDownButton = makeElement("a", ["move-down"]); moveDownButton.addEventListener("click", (event) => { const next = event.target.closest(".row").nextElementSibling; if (next) { const setups = getFavoriteSetups(); if (!setups.length) { return; } const index = setups.findIndex((s) => (s == null ? void 0 : s.id) && s.id === setupId); const nextIndex = setups.findIndex((s) => (s == null ? void 0 : s.id) && s.id === next.getAttribute("data-setup-id")); const temp = setups[index]; setups[index] = setups[nextIndex]; setups[nextIndex] = temp; saveSetting("favorite-setups.setups", setups); next.after(setupContainer); } }); const moveButtons = makeElement("div", ["move-buttons"]); moveButtons.append(moveUpButton); moveButtons.append(moveDownButton); controls.append(moveButtons); } })); buttonWrapper.append(makeButton2({ text: "Save", className: ["save-setup"], callback: () => { const setupId = setupContainer.getAttribute("data-setup-id"); debuglog("favorite-setups", `Saving setup ${setupId}`); setupContainer.classList.remove("editing"); const newSetup = setup; const title = setupContainer.querySelector(".label"); const titleInput = title.querySelector("input"); setup.name = titleInput.value; const powerTypeInput = setupContainer.querySelector(".power-type-input"); if (powerTypeInput) { const lastPowerType = setup.power_type; const newPowerType = powerTypeInput.getAttribute("data-power-type"); if (newPowerType && lastPowerType !== newPowerType) { setup.power_type = newPowerType; const powerTypeImage = setupContainer.querySelector(".campPage-trap-itemBrowser-item-powerType"); if (powerTypeImage) { const lastPowerTypeClass = lastPowerType ? getPowerTypeId(lastPowerType) : "hidden"; const newPowerTypeClass = newPowerType ? getPowerTypeId(newPowerType) : "hidden"; powerTypeImage.classList.remove(lastPowerTypeClass); powerTypeImage.classList.add(newPowerTypeClass); powerTypeImage.classList.remove("hidden"); } } } const images = setupContainer.querySelectorAll(".campPage-trap-itemBrowser-favorite-item"); images.forEach((image) => { const newItemId = image.getAttribute("data-new-item-id"); if (!newItemId) { return; } const itemType = image.getAttribute("data-item-type"); newSetup[`${itemType}_id`] = newItemId; image.removeAttribute("data-new-item-id"); image.removeAttribute("data-new-item-image"); image.removeAttribute("data-old-image-url"); }); let setups = getFavoriteSetups(); if (!setups.length) { setups = []; } const index = setups.findIndex((s) => (s == null ? void 0 : s.id) && s.id === setupId); newSetup.id = Math.random().toString(36).slice(2, 15) + Math.random().toString(36).slice(2, 15); setups[index] = newSetup; saveSetting("favorite-setups.setups", setups); title.textContent = newSetup.name; titleInput.remove(); updateFavoriteSetupName(); } })); buttonWrapper.append(makeButton2({ text: "Cancel", className: ["cancel-setup"], callback: () => { setupContainer.classList.remove("editing"); const titleInput = setupContainer.querySelector(".label input"); const title = setupContainer.querySelector(".label"); title.textContent = setup.name; titleInput.remove(); const images = setupContainer.querySelectorAll(".campPage-trap-itemBrowser-favorite-item"); images.forEach((image) => { const newItemId = image.getAttribute("data-new-item-id"); if (!newItemId) { return; } const imageDisplay = image.querySelector(".campPage-trap-itemBrowser-favorite-item-image"); imageDisplay.style.backgroundImage = image.getAttribute("data-old-image-url"); image.removeAttribute("data-new-item-id"); image.removeAttribute("data-new-item-image"); image.removeAttribute("data-old-image-url"); }); } })); buttonWrapper.append(makeButton2({ text: "Delete", className: ["delete", "danger"], callback: () => { const setupId = setupContainer.getAttribute("data-setup-id"); debuglog("favorite-setups", `Deleting setup ${setupId}`); const confirmed = confirm("Are you sure you want to delete this setup?"); if (!confirmed) { return; } let setups = getFavoriteSetups(); if (!setups.length) { setups = []; } const index = setups.findIndex((s) => (s == null ? void 0 : s.id) && s.id === setupId); setups.splice(index, 1); saveSetting("favorite-setups.setups", setups); setupContainer.remove(); } })); } controls.append(buttonWrapper); setupContainer.append(controls); let cachedThumbnails = sessionGet("favorite-setups-thumbnails", {}); const needThumbnails = []; const items2 = [ (setup == null ? void 0 : setup.bait_id) || 0, (setup == null ? void 0 : setup.base_id) || 0, (setup == null ? void 0 : setup.weapon_id) || 0, (setup == null ? void 0 : setup.trinket_id) || 0 ]; for (const item of items2) { if (!cachedThumbnails[item]) { needThumbnails.push(item); } } if (needThumbnails.length) { const grabbedThumbnailsReq = yield fetch("https://images.mouse.rip", { method: "POST", headers: getHeaders(), body: JSON.stringify(needThumbnails) }); const grabbedThumbnails = yield grabbedThumbnailsReq.json(); const thumbnails = __spreadValues(__spreadValues({}, cachedThumbnails), grabbedThumbnails); sessionSet("favorite-setups-thumbnails", thumbnails); cachedThumbnails = thumbnails; } const powerTypeId = getPowerTypeId(setup == null ? void 0 : setup.power_type); const powertype = makeElement("div", ["campPage-trap-itemBrowser-item-powerType", powerTypeId]); if (!powerTypeId) { powertype.classList.add("hidden"); } setupContainer.append(powertype); setupContainer.append(makeImage("bait", setup.bait_id, cachedThumbnails[setup.bait_id])); setupContainer.append(makeImage("base", setup.base_id, cachedThumbnails[setup.base_id])); setupContainer.append(makeImage("weapon", setup.weapon_id, cachedThumbnails[setup.weapon_id])); setupContainer.append(makeImage("trinket", setup.trinket_id, cachedThumbnails[setup.trinket_id])); return setupContainer; }); makeBlueprintContainer = () => __async(void 0, null, function* () { const existing = document.querySelector(".mh-improved-favorite-setups-blueprint-container"); if (existing) { existing.remove(); } const container = makeElement("div", "mh-improved-favorite-setups-blueprint-container"); const header = makeElement("div", ["header"]); makeElement("b", ["title"], "Favorite Setups", header); container.append(header); const body = makeElement("div", ["content"]); const currentSetupRow = yield makeBlueprintRow(getCurrentSetup(), true); currentSetupRow.classList.add("current-setup"); body.append(currentSetupRow); const setups = getFavoriteSetups(); if (setups.length) { const locationFavorites = []; for (const setup of setups) { if (!setup || !setup.id) { continue; } if (setup.location && setup.location === getCurrentLocation()) { locationFavorites.push(setup); } } if (locationFavorites.length) { const locationWrapper = makeElement("div", ["location-favorites"]); for (const setup of locationFavorites) { if (!setup || !setup.id) { continue; } const setupContainer = yield makeBlueprintRow(setup); setupContainer.setAttribute("data-setup-id", setup.id); setupContainer.classList.add("location-favorite"); locationWrapper.append(setupContainer); } body.append(locationWrapper); } for (const setup of setups) { if (!setup || !setup.id) { continue; } const setupContainer = yield makeBlueprintRow(setup); setupContainer.setAttribute("data-setup-id", setup.id); body.append(setupContainer); } } container.append(body); return container; }); getNameOfCurrentSetup = () => { const setups = getFavoriteSetups(); if (!setups.length) { return ""; } const currentSetup = getCurrentSetup(); const setup = setups.find((s) => { return (s == null ? void 0 : s.bait_id) === (currentSetup == null ? void 0 : currentSetup.bait_id) && (s == null ? void 0 : s.base_id) === (currentSetup == null ? void 0 : currentSetup.base_id) && (s == null ? void 0 : s.weapon_id) === (currentSetup == null ? void 0 : currentSetup.weapon_id) && (s == null ? void 0 : s.trinket_id) === (currentSetup == null ? void 0 : currentSetup.trinket_id); }); if (setup && setup.name) { return setup.name; } return ""; }; updateFavoriteSetupName = () => { const label = document.querySelector(".mh-improved-favorite-setups-button-label"); if (!label) { return; } label.innerHTML = getNameOfCurrentSetup() || ""; }; addFavoriteSetupsButton = () => { if ("camp" !== getCurrentPage()) { return; } const existingButton = document.querySelector(".mh-improved-favorite-setups-button"); if (existingButton) { return; } const appendTo = document.querySelector(".trapSelectorView__trapStatSummaryContainer"); if (!appendTo) { return; } const button = makeElement("a", ["mh-improved-favorite-setups-button"]); makeElement("div", ["mh-improved-favorite-setups-button-text"], "Favorite Setups", button); const label = makeElement("div", ["mh-improved-favorite-setups-button-label"]); label.innerHTML = getNameOfCurrentSetup(); button.append(label); button.addEventListener("click", toggleFavoriteSetups); appendTo.append(button); }; toggleFavoriteSetups = () => __async(void 0, null, function* () { const content = yield makeBlueprintContainer(); toggleBlueprint("favorite-setups", content); }); addIcon = () => { addIconToMenu({ id: "favorite-setups", classname: "mousehunt-improved-favorite-setups-icon", title: "Favorite Setups", action: toggleFavoriteSetups, position: "prepend" }); }; init27 = () => __async(void 0, null, function* () { addStyles(styles_default29, "favorite-setups"); addFavoriteSetupsButton(); onNavigation(addFavoriteSetupsButton, { page: "camp" }); let timeoutId; onEvent("camp_page_arm_item", () => { if (timeoutId) { clearTimeout(timeoutId); } timeoutId = setTimeout(updateFavoriteSetupName, 500); }); if (getSetting("experiments.favorite-setups-toggle", false)) { addIcon(); } onEvent("mh-improved-toggle-favorite-setups", toggleFavoriteSetups); }); favorite_setups_default2 = { id: "favorite-setups", name: "Favorite Setups", type: "feature", default: false, description: "Save your favorite setups and arm them with a single click.", load: init27 }; } }); // src/modules/error-reporting/index.js var error_reporting_default; var init_error_reporting = __esm({ "src/modules/error-reporting/index.js"() { error_reporting_default = { id: "error-reporting", name: "Error Reporting", type: "advanced", description: "Send anonymous error reports to the developers.", default: true, order: 1e3, load: () => { } }; } }); // src/modules/experiments/modules/big-timer/legacy-styles.css var legacy_styles_default2; var init_legacy_styles2 = __esm({ "src/modules/experiments/modules/big-timer/legacy-styles.css"() { legacy_styles_default2 = '.big-timer.huntersHornView__timer.huntersHornView__timer.countdown:after{content:""}.big-timer.huntersHornView__timer.huntersHornView__timer--legacy.countdown .huntersHornView__timerState--type-countdown:before{content:""}.big-timer.huntersHornView__timer.huntersHornView__timer.countdown{position:absolute;top:60px;left:270px;z-index:100;padding:2px;background-color:#d9c9a0;border-radius:5px;box-shadow:0 -1px #ded9c3;transform:scale(2.6)}\n'; } }); // src/modules/experiments/modules/big-timer/styles.css var styles_default30; var init_styles31 = __esm({ "src/modules/experiments/modules/big-timer/styles.css"() { styles_default30 = '.big-timer.huntersHornView__timer.huntersHornView__timer.countdown{position:absolute;top:40px;left:185px;z-index:100;transform:scale(2.2)}.big-timer.huntersHornView__timer.huntersHornView__timer.countdown:after{position:absolute;top:6px;right:5px;left:5px;font-size:14px;text-align:center;content:"Next Hunt";background:linear-gradient(180deg,#fef2b8,#ecdfae)}\n'; } }); // src/modules/experiments/modules/big-timer/index.js var toggleBigTimer, big_timer_default; var init_big_timer = __esm({ "src/modules/experiments/modules/big-timer/index.js"() { init_utils2(); init_legacy_styles2(); init_styles31(); toggleBigTimer = () => { const timer = document.querySelector(".huntersHornView__timer"); if (!timer) { return; } let isBigTimer = timer.classList.contains("big-timer"); timer.addEventListener("click", () => { isBigTimer = !isBigTimer; timer.classList.toggle("big-timer", isBigTimer); }); }; big_timer_default = () => __async(void 0, null, function* () { addStyles([ styles_default30, isLegacyHUD() ? legacy_styles_default2 : "" ], "experiment-big-timer"); toggleBigTimer(); setTimeout(toggleBigTimer, 1e3); }); } }); // src/modules/experiments/modules/codex-at-bottom/styles.css var styles_default31; var init_styles32 = __esm({ "src/modules/experiments/modules/codex-at-bottom/styles.css"() { styles_default31 = ".trapSelectorView__activeCodexContainer--visible{order:100}\n"; } }); // src/modules/experiments/modules/codex-at-bottom/index.js var moveCodex, codex_at_bottom_default; var init_codex_at_bottom = __esm({ "src/modules/experiments/modules/codex-at-bottom/index.js"() { init_utils2(); init_styles32(); moveCodex = () => __async(void 0, null, function* () { const codex = document.querySelector(".trapSelectorView__activeCodexContainer"); if (!codex) { return; } const statsContainer = document.querySelector(".trapSelectorView__trapStatSummaryContainer"); if (!statsContainer) { return; } statsContainer.append(codex); }); codex_at_bottom_default = () => __async(void 0, null, function* () { addStyles(styles_default31, "codex-at-bottom"); moveCodex(); onNavigation(moveCodex, { page: "camp" }); onEvent("mh-improved-cre-list-rendered", moveCodex); }); } }); // src/modules/experiments/modules/delayed-menus/styles.css var styles_default32; var init_styles33 = __esm({ "src/modules/experiments/modules/delayed-menus/styles.css"() { styles_default32 = ".mousehuntHud-menu ul li ul{transform-origin:top;animation:mh-improved-in-scale-y .15s 1 backwards cubic-bezier(.4,0,1,1)}\n"; } }); // src/modules/experiments/modules/delayed-menus/index.js var delayed_menus_default; var init_delayed_menus = __esm({ "src/modules/experiments/modules/delayed-menus/index.js"() { init_utils2(); init_styles33(); delayed_menus_default = () => __async(void 0, null, function* () { addStyles(styles_default32, "delayed-menus"); }); } }); // src/modules/experiments/modules/journal-tags/styles.css var styles_default33; var init_styles34 = __esm({ "src/modules/experiments/modules/journal-tags/styles.css"() { styles_default33 = '.journal .content .catchsuccessloot:after,.journal .content .attractionfailure:after,.journal .content .catchfailure:after,.journal .content .luckycatchsuccess:after,.journal .content .passive:after,.journal .content .linked:after{position:absolute;top:10px;right:12px;left:unset;z-index:1;padding:1px 3px;font-size:9px;font-weight:700;line-height:11px;color:#fff;text-transform:uppercase;content:"";background:#53891b;border-radius:3px;opacity:0;transition:.2s}.journal .content .catchsuccessloot:hover:after,.journal .content .attractionfailure:hover:after,.journal .content .catchfailure:hover:after,.journal .content .luckycatchsuccess:hover:after,.journal .content .passive:hover:after,.journal .content .linked:hover:after{opacity:1}.journal .content .bonuscatchsuccess:after,.journal .content .bonuscatchfailure:after{opacity:0;transition:opacity .3s}.journal .content .bonuscatchsuccess:hover:after,.journal .content .bonuscatchfailure:hover:after{opacity:1}.journal .content .catchsuccessloot:after{content:"Catch";background:#53891b}.journal .content .catchfailure:after{content:"FTC";background:#891b1b}.journal .content .linked:after{content:"Friend"}.journal .content .luckycatchsuccess:after{content:"Lucky";background-color:#4ac338}.journal .content .passive:after{content:"Trap Check"}.journal .content .attractionfailure:after{content:"FTA";background:#959595}.journal .content .linked.attractionfailure:after{content:"Friend \\b7 FTA"}.journal .content .linked.catchfailure:after{content:"Friend \\b7 FTC"}.journal .content .linked.luckycatchsuccess:after{content:"Friend \\b7 Lucky"}.journal .content .passive.attractionfailure:after{content:"Trap Check \\b7 FTA"}.journal .content .passive.catchfailure:after{content:"Trap Check \\b7 FTC"}\n'; } }); // src/modules/experiments/modules/journal-tags/index.js var journal_tags_default; var init_journal_tags = __esm({ "src/modules/experiments/modules/journal-tags/index.js"() { init_utils2(); init_styles34(); journal_tags_default = () => __async(void 0, null, function* () { addStyles(styles_default33, "journal-tags"); }); } }); // src/modules/experiments/modules/new-settings-styles-columns/styles.css var styles_default34; var init_styles35 = __esm({ "src/modules/experiments/modules/new-settings-styles-columns/styles.css"() { styles_default34 = ".mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings.active.two-column{display:grid;grid-template-columns:49% 49%;justify-content:space-between}.two-column.mousehunt-improved-settings .PagePreferences__title{max-width:350px}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-location-hud.PagePreferences__title{grid-column:1 / 3;max-width:unset}.two-column.mousehunt-improved-settings .PagePreferences__setting{flex-wrap:wrap}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-design-wrapper .PagePreferences__setting{display:flex;flex-direction:column;align-items:stretch;margin:0}.two-column.mousehunt-improved-settings .mh-improved-custom-bg-preview,.two-column.mousehunt-improved-settings .mh-improved-custom-horn-show-horn{top:10px;right:0}#mousehunt-improved-settings-design .PagePreferences__settingAction{max-width:200px}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-feature-ultimate-checkmark-show.PagePreferences__subSetting .multi-toggle-row .PagePreferences__settingName{max-width:65px;padding:0;overflow:hidden;line-height:14px;text-overflow:ellipsis;white-space:nowrap}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-feature-ultimate-checkmark-show.PagePreferences__subSetting .multi-toggle-row{gap:0;justify-items:stretch}.two-column.mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__subSetting{margin-left:5px}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList.PagePreferences__subSetting{padding:0 5px;border-right:1px solid #e0cfb4;border-radius:0}.two-column.mousehunt-improved-settings .PagePreferences__settingsList-textarea .PagePreferences__setting,.two-column.mousehunt-improved-settings .PagePreferences__settingsList-input .PagePreferences__setting{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:0;margin:0}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-advanced-mh-improved-advanced-settings{position:relative;top:unset;right:unset;display:flex;align-items:flex-start;padding:0 0 10px;margin:0 0 10px;border-bottom:1px solid #e0cfb4}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-feature-quick-send-supplies-items .inputBoxContainer.multiSelect{display:grid;grid-template-columns:1fr 1fr}.two-column.mousehunt-improved-settings #mousehunt-improved-settings-feature-quick-send-supplies-items .multiSelect{width:auto;max-width:140px}.two-column #mousehunt-improved-settings-better-better-gifts-ignore-bad-gifts select.inputBox.multiSelect{max-width:200px}.two-column select.inputBox.multiSelect{max-width:140px;margin:0}.two-column .inputBoxContainer.multiSelect{gap:5px 10px;justify-content:flex-start;margin-top:5px}.two-column #mousehunt-improved-settings-location-hud{padding-bottom:0}.two-column #mousehunt-improved-settings-location-hud-wrapper{gap:0;height:725px;padding:10px 0 0;margin:0 -11px;border-left:1px solid #e0cfb4}.two-column #mousehunt-improved-settings-location-hud .PagePreferences__title{border-bottom:1px solid #f2ebde}.two-column.mousehunt-improved-settings .PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .mhui-setting-toggle,.PagePreferences .mousehuntHud-page-tabContent.game_settings.two-column.mousehunt-improved-settings .mhui-setting-toggle,.two-column #mousehunt-improved-settings-feature-quick-send-supplies-items .PagePreferences__settingLabel{display:none}.two-column #mousehunt-improved-settings-better-better-send-supplies-pinned-items .settingRow-action-inputContainer{width:300px}.two-column #mousehunt-improved-settings-advanced-override-styles,.two-column #mousehunt-improved-settings-advanced-override-flags{margin-left:0}.two-column #mousehunt-improved-settings-advanced-override-styles .PagePreferences__settingName,.two-column #mousehunt-improved-settings-advanced-override-flags .PagePreferences__settingName{margin-bottom:10px}.two-column .PagePreferences__settingsList .PagePreferences__subSetting{opacity:.4}.two-column .PagePreferences__settingsList:hover .PagePreferences__subSetting{opacity:1}.two-column .mousehunt-improved-settings .PagePreferences__titleText{padding-bottom:0}.two-column .mousehunt-improved-settings .PagePreferences__settingsList-textarea .PagePreferences__setting,.two-column .mousehunt-improved-settings .PagePreferences__settingsList-input .PagePreferences__setting{gap:5px}.two-column .mousehunt-improved-settings .PagePreferences__settingDescription{display:none}.two-column .mousehunt-improved-settings .PagePreferences__subSetting .PagePreferences__settingName{font-size:11px;line-height:1.5}\n"; } }); // src/modules/experiments/modules/new-settings-styles-columns/index.js var new_settings_styles_columns_default; var init_new_settings_styles_columns = __esm({ "src/modules/experiments/modules/new-settings-styles-columns/index.js"() { init_utils2(); init_styles35(); new_settings_styles_columns_default = () => __async(void 0, null, function* () { addStyles(styles_default34, "new-settings-styles-columns"); onNavigation(() => __async(void 0, null, function* () { const settings = document.querySelectorAll(".PagePreferences__settingsWrapper > .PagePreferences__settingsList"); settings.forEach((setting) => { setting.addEventListener("click", () => { setting.classList.toggle("hover"); }); }); }), { page: "preferences" }); }); } }); // src/modules/experiments/modules/raffle/raffle.css var raffle_default; var init_raffle = __esm({ "src/modules/experiments/modules/raffle/raffle.css"() { raffle_default = ".mh-return-raffles.message{position:sticky;top:0;right:0;left:0;z-index:10;background-color:#f9f9f9}.notificationMessageList .tab{scroll-behavior:smooth}.mh-return-raffles.message .actions{display:flex;gap:10px;align-items:center;justify-content:flex-start;float:none}.notificationMessageList .message.done{background-color:#bffdd2}.notificationMessageList .message.skipped{background-color:#dfdfdf}\n"; } }); // src/modules/experiments/modules/raffle/index.js var getBallotsToSend, getSavedSentBallots, getSavedSentBallot, saveSentBallot, sendBallot, returnRaffles, _inboxOpen, replaceInboxMethods, raffle_default2; var init_raffle2 = __esm({ "src/modules/experiments/modules/raffle/index.js"() { init_utils2(); init_raffle(); getBallotsToSend = () => { const ballotsToSend = []; const ballots = document.querySelectorAll(".message.notification.ballot"); if (!ballots.length) { return ballotsToSend; } ballots.forEach((ballot) => { if (ballot.classList.contains("done") || ballot.classList.contains("skipped")) { return; } const name = ballot.querySelector(".messageText a"); const action = ballot.querySelector(".sendBallot"); if (!action || !name) { return; } ballotsToSend.push({ id: action.getAttribute("data-sender"), name: name.innerText ? name.innerText.trim() : "", element: ballot }); }); return ballotsToSend; }; getSavedSentBallots = () => { return sessionGet("sent-ballots", []); }; getSavedSentBallot = (id) => { const savedSentBallots = getSavedSentBallots(); return savedSentBallots.includes(id); }; saveSentBallot = (id) => { const savedSentBallots = getSavedSentBallots(); savedSentBallots.push(id); sessionSet("sent-ballots", savedSentBallots); }; sendBallot = (ballot) => __async(void 0, null, function* () { var _a; debuglog("feature-flags-raffle", `Returning ballot for ${ballot.name} (${ballot.id})\u2026`); const button = document.querySelector(`.sendBallot[data-sender="${ballot.id}"]`); if (!button) { debuglog("feature-flags-raffle", `Could not find button for ${ballot.name} (${ballot.id})`); return { status: "error", proceed: false }; } const buttonParent = button.parentElement.parentElement; if (buttonParent) { const id = buttonParent.getAttribute("data-id"); if (id) { if (getSavedSentBallot(id)) { debuglog("feature-flags-raffle", `Already returned ballot for ${ballot.name} (${ballot.id})`); return { status: "skipped", proceed: true }; } saveSentBallot(id); } } let response; try { response = yield doRequest("managers/ajax/users/givefriendballot.php", { snuid: ballot.id }); } catch (error) { debuglog("feature-flags-raffle", `Error returning ballot for ${ballot.name}: ${error}`); yield sleep(1e3); return { status: "error", proceed: true }; } if (response.error && !((_a = response == null ? void 0 : response.error) == null ? void 0 : _a.includes("You have already entered "))) { debuglog("feature-flags-raffle", `Error returning ballot for ${ballot.name}: ${response.error}`); return { status: "error", proceed: false }; } debuglog("feature-flags-raffle", `Returned ballot for ${ballot.name} (${ballot.id})`); button.classList.add("disabled"); button.setAttribute("disabled", true); yield sleep(250); return { status: "done", proceed: true }; }); returnRaffles = () => __async(void 0, null, function* () { const drawTab = document.querySelector('.notificationMessageList .tab.active[data-tab="daily_draw"]'); if (!drawTab) { return; } const existing = document.querySelector(".mh-return-raffles.message"); if (existing) { existing.remove(); } const messageWrapper = makeElement("div", ["mh-return-raffles", "message"]); const actionsWrapper = makeElement("div", ["actions"]); const returnButton = makeElement("input", ["mh-return-raffles-button", "sendBallot"]); returnButton.setAttribute("type", "button"); returnButton.setAttribute("value", "Return Raffles"); const statusEl = makeElement("div", ["status"]); let isReturning = false; returnButton.addEventListener("click", () => __async(void 0, null, function* () { if (isReturning) { returnButton.value = "Return Raffles"; statusEl.innerText = "Stopped returning ballots."; setTimeout(() => { statusEl.innerText = ""; }, 1e3); isReturning = false; return; } isReturning = true; returnButton.value = "Stop Returning"; statusEl.innerText = "Returning ballots\u2026"; const ballotsToSend = getBallotsToSend(); if (!ballotsToSend.length) { return; } debuglog("feature-flags-raffle", `Returning ${ballotsToSend.length} ballots\u2026`, ballotsToSend); const tab = document.querySelector('.notificationMessageList .tab.active[data-tab="daily_draw"]'); if (!tab) { return; } for (const ballot of ballotsToSend) { if (!isReturning) { break; } ballot.element.scrollIntoView({ behavior: "smooth", block: "nearest" }); statusEl.innerText = `Returning ballot for ${ballot.name}\u2026`; ballot.element.classList.add("hover"); const { status, proceed } = yield sendBallot(ballot, tab); if ("skipped" === status) { statusEl.innerText = `Already returned ballot for ${ballot.name}!`; } ballot.element.classList.remove("hover"); if (!proceed) { statusEl.innerText = "Ballots returned!"; break; } ballot.element.classList.add(status); } if (!isReturning) { return; } isReturning = false; returnButton.value = "Return Raffles"; statusEl.innerText = "Ballots returned!"; setTimeout(() => { statusEl.innerText = ""; }, 1e3); })); actionsWrapper.append(returnButton); actionsWrapper.append(statusEl); messageWrapper.append(actionsWrapper); drawTab.insertBefore(messageWrapper, drawTab.firstChild); }); replaceInboxMethods = () => { var _a, _b, _c, _d; if ("undefined" === typeof messenger || !((_b = (_a = messenger == null ? void 0 : messenger.UI) == null ? void 0 : _a.notification) == null ? void 0 : _b.showTab)) { return; } if (_inboxOpen) { return; } _inboxOpen = messenger.UI.notification.showTab; messenger.UI.notification.showTab = (tab) => { const toReturn = _inboxOpen(tab); if (tab === "daily_draw") { returnRaffles(); } return toReturn; }; if (!((_d = (_c = messenger == null ? void 0 : messenger.UI) == null ? void 0 : _c.notification) == null ? void 0 : _d.togglePopup)) { return; } const _inboxPopup = messenger.UI.notification.togglePopup; messenger.UI.notification.togglePopup = (e) => { const toReturn = _inboxPopup(e); onEvent("ajax_response", () => { setTimeout(() => { const activeTab = document.querySelector(".notificationHeader .tab.active"); if (activeTab && activeTab.getAttribute("data-tab") === "daily_draw") { returnRaffles(); } }, 100); }, true); return toReturn; }; }; raffle_default2 = () => __async(void 0, null, function* () { if (getSetting("hide-daily-draw", false)) { return; } addStyles(raffle_default, "feature-flags-raffle"); replaceInboxMethods(); }); } }); // src/modules/experiments/modules/replace-favicon/index.js var replace, add, replace_favicon_default; var init_replace_favicon = __esm({ "src/modules/experiments/modules/replace-favicon/index.js"() { init_utils2(); replace = () => { const favicon = document.querySelector("#favicon"); if (favicon) { favicon.href = "https://i.mouse.rip/mh-icons/favicon.ico"; } }; add = () => { const icons = [ { rel: "apple-touch-icon", sizes: "180x180", href: "https://i.mouse.rip/mh-icons/apple-touch-icon.png" }, { rel: "icon", type: "image/png", sizes: "32x32", href: "https://i.mouse.rip/mh-icons/favicon-32x32.png" }, { rel: "icon", type: "image/png", sizes: "16x16", href: "https://i.mouse.rip/mh-icons/favicon-16x16.png" }, { rel: "mask-icon", href: "https://i.mouse.rip/mh-icons/safari-pinned-tab.svg", color: "#cfae00" } ]; icons.forEach((icon) => { const link = document.createElement("link"); for (const key in icon) { link.setAttribute(key, icon[key]); } document.head.append(link); }); }; replace_favicon_default = () => __async(void 0, null, function* () { add(); replace(); onTurn(() => { setMultipleTimeout(replace, [1e3, 2e3, 3e3, 4e3, 5e3]); }); }); } }); // src/modules/experiments/modules/shield-goes-to-camp/index.js var campToggle, shield_goes_to_camp_default; var init_shield_goes_to_camp = __esm({ "src/modules/experiments/modules/shield-goes-to-camp/index.js"() { init_utils2(); campToggle = () => { const shield = document.querySelector(".mousehuntHud-shield"); if (shield) { if ("camp" === getCurrentPage()) { shield.setAttribute("onclick", "hg.utils.PageUtil.showHunterProfile()"); } else { shield.setAttribute("onclick", 'hg.utils.PageUtil.setPage("camp")'); } } }; shield_goes_to_camp_default = () => __async(void 0, null, function* () { onNavigation(campToggle); }); } }); // src/modules/experiments/modules/sticky-popups/styles.css var styles_default35; var init_styles36 = __esm({ "src/modules/experiments/modules/sticky-popups/styles.css"() { styles_default35 = "#overlayPopup{position:sticky;top:10vh!important;overflow:hidden}\n"; } }); // src/modules/experiments/modules/sticky-popups/index.js var sticky_popups_default; var init_sticky_popups = __esm({ "src/modules/experiments/modules/sticky-popups/index.js"() { init_utils2(); init_styles36(); sticky_popups_default = () => __async(void 0, null, function* () { addStyles(styles_default35, "sticky-popups"); }); } }); // src/modules/experiments/modules/troll-mode/styles.css var styles_default36; var init_styles37 = __esm({ "src/modules/experiments/modules/troll-mode/styles.css"() { styles_default36 = "*+*{transition:.3s}*+*+*{filter:hue-rotate(90deg);transform:rotate(.5deg)}*+*+*+*{transform:rotate(-.6deg)}*+*>*{transform:rotate(-.1deg)}*+*+*>*{transform:rotate(.2deg)}div+div+div{filter:hue-rotate(90deg)}*>*>*>*>*>*>*>*>*>*>*{transition:.9s}*>*>*>*>*>*>*>*>*>*:hover *{transform:rotateX(20deg)}*>*>*>*>*>*>*>*>*>*>*:hover{transform:rotateX(-20deg)}.lolspin{animation:mh-improved-spin 1s linear infinite}@media (prefers-reduced-motion: reduce){.lolspin{animation:none}}\n"; } }); // src/modules/experiments/modules/troll-mode/index.js var trollEm, trollem2, troll_mode_default; var init_troll_mode = __esm({ "src/modules/experiments/modules/troll-mode/index.js"() { init_utils2(); init_styles37(); trollEm = () => { const domQuery = "#journallatestentry"; const lastCatch = document.querySelector(domQuery); const status = ["attractionfailure", "catchfailure", "catchfailuredamage"]; const isFtcOrFta = lastCatch && status.some((s) => lastCatch.classList.contains(s)); if (isFtcOrFta) { hg.views.MessengerView.addMessage({ content: { body: app.views.OnboardingTutorialView.tutorial.wrapInfoArrow(`wow you really are an amazing mousehunter ${user.username}`, "lol") }, highlight_dom: domQuery, highlight_padding: { top: 0, left: 0, right: 0, bottom: 1 }, css_class: "larryCircle", on_show_callback: () => { app.views.OnboardingTutorialView.tutorial.showBouncyArrow(domQuery, "top"); }, on_close_callback: () => { app.views.OnboardingTutorialView.tutorial.hideBouncyArrow(); }, show_overlay: true }); hg.views.MessengerView.go(); } }; trollem2 = () => { const banner = document.querySelector(".campPage-banner"); if (!banner) { return; } const bannerLink = document.createElement("a"); const newbieImg = document.createElement("img"); newbieImg.src = "https://www.mousehuntgame.com/images/promo/campbanners/groups/newbie.png"; bannerLink.append(newbieImg); bannerLink.addEventListener("click", () => { addStyles(styles_default36, "troll-mode"); banner.classList.add("lolspin"); setTimeout(() => { banner.classList.remove("lolspin"); }, 1e3); const elements = document.querySelectorAll("body * *"); const randomElement = elements[Math.floor(Math.random() * elements.length)]; randomElement.classList.add("lolspin"); setInterval(() => { const randomElement2 = elements[Math.floor(Math.random() * elements.length)]; randomElement2.classList.add("lolspin"); }, 500); }); banner.append(bannerLink); banner.classList.remove("hidden"); }; troll_mode_default = () => __async(void 0, null, function* () { trollEm(); onTurn(trollEm, 1e3); trollem2(); }); } }); // src/modules/experiments/modules/unique-loot-count/styles.css var styles_default37; var init_styles38 = __esm({ "src/modules/experiments/modules/unique-loot-count/styles.css"() { styles_default37 = ".uniqueLootCount{margin-left:5px}\n"; } }); // src/modules/experiments/modules/unique-loot-count/index.js var updateSection, addUniqueLootCount, unique_loot_count_default; var init_unique_loot_count = __esm({ "src/modules/experiments/modules/unique-loot-count/index.js"() { init_utils2(); init_styles38(); updateSection = (selector) => __async(void 0, null, function* () { const section = document.querySelector(`#overlayPopup.hunting_summary .${selector}`); if (!section) { return; } const existing = section.querySelector(".uniqueLootCount"); if (existing) { return; } const loots = section.querySelectorAll("a"); const count2 = makeElement("span", "uniqueLootCount", `(${loots.length} unique)`); const header = section.querySelector(".label"); header.append(count2); }); addUniqueLootCount = () => __async(void 0, null, function* () { const sections = [ "environmentContainer", "baitContainer", "lootContainer" ]; sections.forEach((section) => updateSection(section)); }); unique_loot_count_default = () => __async(void 0, null, function* () { addStyles(styles_default37, "unique-loot-count"); onDialogShow("hunting_summary", () => setMultipleTimeout(addUniqueLootCount, 500, 1e3, 3e3)); }); } }); // src/modules/experiments/index.js var experiments, init28, experiments_default; var init_experiments = __esm({ "src/modules/experiments/index.js"() { init_utils2(); init_big_timer(); init_codex_at_bottom(); init_delayed_menus(); init_journal_tags(); init_new_settings_styles_columns(); init_raffle2(); init_replace_favicon(); init_shield_goes_to_camp(); init_sticky_popups(); init_troll_mode(); init_unique_loot_count(); experiments = [ { id: "experiments.big-timer", title: "Big Timer", description: "Click the timer to toggle between big and small.", load: big_timer_default }, { id: "experiments.shield-goes-to-camp", title: "Clicking shield goes to camp if not already there", load: shield_goes_to_camp_default }, { id: "experiments.codex-at-bottom", title: "Codex at bottom", description: "Moves the Codex section to the bottom of the trap selector", load: codex_at_bottom_default }, { id: "experiments.delayed-menus", title: "Delayed Menus", load: delayed_menus_default }, { id: "experiments.replace-favicon", title: "Replace Favicon", description: "Changes the favicon to a golden shield.", load: replace_favicon_default }, { id: "experiments.raffle", title: "Return Raffles button", load: raffle_default2 }, { id: "experiments.sticky-popups", title: "Sticky Popups", load: sticky_popups_default }, { id: "experiments.lol-gottem", title: "Troll mode", load: troll_mode_default }, { id: "experiments.unique-loot-count", title: "Unique loot count in progress log", load: unique_loot_count_default }, { id: "better-journal.journal-tags", title: "Better Journal: Journal Tags", description: "Shows entry type when hovering over journal entries.", load: journal_tags_default }, { id: "better-maps.community", title: "Better Maps: Community maps information", description: "Shows last active time on community maps. Hides old maps." }, { id: "better-marketplace.show-chart-images", title: "Better Marketplace: Show charts on category pages" }, { id: "experiments.favorite-setups-toggle", title: "Favorite Setups: Add toggle button to top menu" }, { id: "experiments.location-hud-toggle", title: "Location HUDs: Add toggle button to top menu" }, { id: "location-huds.bountiful-beanstalk-invetory-in-one-row", title: "Location HUDs - Bountiful Beanstalk: Inventory box in one row" }, { id: "experiments.fi-draggable-airship", title: "Location HUDs - Floating Islands: Make airship draggable" }, { id: "experiments.new-settings-styles-columns", title: "Settings: Columns", load: new_settings_styles_columns_default } ]; init28 = () => __async(void 0, null, function* () { for (const experiment of experiments) { if (experiment.load && getSetting(experiment.id, false)) { experiment.load(); } } }); experiments_default = { id: "experiments", name: "Experiments", description: "", type: "beta", default: true, order: -1, load: init28, settings: () => experiments }; } }); // src/modules/flrt-helper/styles.css var styles_default38; var init_styles39 = __esm({ "src/modules/flrt-helper/styles.css"() { styles_default38 = '.mh-improved-flrt-helper-popup{display:grid;grid-template-columns:1fr 1fr;justify-items:center}.mh-improved-flrt-helper-popup .flrt-search-form{display:flex;align-items:center;justify-content:space-around;padding:10px;background-color:#dcf7ff;border:1px solid #a1a1a1;border-radius:5px;box-shadow:0 1px 2px -1px #b5b5b5}.mh-improved-flrt-helper-popup .flrt-friend-finder{display:flex;flex-direction:column}.mh-improved-flrt-helper-popup .friendsPage-friendRow.friendsPage-requestRow{border-radius:5px;box-shadow:1px 1px 4px #cdb495}.mh-improved-flrt-helper-popup .friendsPage-friendRow-imageContainer{width:75px;height:75px;margin-left:3px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-content{max-width:226px;min-height:75px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-icon{top:-10px;left:0;height:35px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-name{padding-left:15px;font-size:14px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar{padding-left:20px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-titleDetail{left:7px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment{position:relative;margin-left:-10px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-icon{position:absolute;top:-5px;left:0;width:20px;height:20px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-name{position:absolute;left:25px;font-size:10px;vertical-align:top}.mh-improved-flrt-helper-popup .friendsPage-friendRow .friendsPage-friendRow-actions{top:40px;right:0}.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions-interactionButtons{padding-right:0}.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions .mousehuntTooltip,.mh-improved-flrt-helper-popup .friendsPage-requestRow-actionStatus.accepted,.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_daily_gift],.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_draw_ballot]{display:none!important}.mh-improved-flrt-helper-popup .userInteractionButtonsView-button{width:45px;height:45px;background-size:45px}.mh-improved-flrt-helper-popup .friendsPage-friendRow-statsContainer{border-radius:0}.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.map,.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.team,.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat-label{display:none!important}.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.online span{width:auto}.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat{width:auto;margin-right:10px}.mh-improved-flrt-helper-popup .instructions{padding:10px;margin-top:auto;font-style:italic}.mh-improved-flrt-helper-popup .flrt-items-to-send{min-width:80%}.mh-improved-flrt-helper-popup .flrt-item{display:flex;flex-direction:row;align-items:center;width:100%;padding:5px;margin-bottom:5px;cursor:pointer;background-color:#eee;border:1px solid #ddd;border-radius:5px;box-shadow:0 1px 2px -1px #b5b5b5}.mh-improved-flrt-helper-popup .flrt-item .itemImage,.mh-improved-flrt-helper-popup .flrt-item .itemImage img{width:45px;height:45px}.mh-improved-flrt-helper-popup .flrt-item-info{display:flex;align-items:center;margin-left:5px}.mh-improved-flrt-helper-popup .flrt-item-name{font-weight:900;vertical-align:top}.mh-improved-flrt-helper-popup .flrt-item-disabled .itemImage{filter:grayscale(1);opacity:.5}.mh-improved-flrt-helper-popup .flrt-item-info input[type=checkbox]:disabled{opacity:0}.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sending{background-color:#f3c019}.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent{position:relative;background-color:#3fcd84}.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent:after{position:absolute;right:0;display:inline-block;width:25px;height:25px;margin-right:5px;margin-bottom:-2px;vertical-align:middle;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/events/winter_hunt_2013/checkmark.png);background-repeat:no-repeat;background-size:100%}\n'; } }); // src/modules/flrt-helper/index.js var addFlrtButtonToConvertible, sendItemsToMaptain, flrtPopup, init29, flrt_helper_default; var init_flrt_helper = __esm({ "src/modules/flrt-helper/index.js"() { init_utils2(); init_utils2(); init_styles39(); addFlrtButtonToConvertible = (response) => __async(void 0, null, function* () { if (!(response.convertible_open && response.convertible_open.name && response.convertible_open.items)) { return; } const items2 = []; const tradableItems = yield getData("type"); for (const element of response.convertible_open.items) { const itemData = { type: element.type, name: element.name, image: element.thumb, quantity: element.quantity }; if (tradableItems) { const tradable = tradableItems.find((tradableItem) => { return tradableItem.type === element.type; }); if (tradable) { items2.push(itemData); } } else { items2.push(itemData); } } const buttons = document.querySelector(".jsDialogContainer .suffix"); if (!buttons) { return; } const flrtBtn = makeElement("button", ["mousehuntActionButton", "small", "button"]); makeElement("span", [], "Return to Maptain", flrtBtn); flrtBtn.addEventListener("click", () => { flrtPopup(items2); }); buttons.prepend(flrtBtn); }); sendItemsToMaptain = (snuid, items2) => __async(void 0, null, function* () { for (const item of items2) { item.element.classList.add("flrt-item-sending"); yield doRequest("managers/ajax/users/supplytransfer.php", { item: item.type, item_quantity: item.quantity, receiver: snuid }); item.element.classList.remove("flrt-item-sending"); item.element.classList.add("flrt-item-sent"); } const sendButton = document.querySelector(".flrt-send-items"); if (sendButton) { sendButton.outerHTML = '<input type="submit" value="Continue" class="jsDialogClose button">'; } }); flrtPopup = (items2) => { const lastMaptain = getLastMaptain(); let itemContent = ""; items2.forEach((item) => { itemContent += `<div class="flrt-item" data-item-type="${item.type}" data-item-quantity="${item.quantity}"> <div class="itemImage"> <img src="${item.image}"> <div class="quantity">${item.quantity}</div> </div> <div class="flrt-item-info"> <input type="checkbox" checked data-item-type="${item.type}"> <span class="flrt-item-name">${item.name}</span> </div> </div>`; }); const popup = createPopup({ template: "ajax", title: "Send tradables to Maptain", content: `<div class="mh-improved-flrt-helper-popup"> <div class="flrt-friend-finder"> <form action="https://www.mousehuntgame.com/friends.php?tab=requests&sub_tab=community" method="post" class="flrt-search-form friends-page-id-search friendsPage-community-hunterIdForm" onsubmit="app.pages.FriendsPage.submitHunterIdForm(this); return false;"> <input type="number" value="${lastMaptain || ""}" name="user_id" maxlength="10" class="friendsPage-community-hunterIdForm-input"> <a class="mousehuntActionButton small search-for-hunter" href="#" onclick="app.pages.FriendsPage.triggerHunterForm(this); return false;"><span>Search</span></a> </form> <div class="friendsPage-community-hunterResult"></div> <div class="instructions"> Select the tradable items you want to send. </div> </div> <div class="flrt-items-to-send"> ${itemContent} </div> </div>` }); popup.addToken("{*prefix*}", '<h2 class="title">Send tradable items</h2>'); popup.addToken("{*suffix*}", '<div class="mousehuntActionButton flrt-send-items"><span>Send items to Maptain</span></div>'); popup.show(); const flrtItems = document.querySelectorAll(".flrt-item"); flrtItems.forEach((item) => { const checkbox = item.querySelector('input[type="checkbox"]'); const toggle = () => { checkbox.checked = !checkbox.checked; item.classList.toggle("flrt-item-disabled", !checkbox.checked); }; item.addEventListener("click", toggle); }); if (lastMaptain) { const search = document.querySelector(".search-for-hunter"); if (search) { app.pages.FriendsPage.triggerHunterForm(search); } } const sendBtn = document.querySelector(".flrt-send-items"); if (!sendBtn) { return; } sendBtn.addEventListener("click", () => { sendBtn.disabled = true; sendBtn.classList.add("disabled"); const id = document.querySelector(".friendsPage-community-hunterIdForm-input"); if (!id) { return; } const sendingItems = document.querySelectorAll(".flrt-item"); const itemsToSend = []; sendingItems.forEach((item) => { const checkbox = item.querySelector('input[type="checkbox"]'); if (!checkbox) { return; } if (checkbox.checked) { const itemData = { type: item.getAttribute("data-item-type"), quantity: Number.parseInt(item.getAttribute("data-item-quantity"), 10), element: item }; itemsToSend.push(itemData); } checkbox.disabled = true; }); const row = document.querySelector(".friendsPage-friendRow.friendsPage-requestRow"); if (!row) { return; } const snuid = row.getAttribute("data-snuid") || id.value; sendItemsToMaptain(snuid, itemsToSend); }); }; init29 = () => __async(void 0, null, function* () { addStyles(styles_default38, "flrt-helper"); onDialogShow("treasureMapPopup", cacheFinishedMap); onRequest("users/useconvertible.php", addFlrtButtonToConvertible); }); flrt_helper_default = { id: "flrt-helper", name: "FLRT Helper", type: "feature", default: false, description: 'When opening a chest from a map, adds a "Return to Maptain" button that will let you choose which tradable items to send directly to the Maptain.', load: init29 }; } }); // src/modules/fixes/fixes/item-page.js var fixItemPage, fixItemPageReceiver, item_page_default; var init_item_page = __esm({ "src/modules/fixes/fixes/item-page.js"() { init_utils2(); fixItemPage = () => { if ("item" !== getCurrentPage()) { return; } const currentType = document.querySelector(".itemViewContainer"); if (!currentType) { return; } const classes = currentType.classList.toString(); const type = classes.replace("itemViewContainer ", "").split(" "); if (!type || !type[0]) { return; } if (type.includes("message_item")) { return; } const link = document.querySelector(`.itemView-header-classification-link.${type[0]} a`); if (!link) { return; } const onclick = link.getAttribute("onclick"); if (!onclick) { return; } const page = onclick.match(/setPage\('(.+?)'.+tab:'(.+)'/); if (!page) { return; } const pageTitle = page[1]; let tab = page[2]; let subtab = null; if ("skin" === tab || "trinket" === tab) { subtab = tab; tab = "traps"; } let url = `https://www.mousehuntgame.com/${pageTitle.toLowerCase()}.php?tab=${tab}`; if (subtab) { url += `&sub_tab=${subtab}`; } const itemType = currentType.getAttribute("data-item-type"); url += `&viewing-item-id=${itemType}`; window.location = url; }; fixItemPageReceiver = () => { const itemId = window.location.href.match(/viewing-item-id=(.+)/); if (!itemId || !itemId[1]) { return; } hg.views.ItemView.show(itemId[1]); }; item_page_default = () => __async(void 0, null, function* () { if ("item" === getCurrentPage()) { fixItemPage(); } onNavigation(fixItemPage, { page: "item", onLoad: true }); onNavigation(fixItemPageReceiver, { page: "inventory", onLoad: true }); }); } }); // src/modules/fixes/fixes/marketplace-buy-button.js var fixMpBuyButton, marketplace_buy_button_default; var init_marketplace_buy_button = __esm({ "src/modules/fixes/fixes/marketplace-buy-button.js"() { fixMpBuyButton = () => { hg.views.MarketplaceView.setOrderPrice = (price) => { const input = document.querySelector(".marketplaceView-item-unitPriceWithTariff"); if (input) { input.value = price; hg.views.MarketplaceView.blurInput(input); } }; }; marketplace_buy_button_default = () => __async(void 0, null, function* () { fixMpBuyButton(); }); } }); // src/modules/fixes/fixes/passing-parcel.js var fixPassingParcel, passing_parcel_default; var init_passing_parcel = __esm({ "src/modules/fixes/fixes/passing-parcel.js"() { init_utils2(); fixPassingParcel = () => { const passingParcel = document.querySelector('.inventoryPage-item[data-item-type="passing_parcel_message_item"]'); if (!passingParcel) { return; } const quantity = passingParcel.querySelector(".quantity"); if (!quantity) { return; } const newMarkup = `<div class="inventoryPage-item full convertible " onclick="app.pages.InventoryPage.useItem(this); return false;" data-item-id="1281" data-item-type="passing_parcel_message_item" data-item-classification="convertible" data-name="Passing Parcel" data-display-order="0"> <div class="inventoryPage-item-margin clear-block"> <div class="inventoryPage-item-name"> <a href="#" class="" onclick="hg.views.ItemView.show('passing_parcel_message_item'); return false;"> <abbr title="Passing Parcel">Passing Parcel (collectible)</abbr> </a> </div> <a href="#" class="inventoryPage-item-larryLexicon" onclick="hg.views.ItemView.show('passing_parcel_message_item'); return false;">?</a> <div class="inventoryPage-item-imageContainer"> <div class="itemImage"><a href="#" class="" onclick="hg.views.ItemView.show('passing_parcel_message_item'); return false;"> <img src="https://www.mousehuntgame.com/images/items/message_items/5591e5c34f081715aaca4e95e97a3379.jpg"></a> <div class="quantity">${quantity.innerText}</div> </div> </div> <div class="inventoryPage-item-contentContainer"> <div class="inventoryPage-item-content-description"> <div class="inventoryPage-item-content-description-text"> This parcel is meant to be passed along to a friend! If a friend sends one to you, tear away a layer and see if there's something inside! </div> <div class="inventoryPage-item-content-action"> <input type="button" id="passing-parcel-action" class="inventoryPage-item-button button" value="Pass Along"> </div> </div> </div> </div>`; passingParcel.outerHTML = newMarkup; const passingParcelAction = document.querySelector("#passing-parcel-action"); passingParcelAction.addEventListener("click", () => { window.location.href = "https://www.mousehuntgame.com/supplytransfer.php?item_type=passing_parcel_message_item"; }); }; passing_parcel_default = () => __async(void 0, null, function* () { onNavigation(fixPassingParcel, { page: "inventory", tab: "special", onLoad: true }); }); } }); // src/modules/fixes/fixes/rift-tooltip-quantities.js var fixRiftTooltipQuantities, rift_tooltip_quantities_default; var init_rift_tooltip_quantities = __esm({ "src/modules/fixes/fixes/rift-tooltip-quantities.js"() { init_utils2(); fixRiftTooltipQuantities = () => __async(void 0, null, function* () { var _a, _b; if ("rift_gnawnia" !== getCurrentLocation()) { return; } const cheeseQtys = yield getUserItems(["gnawnia_boss_cheese", "riftiago_cheese"]); if (!cheeseQtys || !cheeseQtys.length) { return; } const craft = document.querySelector(".riftGnawniaHud-craftingBait .riftGnawniaHud-tooltip-quantity"); if (craft) { craft.textContent = ((_a = cheeseQtys[0]) == null ? void 0 : _a.quantity) || 0; } const potion = document.querySelector(".riftGnawniaHud-potion .riftGnawniaHud-tooltip-quantity"); if (potion) { craft.textContent = ((_b = cheeseQtys[1]) == null ? void 0 : _b.quantity) || 0; } }); rift_tooltip_quantities_default = () => __async(void 0, null, function* () { fixRiftTooltipQuantities(); onTravel("rift_gnawnia", { callback: fixRiftTooltipQuantities }); }); } }); // src/modules/fixes/styles/backgrounds.css var backgrounds_default2; var init_backgrounds2 = __esm({ "src/modules/fixes/styles/backgrounds.css"() { backgrounds_default2 = "@media only screen and (max-width: 1000px){body.halloween .pageFrameView-column.left,body.halloween .pageFrameView-column.right{background-color:#e87e33!important;background-repeat:no-repeat!important;background-position:0 0!important}body.halloween .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/halloween/left.png)!important;background-position-x:100%!important}body.halloween .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/halloween/right.png)!important}body.lunar_new_year .pageFrameView-column.left,body.lunar_new_year .pageFrameView-column.right{background-color:#7f051b!important;background-repeat:no-repeat!important;background-position:0 0!important}body.lunar_new_year .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/lunar_new_year/left.png)!important;background-position-x:100%!important}body.lunar_new_year .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/lunar_new_year/right.png)!important}body.great_winter_hunt .pageFrameView-column.left,body.great_winter_hunt .pageFrameView-column.right{background-color:#bad4ed!important}body.great_winter_hunt .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/great_winter_hunt/left.jpg)!important}body.great_winter_hunt .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/great_winter_hunt/right.jpg)!important}body.birthday .pageFrameView-column.left,body.birthday .pageFrameView-column.right{background-color:#bad4ed!important;background-repeat:no-repeat!important;background-position:0 0!important}body.birthday .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/birthday/left.png)!important;background-position-x:100%!important}body.birthday .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/birthday/right.png)!important}body.valentines .pageFrameView-column.left,body.valentines .pageFrameView-column.right{background-color:#f69798!important}body.valentines .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/valentines/left.png)!important}body.valentines .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/valentines/right.png)!important}body.spring_hunt .pageFrameView-column.left,body.spring_hunt .pageFrameView-column.right{background-color:#86ce5c!important;background-repeat:no-repeat!important}body.spring_hunt .pageFrameView-column.left{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/spring_hunt/left.png)!important}body.spring_hunt .pageFrameView-column.right{background-image:url(https://www.mousehuntgame.com/images/ui/backgrounds/events/spring_hunt/right.png)!important}}\n"; } }); // src/modules/fixes/styles/claim-gift.css var claim_gift_default; var init_claim_gift = __esm({ "src/modules/fixes/styles/claim-gift.css"() { claim_gift_default = ".claimGiftPage__giftQuantity{background:#fff777;border:1px solid #b5814e}\n"; } }); // src/modules/fixes/styles/colors.css var colors_default2; var init_colors2 = __esm({ "src/modules/fixes/styles/colors.css"() { colors_default2 = ".halloweenBoilingCauldronRecipeView-cauldronTooltip{background:#333aaa}.eggSweeper-control-boundingBox:hover{box-shadow:5px 5px 10px #fff82f inset}.greatWinterHuntRewardTrackView__claimButton{text-shadow:1px 1px 1px #fff777}.forewordFarmPlotView-plot-help{box-shadow:2px 3px 3px 1px #333666}.floatingIslandsHUD.unlockedSkyPalace .floatingIslandsHUD-overlay{background:linear-gradient(to right,#000999,transparent)}.tableOfContentsProgressView-claimButton.busy:after,.folkloreForestRegionView-button.busy:after{background:#000888 url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_green.gif) 50% 50% no-repeat}.halloweenBoilingCauldronHUD-dialog-reward.complete:after{box-shadow:5px 5px 5px #000888}.folkloreForestRegionView-dialogContainer{box-shadow:10px 10px 4px 1px #000333 inset}.folkloreForestRegionView-boost{box-shadow:2px 2px 2px #333111}.MHCheckout-featuredItemTransparent.small .MHCheckout-featuredItemTransparent-backlight{background:linear-gradient(-45deg,#fff,#fffaaa)}.MHCheckout-relicHunterGrouped{background:#fff555}.MHCheckout-splash.halloween_skins .MHCheckout-link{background:#000999}.MHCheckout-splash.lunar_new_year_2023 .MHCheckout-featuredItem-actions{border:1px solid #ff351f}.tableOfContentsProgressView-reward-quantity{background:#fffaaa}.MHCheckoutDialogView-overlay{background:#fffa8a}.eggSweeper-viewAllRewardsButton:hover{background-color:#228b22}\n"; } }); // src/modules/fixes/styles/convertibles.css var convertibles_default; var init_convertibles = __esm({ "src/modules/fixes/styles/convertibles.css"() { convertibles_default = ".itemView-action-convertForm{display:flex;align-items:center}.itemView-action-convert-quantity{top:0}\n"; } }); // src/modules/fixes/styles/dropdown.css var dropdown_default; var init_dropdown = __esm({ "src/modules/fixes/styles/dropdown.css"() { dropdown_default = ".mousehuntHeaderView .menuItem.dropdown .arrow{top:10px;transform:rotate(180deg)}.mousehuntHeaderView .menuItem.dropdown.expanded .arrow{top:5px}.dropdownContent{color:#000}.mousehuntHeaderView .support .dropdownContent{right:-.5px;border-top:1px solid #ccc}\n"; } }); // src/modules/fixes/styles/fb-img-size.css var fb_img_size_default; var init_fb_img_size = __esm({ "src/modules/fixes/styles/fb-img-size.css"() { fb_img_size_default = 'img[src*="https://graph.facebook.com"].treasureMapView-hunter-image{width:44px;height:44px}.treasureMapView-environment-hunters img[src*="https://graph.facebook.com"].treasureMapView-hunter-image{width:20px;height:20px}\n'; } }); // src/modules/fixes/styles/font-sizes.css var font_sizes_default; var init_font_sizes = __esm({ "src/modules/fixes/styles/font-sizes.css"() { font_sizes_default = ".riftWhiskerWoodsHUD-zone-rageLevel{font-size:14px}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity{font-size:9px}\n"; } }); // src/modules/fixes/styles/footer.css var footer_default2; var init_footer2 = __esm({ "src/modules/fixes/styles/footer.css"() { footer_default2 = ".pageFrameView-column.left,.pageFrameView-column.right{margin-bottom:-140px}\n"; } }); // src/modules/fixes/styles/hud-shadow.css var hud_shadow_default; var init_hud_shadow = __esm({ "src/modules/fixes/styles/hud-shadow.css"() { hud_shadow_default = ".mousehuntHud-marbleDrawer{background:url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) -46px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/hud/mousehuntHudPedestal.gif) 731px 0 no-repeat,url(https://i.mouse.rip/mh-improved/marble-shadow.png) 6px 0 no-repeat,url(https://www.mousehuntgame.com/images/ui/backgrounds/hud_bg_blue_repeating.png) repeat-y top center}\n"; } }); // src/modules/fixes/styles/hunter-title.css var hunter_title_default; var init_hunter_title = __esm({ "src/modules/fixes/styles/hunter-title.css"() { hunter_title_default = ".hunterTitle .titles .title:nth-child(17) .description ul li:last-child,.hunterTitle .titles .title:nth-child(18) .description ul li:last-child,.hunterTitle .titles .title:nth-child(19) .description ul li:last-child{display:none}.hunterTitle .titles .userLevel .description{border-color:#957432}\n"; } }); // src/modules/fixes/styles/labyrinth.css var labyrinth_default2; var init_labyrinth2 = __esm({ "src/modules/fixes/styles/labyrinth.css"() { labyrinth_default2 = ".labyrinthHUD.exit.secret{background-position-y:-184px}\n"; } }); // src/modules/fixes/styles/location-names-overflow.css var location_names_overflow_default; var init_location_names_overflow = __esm({ "src/modules/fixes/styles/location-names-overflow.css"() { location_names_overflow_default = ".mh-location-ss_huntington_ii .mousehuntHud-environmentName,.mh-location-pinnacle_chamber .mousehuntHud-environmentName,.mh-location-great_gnarled_tree .mousehuntHud-environmentName,.mh-location-rift_bristle_woods .mousehuntHud-environmentName{position:absolute;top:-5px;left:0;padding:4px 13px 3px 0;margin-top:32px;overflow:visible;background:linear-gradient(1deg,#d8c8a0 1%,#ddcfaa 61%,#efe3ce);border-top-right-radius:75px}\n"; } }); // src/modules/fixes/styles/maps.css var maps_default2; var init_maps3 = __esm({ "src/modules/fixes/styles/maps.css"() { maps_default2 = '.treasureMapView-hunter.empty .treasureMapView-hunter-miceCaught{display:none}input.treasureMapView-shareLinkInput{width:95%;margin:0 auto}.treasureMapInviteSettingsView-listing-visibility.active:before{content:"\\2713"}\n'; } }); // src/modules/fixes/styles/menu.css var menu_default; var init_menu = __esm({ "src/modules/fixes/styles/menu.css"() { menu_default = "body .mousehuntHud-menu .friends .team .icon{background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/team.png)}body .mousehuntHud-menu .scoreboards>a>.icon{background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/scoreboard.png)}body .mousehuntHud-menu .forum .icon{background-image:url(https://www.mousehuntgame.com/images/ui/hud/menu/forum.png)}\n"; } }); // src/modules/fixes/styles/other.css var other_default2; var init_other2 = __esm({ "src/modules/fixes/styles/other.css"() { other_default2 = ".mousehuntHud-shield.larrys_football_challenge.golden{background-image:url(https://www.mousehuntgame.com/images/ui/elements/header_world_cup_golden_shield.png)}.itemView-loading{z-index:0;border-top-right-radius:20px}\n"; } }); // src/modules/fixes/styles/preferences.css var preferences_default; var init_preferences = __esm({ "src/modules/fixes/styles/preferences.css"() { preferences_default = ".PreferencesPage__dialogForm .PreferencesPage__formLabel{flex:1}.PreferencesPage__dialogForm .PreferencesPage__formInput{flex:1.8}.PreferencesPage__dialogForm form{padding-left:18px}.accountVerificationRewardsView__step.can_claim{background-image:none}\n"; } }); // src/modules/fixes/styles/ronza.css var ronza_default; var init_ronza = __esm({ "src/modules/fixes/styles/ronza.css"() { ronza_default = "span.chromeBitImage,span.voucherImage{vertical-align:middle}\n"; } }); // src/modules/fixes/styles/scoreboard.css var scoreboard_default; var init_scoreboard = __esm({ "src/modules/fixes/styles/scoreboard.css"() { scoreboard_default = ".scoreboardTableView-friends,.scoreboardTableView-weekly{margin-top:1px;vertical-align:middle}\n"; } }); // src/modules/fixes/styles/tabs.css var tabs_default2; var init_tabs2 = __esm({ "src/modules/fixes/styles/tabs.css"() { tabs_default2 = "a.mousehuntHud-page-tabHeader.collectibles span{overflow:visible!important;font-size:13px;text-overflow:unset!important;white-space:normal!important}#messengerUINotification .tabs a:hover .arrow{border-color:transparent transparent transparent #eee}.mousehuntHud-page-tabHeader-container{margin-bottom:-1px}.mousehuntHud-page-tabHeader.active span{background-color:#fff;border-bottom:1px solid #fff}.mousehuntHud-page-tabHeader{height:30px}.mousehuntHud-page-tabHeader span{height:16px;margin-top:5px}.mousehuntHud-page-tabHeader.active span,.mousehuntHud-page-tabHeader:hover span{padding-bottom:8px;margin-top:0;border-bottom:none}\n"; } }); // src/modules/fixes/styles/tem.css var tem_default; var init_tem = __esm({ "src/modules/fixes/styles/tem.css"() { tem_default = ".pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer:hover{background-color:#fdfaf2}body .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer{padding-left:10px;margin:5px 0}\n"; } }); // src/modules/fixes/styles/tooltips.css var tooltips_default; var init_tooltips = __esm({ "src/modules/fixes/styles/tooltips.css"() { tooltips_default = ".mousehuntTooltip.top .mousehuntTooltip-arrow:after{top:-16px;left:-13px;border-width:13px}.mousehuntTooltip.left .mousehuntTooltip-arrow:after{right:-10px;bottom:-13px;border-width:13px}.mousehuntTooltip.right .mousehuntTooltip-arrow:after{bottom:-13px;left:-10px;border-width:13px}.mousehuntTooltip.bottom .mousehuntTooltip-arrow:after{bottom:-16px;left:-13px;border-width:13px}\n"; } }); // src/modules/fixes/styles/tutorial-overlay.css var tutorial_overlay_default; var init_tutorial_overlay = __esm({ "src/modules/fixes/styles/tutorial-overlay.css"() { tutorial_overlay_default = '#overlayBg.larryOffice{width:100%;height:100%;background:transparent}#overlayBg.larryOffice:after{position:fixed;top:0;right:0;left:0;height:100vh;content:"";background-color:#505050e5}\n'; } }); // src/modules/fixes/index.js var imported5, styles5, init30, fixes_default; var init_fixes = __esm({ "src/modules/fixes/index.js"() { init_utils2(); init_item_page(); init_marketplace_buy_button(); init_passing_parcel(); init_rift_tooltip_quantities(); init_backgrounds2(); init_claim_gift(); init_colors2(); init_convertibles(); init_dropdown(); init_fb_img_size(); init_font_sizes(); init_footer2(); init_hud_shadow(); init_hunter_title(); init_labyrinth2(); init_location_names_overflow(); init_maps3(); init_menu(); init_other2(); init_preferences(); init_ronza(); init_scoreboard(); init_tabs2(); init_tem(); init_tooltips(); init_tutorial_overlay(); imported5 = [backgrounds_default2, claim_gift_default, colors_default2, convertibles_default, dropdown_default, fb_img_size_default, font_sizes_default, footer_default2, hud_shadow_default, hunter_title_default, labyrinth_default2, location_names_overflow_default, maps_default2, menu_default, other_default2, preferences_default, ronza_default, scoreboard_default, tabs_default2, tem_default, tooltips_default, tutorial_overlay_default]; styles5 = imported5; init30 = () => __async(void 0, null, function* () { addStyles(styles5, "fixes"); item_page_default(); marketplace_buy_button_default(); passing_parcel_default(); rift_tooltip_quantities_default(); }); fixes_default = { id: "fixes", name: "Fixes", type: "feature", description: "Fixes various bugs and issues in the game.", default: true, load: init30 }; } }); // src/modules/feature-flags/modules/rank-up-forecaster.js var exportRankupForecasterData, exportRankupForecasterDataAsCsv, importRankupForecassterData, addRankupForecasterButtons, rank_up_forecaster_default; var init_rank_up_forecaster = __esm({ "src/modules/feature-flags/modules/rank-up-forecaster.js"() { init_utils2(); exportRankupForecasterData = () => { const allArea = localStorage.getItem("Chro-forecaster-all-area"); const currentArea = localStorage.getItem("Chro-forecaster-current-area"); const time = localStorage.getItem("Chro-forecaster-time"); const data = { allArea, currentArea, time }; const dataStr = JSON.stringify(data); const base64 = btoa(dataStr); const link = document.createElement("a"); const date = /* @__PURE__ */ new Date(); const dateString = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; link.download = `rank-up-forecaster-${dateString}.json`; link.href = `data:application/json;base64,${base64}`; link.click(); }; exportRankupForecasterDataAsCsv = () => { const time = localStorage.getItem("Chro-forecaster-time"); const data = JSON.parse(time); const csv = ["Time,Wisdom"]; data.forEach((row) => { const date2 = new Date(row[0]); csv.push(`"${date2.toLocaleString()}",${row[1]}`); }); const csvStr = csv.join("\n"); const link = document.createElement("a"); const date = /* @__PURE__ */ new Date(); const dateString = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`; link.download = `rank-up-forecaster-${dateString}.csv`; link.href = `data:text/csv;charset=utf-8,${csvStr}`; link.click(); }; importRankupForecassterData = () => { const input = document.createElement("input"); input.type = "file"; input.accept = ".json"; input.addEventListener("change", (e) => { const file = e.target.files[0]; if (!file) { return; } const reader = new FileReader(); reader.onload = (re) => { const contents = re.target.result; const data = JSON.parse(contents); localStorage.setItem("Chro-forecaster-all-area", data.allArea); localStorage.setItem("Chro-forecaster-current-area", data.currentArea); localStorage.setItem("Chro-forecaster-time", data.time); }; reader.readAsText(file); }); input.click(); const points = document.querySelector(".mousehuntHud-userStat-row.points"); if (points) { points.click(); } }; addRankupForecasterButtons = () => { const forecastOpen = document.querySelector(".mousehuntHud-userStat-row.points"); if (!forecastOpen) { return; } forecastOpen.addEventListener("click", () => { setTimeout(() => { const rankup = document.querySelector("#forecaster-content-div"); if (!rankup) { return; } const existing = document.querySelector(".mh-ui-forecaster-buttons"); if (existing) { return; } const wrapper = makeElement("div", "mh-ui-forecaster-buttons"); const exportButton = makeElement("button", "mh-ui-export-forecaster-data", "Export Data"); exportButton.addEventListener("click", exportRankupForecasterData); wrapper.append(exportButton); const importButton = makeElement("button", "mh-ui-import-forecaster-data", "Import Data"); importButton.addEventListener("click", importRankupForecassterData); wrapper.append(importButton); const exportCsvButton = makeElement("button", "mh-ui-export-forecaster-csv", "Export as CSV"); exportCsvButton.addEventListener("click", exportRankupForecasterDataAsCsv); wrapper.append(exportCsvButton); rankup.append(wrapper); }, 250); }); }; rank_up_forecaster_default = () => __async(void 0, null, function* () { addStyles(`.mh-ui-forecaster-buttons { display: flex; flex-wrap: wrap; gap: 5px; justify-content: space-around; max-width: 180px; margin-top: 10px; }`, "rank-up-forecaster"); addRankupForecasterButtons(); }); } }); // src/modules/feature-flags/modules/social.js var social_default; var init_social = __esm({ "src/modules/feature-flags/modules/social.js"() { social_default = () => { window.twttr = { widgets: { load: () => { }, createShareButton: () => { } } }; class SocialLink { constructor(url) { this.url = url; } appendTo() { } setFacebookLikeUrl() { } setFacebookShareUrl() { } setImage() { } setTitle() { } setTwitterUrl() { } } hg.classes.SocialLink = SocialLink; }; } }); // src/modules/feature-flags/settings/index.js var settings_default22; var init_settings23 = __esm({ "src/modules/feature-flags/settings/index.js"() { settings_default22 = () => __async(void 0, null, function* () { return [{ id: "override-flags", title: "Feature Flags", default: "", description: 'Comma separated list of <a href="https://github.com/MHCommunity/mousehunt-improved/blob/c0bec5ea0f0b5f34b179507891e294559e39f34d/docs/feature-flags.md" target="_blank" rel="noopener noreferrer">feature flags</a> to enable.', settings: { type: "input" } }]; }); } }); // src/modules/feature-flags/index.js var init31, feature_flags_default; var init_feature_flags = __esm({ "src/modules/feature-flags/index.js"() { init_utils2(); init_rank_up_forecaster(); init_social(); init_settings23(); init31 = () => __async(void 0, null, function* () { if (getFlag("social-noop") || getFlag("twitter")) { social_default(); } if (!getFlag("rankup-forecaster")) { rank_up_forecaster_default(); } }); feature_flags_default = { id: "feature-flags", type: "advanced", alwaysLoad: true, load: init31, settings: settings_default22, order: 200 }; } }); // src/modules/global-styles/styles/animations.css var animations_default; var init_animations = __esm({ "src/modules/global-styles/styles/animations.css"() { animations_default = ".mh-ui-fade{opacity:0;transition:opacity .3s ease-in-out}.mh-ui-fade-in{opacity:1}.mh-ui-fade-out{opacity:0}@keyframes mh-improved-fade-slightly{0%{opacity:1}50%{opacity:.75}to{opacity:1}}@keyframes mh-improved-fade-in{0%{opacity:0}to{opacity:1}}@keyframes mh-improved-fade-out{0%{opacity:1}to{opacity:0}}@keyframes mh-improved-in-from-left{0%{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes mh-improved-in-from-top{0%{visibility:visible;transform:translate3d(0,-100%,0)}to{transform:translateZ(0)}}@keyframes mh-improved-in-scale{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes mh-improved-in-scale-y{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes mh-improved-shake{0%{transform:rotate(0)}25%{transform:rotate(5deg)}50%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}to{transform:rotate(0)}}@keyframes mh-improved-shake-scaled{0%{transform:scale(1.2) rotate(0)}25%{transform:scale(1.2) rotate(5deg)}50%{transform:scale(1.2) rotate(-5deg)}75%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1.2) rotate(0)}}@keyframes mh-improved-shake-light{0%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}to{transform:rotate(0)}}@keyframes mh-improved-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mh-improved-spin-flipped{0%{transform:scaleX(-1) rotate(0)}to{transform:scaleX(-1) rotate(360deg)}}@keyframes mh-improved-spin-large{0%{transform:scale(2) rotate(0)}to{transform:scale(2) rotate(360deg)}}@keyframes mh-improved-spin-large-flipped{0%{transform:scale(-2,2) rotate(0)}to{transform:scale(-2,2) rotate(360deg)}}@keyframes mh-improved-right-to-left{0%{right:100%}to{right:0}}@keyframes mh-improved-background-slide{0%{background-position:left}50%{background-position:right}to{background-position:left}}@keyframes mh-improved-bounce-and-stretch{0%{transform:scaleX(1) translate(-10px)}60%{transform:scaleX(1)}75%{transform:scaleX(.98)}90%{transform:scaleX(.999)}}@keyframes mh-improved-hue-rotate{0%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(360deg)}to{filter:hue-rotate(0deg)}}@keyframes mh-improved-hue-rotate-and-scale{0%{filter:hue-rotate(0deg);transform:scale(1)}50%{filter:hue-rotate(360deg);transform:scale(1.5)}to{filter:hue-rotate(0deg);transform:scale(1)}}@keyframes mh-improved-glow{0%{filter:brightness(1)}50%{filter:brightness(1.1)}to{filter:brightness(1)}}@keyframes mh-improved-dim{0%{filter:brightness(1)}50%{filter:brightness(.8)}to{filter:brightness(1)}}@keyframes mh-improved-scale{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes mh-improved-scale-large{0%{transform:scale(1)}50%{transform:scale(2.7)}to{transform:scale(1)}}@keyframes mh-improved-fade-busy{0%{pointer-events:none;opacity:.5}to{pointer-events:all;opacity:1}}\n"; } }); // src/modules/global-styles/styles/blueprint.css var blueprint_default2; var init_blueprint3 = __esm({ "src/modules/global-styles/styles/blueprint.css"() { blueprint_default2 = ".mh-improved-blueprint .trapSelectorView__outerBlock{position:relative;display:flex;flex:1;flex-direction:column;gap:10px}.mh-improved-blueprint--active .mh-improved-blueprint{display:flex}\n"; } }); // src/modules/global-styles/styles/buttons.css var buttons_default; var init_buttons = __esm({ "src/modules/global-styles/styles/buttons.css"() { buttons_default = '.sort-button{display:inline-block;width:0;height:0;margin-left:1px;cursor:pointer;content:"";border-top:9px solid #777;border-right:6px solid transparent;border-left:6px solid transparent}.sort-button.reverse{border-top:0;border-right:6px solid transparent;border-bottom:9px solid #777;border-left:6px solid transparent}.sort-button.unsorted{opacity:.5}.mousehuntActionButton.success:before{background-color:#00ff59;box-shadow:0 0 10px #beff99 inset}.mousehuntActionButton.success{background-color:#97f990}.mousehuntActionButton.success:hover:before,.mousehuntActionButton.success:focus:before{background-color:#00ff59}.mousehuntActionButton.danger:before{background-color:#f27b6a;box-shadow:0 0 10px #ffa5a5 inset}.mousehuntActionButton.danger{background-color:#ffa5a5}.mousehuntActionButton.danger:hover:before,.mousehuntActionButton.danger:focus:before{background-color:#ffa5a5}.mousehuntActionButton:hover:before{pointer-events:none}.mousehuntActionButton.gray{background-color:#e5e5e5;border:1px solid #8e8e8e;box-shadow:1px 1px 1px #eee}.mousehuntActionButton.gray:before{background:#dedede;box-shadow:0 0 10px #e8e8e8 inset}.mousehuntActionButton.gray:hover,.mousehuntActionButton.gray:focus{background-color:#f3f3f3}.mh-improved-math-button{font-family:monospace;user-select:none}\n'; } }); // src/modules/global-styles/styles/favorite-button.css var favorite_button_default; var init_favorite_button = __esm({ "src/modules/global-styles/styles/favorite-button.css"() { favorite_button_default = ".custom-favorite-button{top:0;right:0;display:inline-block;width:35px;height:35px;vertical-align:middle;background:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_empty.png) 50% 50% no-repeat;background-size:90%;border-radius:50%}.custom-favorite-button-small{width:20px;height:20px}.custom-favorite-button:hover{background-color:#fff;background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png);outline:2px solid #ccc}.custom-favorite-button.active{background-image:url(https://www.mousehuntgame.com/images/ui/camp/trap/star_favorite.png)}.custom-favorite-button.busy{background-image:url(https://www.mousehuntgame.com/images/ui/loaders/small_spinner.gif)}\n"; } }); // src/modules/global-styles/styles/game-info-bar.css var game_info_bar_default; var init_game_info_bar = __esm({ "src/modules/global-styles/styles/game-info-bar.css"() { game_info_bar_default = ".mousehuntHud-gameInfo .mousehuntHud-menu{position:relative;top:unset;left:unset;display:inline;width:unset;height:unset;padding-top:unset;padding-left:unset;background:unset}\n"; } }); // src/modules/global-styles/styles/general.css var general_default5; var init_general5 = __esm({ "src/modules/global-styles/styles/general.css"() { general_default5 = '.pageFrameView-column{min-height:100vh}code{padding:0 3px;font-family:ui-monospace,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,Oxygen Mono,"Ubuntu Monospace",Source Code Pro,Fira Mono,Droid Sans Mono,Courier New,monospace;background-color:#eee;border-radius:3px}.mousehuntHud-page-tabHeader.userscript-settings span{height:16px;font-size:12px;white-space:nowrap}.pageSidebarView-block{display:flex;flex-direction:column;align-items:stretch}.pageSidebarView .fb-page{order:1000}.support-link{padding:10px;background:#8dff7d;border-radius:10px;box-shadow:-1px -1px 1px #ccc inset}.support-link p{margin-top:0;font-size:14px;font-weight:900}.support-link a{font-size:16px;font-weight:900}\n'; } }); // src/modules/global-styles/styles/messages.css var messages_default; var init_messages2 = __esm({ "src/modules/global-styles/styles/messages.css"() { messages_default = ".mh-ui-error-message,.mh-ui-success-message{z-index:21;padding:10px;font-size:10px;color:#160404;background-color:#f5b9b9;border:1px solid #803e3e;border-radius:5px;box-shadow:0 1px 5px -1px #5e5e5e}.mh-ui-success-message{background-color:#a3ea85;border:1px solid #3e803e}\n"; } }); // src/modules/global-styles/styles/settings.css var settings_default23; var init_settings24 = __esm({ "src/modules/global-styles/styles/settings.css"() { settings_default23 = ".PagePreferences .mousehuntHud-page-tabContent.game_settings.userscript-settings .settingRow .settingRow-action-inputContainer.select.busy:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.userscript-settings .settingRow .settingRow-action-inputContainer.select.completed:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.better-mh-settings .settingRow .settingRow-action-inputContainer.select.busy:before,.PagePreferences .mousehuntHud-page-tabContent.game_settings.better-mh-settings .settingRow .settingRow-action-inputContainer.select.completed:before{top:30px;right:-25px;left:unset}.PagePreferences .mousehuntHud-page-tabContent.game_settings .settingRow .name{height:unset;min-height:20px}.PagePreferences__settingAction.inputDropdownWrapper.busy:before,.PagePreferences__settingAction.inputDropdownWrapper.completed:before{right:-25px;left:unset}.inputBoxContainer.multiSelect{max-width:400px}.settingRow-action-inputContainer.textarea{display:flex;gap:5px;align-items:flex-end}.PagePreferences__setting.textarea{display:grid;grid-template-columns:350px 1fr}.textarea .inputBox{width:100%;min-height:45px}.textarea .PagePreferences__settingAction{margin-bottom:0}.mh-utils-settings-subheader{padding-top:10px;padding-bottom:10px;font-size:10px;color:#848484}.settingRow-action-inputContainer.inputText{display:flex;gap:5px;align-items:stretch}.mh-utils-settings-refresh-message{position:fixed;right:0;bottom:0;left:0;z-index:5;padding:1em;font-size:1.5em;text-align:center;pointer-events:none;background-color:#d6f2d6;border-top:1px solid #6cc36c;opacity:1;transition:opacity .5s ease-in-out}.mh-utils-settings-refresh-message-hidden{opacity:0}.mh-ui-success-message.setting-link-copied{position:absolute;top:10px;display:inline;padding:3px;margin-left:9px}\n"; } }); // src/modules/global-styles/styles/tooltips.css var tooltips_default2; var init_tooltips2 = __esm({ "src/modules/global-styles/styles/tooltips.css"() { tooltips_default2 = ".PreferencesPage__blackTooltip.mh-improved-tooltip{width:20px;height:20px;margin-right:auto;margin-left:5px}.PreferencesPage__blackTooltip.mh-improved-tooltip:hover .PreferencesPage__blackTooltipText{right:-65px;bottom:165%;left:-65px;font-weight:400;line-height:16px}.mh-improved-tooltip-stay-open,.mousehuntTooltip.mh-improved-tooltip-stay-open,.mousehuntTooltipParent:hover>.mousehuntTooltip.mh-improved-tooltip-stay-open{display:block;transition:none;animation:none}\n"; } }); // src/modules/global-styles/styles/trap-qty.css var trap_qty_default; var init_trap_qty = __esm({ "src/modules/global-styles/styles/trap-qty.css"() { trap_qty_default = ".campPage-trap-itemBrowser-favorite-item-image-frame{top:-1px;left:-1px;width:50px;height:50px;overflow:hidden}.campPage-trap-itemBrowser-favorites .campPage-trap-itemBrowser-favorite-item-quantity span.campPage-trap-baitQuantity,.campPage-trap-itemBrowser-item-leftBar span.campPage-trap-baitQuantity{right:1px;bottom:1px;left:1px;padding:3px;font-size:13px;text-align:center;background-color:#fffc;border-radius:0 0 3px 3px}.campPage-trap-itemBrowser-favorites .campPage-trap-itemBrowser-favorite-item-quantity span.campPage-trap-baitQuantity{right:-1px;bottom:-1px;left:-1px;border:1px solid #4e2e0b}\n"; } }); // src/modules/global-styles/styles/utility.css var utility_default; var init_utility = __esm({ "src/modules/global-styles/styles/utility.css"() { utility_default = ".transparent-text{color:transparent}.text-black{color:#000}.hidden{display:none}.visible{display:block}.full-opacity{opacity:1}.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.outline{outline:1px solid #f00}.no-click{pointer-events:none}\n"; } }); // src/modules/global-styles/index.js var imported6, styles6, init32, global_styles_default; var init_global_styles = __esm({ "src/modules/global-styles/index.js"() { init_utils2(); init_animations(); init_blueprint3(); init_buttons(); init_favorite_button(); init_game_info_bar(); init_general5(); init_messages2(); init_settings24(); init_tooltips2(); init_trap_qty(); init_utility(); imported6 = [animations_default, blueprint_default2, buttons_default, favorite_button_default, game_info_bar_default, general_default5, messages_default, settings_default23, tooltips_default2, trap_qty_default, utility_default]; styles6 = imported6; init32 = () => __async(void 0, null, function* () { addStyles(styles6, "global-styles"); }); global_styles_default = { id: "global-styles", type: "required", alwaysLoad: true, load: init32 }; } }); // src/modules/hide-codices/styles.css var styles_default39; var init_styles40 = __esm({ "src/modules/hide-codices/styles.css"() { styles_default39 = ".trapSelectorView__activeCodexContainer,.trapSelectorView__activeCodexContainer--visible{display:none}\n"; } }); // src/modules/hide-codices/index.js var init33, hide_codices_default; var init_hide_codices = __esm({ "src/modules/hide-codices/index.js"() { init_utils2(); init_styles40(); init33 = () => __async(void 0, null, function* () { addStyles(styles_default39, "hide-codices"); }); hide_codices_default = { id: "hide-codices", name: "Hide Codices", type: "element-hiding", default: false, description: "Hide the codices on the trap selector.", load: init33 }; } }); // src/modules/hide-daily-draw/styles.css var styles_default40; var init_styles41 = __esm({ "src/modules/hide-daily-draw/styles.css"() { styles_default40 = "#messengerUINotification .tabs a[data-tab=daily_draw]{display:none}\n"; } }); // src/modules/hide-daily-draw/index.js var _togglePopup, replaceInboxOpen, isSelfRequest, removeDailyDrawNotifications, init34, hide_daily_draw_default; var init_hide_daily_draw = __esm({ "src/modules/hide-daily-draw/index.js"() { init_utils2(); init_styles41(); replaceInboxOpen = () => { var _a, _b; if (!messenger || !((_b = (_a = messenger == null ? void 0 : messenger.UI) == null ? void 0 : _a.notification) == null ? void 0 : _b.togglePopup)) { return; } if (!_togglePopup) { _togglePopup = messenger.UI.notification.togglePopup; } messenger.UI.notification.togglePopup = () => { messenger.UI.notification.showPopup(); messenger.UI.notification.setActiveTab("general"); messenger.UI.notification.showTab("general"); onEvent("ajax_response", () => { setMultipleTimeout(() => { messenger.UI.notification.showTab("general"); }, [10, 100]); }, true); }; }; isSelfRequest = false; removeDailyDrawNotifications = (data) => __async(void 0, null, function* () { var _a, _b, _c; if (isSelfRequest) { return; } if (!(data == null ? void 0 : data.messageData) || !((_a = data == null ? void 0 : data.messageData) == null ? void 0 : _a.notification)) { return; } const messageBar = document.querySelector("#hgbar_messages"); if (!messageBar) { return; } if (!messageBar.classList.contains("new")) { return; } const displayedNotificationsEl = messageBar.querySelector(".mousehuntHeaderView-menu-notification"); if (!displayedNotificationsEl) { return; } const displayedNotifications = Number.parseInt(displayedNotificationsEl.innerText, 10); if (displayedNotifications <= 0) { return; } const notification = data.messageData.notification || {}; const newNotifications = (notification == null ? void 0 : notification.messageCount) || 0; if (newNotifications <= 0) { return; } isSelfRequest = true; const notificationData = yield doRequest("managers/ajax/users/messages.php", { action: "fetch_messages", "message_types[]": "notification" }); isSelfRequest = false; let notificationsToSubtract = 0; (_c = (_b = notificationData == null ? void 0 : notificationData.messageData) == null ? void 0 : _b.notification) == null ? void 0 : _c.messages.forEach((message) => { var _a2; if (!(message == null ? void 0 : message.isNew)) { return; } if ("Daily Draw" === ((_a2 = message == null ? void 0 : message.messageData) == null ? void 0 : _a2.tab)) { notificationsToSubtract++; } }); if (notificationsToSubtract <= 0) { return; } const newDisplayedNotifications = displayedNotifications - notificationsToSubtract; if (newDisplayedNotifications <= 0) { messageBar.classList.remove("new"); } displayedNotificationsEl.innerText = newDisplayedNotifications; }); init34 = () => __async(void 0, null, function* () { addStyles(styles_default40, "hide-daily-draw"); if ("undefined" !== typeof messenger) { replaceInboxOpen(); } setTimeout(removeDailyDrawNotifications, 1e3); onRequest("*", removeDailyDrawNotifications); }); hide_daily_draw_default = { id: "hide-daily-draw", name: "Hide Daily Draw", type: "element-hiding", default: false, description: "Hides the daily draw from the inbox", load: init34 }; } }); // src/modules/hide-daily-reward-popup/index.js var hidePopup, init35, hide_daily_reward_popup_default; var init_hide_daily_reward_popup = __esm({ "src/modules/hide-daily-reward-popup/index.js"() { init_utils2(); hidePopup = () => { if (activejsDialog) { const attrs = activejsDialog.getAttributes(); if (attrs && attrs.className && attrs.className === "dailyRewardPopup") { activejsDialog.hide(); } } }; init35 = () => __async(void 0, null, function* () { onDialogShow("dailyRewardPopup", () => { setTimeout(() => { if (activejsDialog) { activejsDialog.hide(); } }, 500); }); hidePopup(); setTimeout(hidePopup, 1e3); setTimeout(hidePopup, 2e3); onRequest("*", hidePopup); }); hide_daily_reward_popup_default = { id: "hide-daily-reward-popup", name: "Hide Daily Reward Popup", type: "element-hiding", default: false, description: "Automatically hide the daily reward popup.", load: init35 }; } }); // src/modules/hide-footer/styles.css var styles_default41; var init_styles42 = __esm({ "src/modules/hide-footer/styles.css"() { styles_default41 = ".pageFrameView-footer,.mousehuntFooter{display:none}.no-footer .pageFrameView-column.left,.no-footer .pageFrameView-column.right{margin-bottom:0}\n"; } }); // src/modules/hide-footer/index.js var init36, hide_footer_default; var init_hide_footer = __esm({ "src/modules/hide-footer/index.js"() { init_utils2(); init_styles42(); init36 = () => __async(void 0, null, function* () { addStyles(styles_default41, "no-footer"); addBodyClass("no-footer"); onActivation("no-footer", () => { addBodyClass("no-footer"); }); onActivation("no-footer", () => { removeBodyClass("no-footer"); }); }); hide_footer_default = { id: "no-footer", name: "Hide Footer", type: "element-hiding", default: false, description: "Hides the footer.", load: init36 }; } }); // src/modules/hide-news-ticker/styles.css var styles_default42; var init_styles43 = __esm({ "src/modules/hide-news-ticker/styles.css"() { styles_default42 = ".mousehuntHeaderView-newsTicker{display:none}\n"; } }); // src/modules/hide-news-ticker/index.js var init37, hide_news_ticker_default; var init_hide_news_ticker = __esm({ "src/modules/hide-news-ticker/index.js"() { init_utils2(); init_styles43(); init37 = () => __async(void 0, null, function* () { addStyles(styles_default42, "hide-news-ticker"); }); hide_news_ticker_default = { id: "hide-news-ticker", name: "Hide News Ticker", type: "element-hiding", default: true, description: "Hides the news ticker in the header.", load: init37 }; } }); // src/modules/hide-share/styles.css var styles_default43; var init_styles44 = __esm({ "src/modules/hide-share/styles.css"() { styles_default43 = '.actionportfolio,.canShare .larryTip,.journalactions a[data-share-type=journal],.journalactions a[data-type=journal],.pageSidebarView .fb-page,.socialLink,*[src="https://www.mousehuntgame.com//images/ui/buttons/share_green.gif"],#jsDialog-publishToOwnWall,.publishToWall,#OnboardArrow.onboardPopup.top .canShare .larryTip img{display:none}#OnboardArrow.onboardPopup.canShare .shareButton{display:none!important}#OnboardArrow.onboardPopup.canShare .closeButton{right:43px;left:unset;z-index:2}#OnboardArrow.onboardPopup.top .canShare .larryTip{color:#fff;background-color:#fff;border-color:#fff}\n'; } }); // src/modules/hide-share/index.js var init38, hide_share_default; var init_hide_share = __esm({ "src/modules/hide-share/index.js"() { init_utils2(); init_styles44(); init38 = () => __async(void 0, null, function* () { addStyles(styles_default43, "no-share"); }); hide_share_default = { id: "no-share", name: "Hide Share Buttons", type: "element-hiding", default: true, description: "Hides the share buttons.", load: init38 }; } }); // src/modules/hide-sidebar/styles.css var styles_default44; var init_styles45 = __esm({ "src/modules/hide-sidebar/styles.css"() { styles_default44 = ".pageFrameView{-ms-grid-columns:[first] auto [content-start] 760px [content-end] auto [last];grid-template-columns:[first] auto [content-start] 760px [content-end] auto [last]}.pageFrameView .pageSidebarView-user{padding:0 0 10px;border-bottom:none}.pageSidebarView{display:none}.mousehuntHeaderView .menuItem.sidebar.dropdown{cursor:unset}.mousehuntHeaderView .menuItem.sidebar .dropdownContent{width:365px;padding:10px}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a{display:unset;height:auto;padding:0;font-variant:none;border-bottom:none}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a:hover,.mousehuntHeaderView .menuItem.sidebar .dropdownContent a:focus{text-decoration:underline;background-color:unset}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-image{width:30px;height:30px;padding:0;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;border:1px solid #808080}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user a:nth-child(2){display:inline;padding:0;font-size:inherit;font-variant:none;color:#3b5998;border-bottom:none}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user br{display:none}.mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-logout{display:inline-block;float:right;height:auto;padding:5px 0;margin-right:10px;font-size:inherit;font-variant:none;color:#3b5998;border-bottom:none;border-radius:0}.scoreboardRankingsWrapper{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;line-height:14px}.scoreboardRelativeRankingTableView-table{padding-top:5px;background:#fff}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a{font-size:9px;color:#3b5998;text-decoration:none;vertical-align:middle;border-radius:0}.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a:hover,.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a:focus,.mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a:active{text-decoration:underline}\n"; } }); // src/modules/hide-sidebar/index.js var moveSidebar, init39, hide_sidebar_default; var init_hide_sidebar = __esm({ "src/modules/hide-sidebar/index.js"() { init_utils2(); init_styles45(); moveSidebar = () => { const menuTab = document.createElement("div"); menuTab.classList.add("menuItem"); menuTab.classList.add("dropdown"); menuTab.classList.add("sidebar"); menuTab.addEventListener("click", () => { menuTab.classList.toggle("expanded"); }); const menuTabTitle = document.createElement("span"); menuTabTitle.innerText = "Sidebar"; const menuTabArrow = document.createElement("div"); menuTabArrow.classList.add("arrow"); const dropdownContent = document.createElement("div"); dropdownContent.classList.add("dropdownContent"); const sidebarUser = document.querySelector(".pageSidebarView-user"); if (sidebarUser) { const sidebarUserClone = sidebarUser.cloneNode(true); dropdownContent.append(sidebarUserClone); } const scoreBoardRankings = document.querySelectorAll(".scoreboardRelativeRankingTableView-table"); if (scoreBoardRankings) { const scoreBoardRankingWrapper = document.createElement("div"); scoreBoardRankingWrapper.classList.add("scoreboardRankingsWrapper"); scoreBoardRankings.forEach((scoreBoardRanking) => { const scoreBoardRankingClone = scoreBoardRanking.cloneNode(true); scoreBoardRankingWrapper.append(scoreBoardRankingClone); }); dropdownContent.append(scoreBoardRankingWrapper); } menuTab.append(menuTabTitle); menuTab.append(menuTabArrow); menuTab.append(dropdownContent); const tabsContainer = document.querySelector(".mousehuntHeaderView-dropdownContainer"); if (!tabsContainer) { return; } tabsContainer.insertBefore(menuTab, tabsContainer.lastChild); }; init39 = () => __async(void 0, null, function* () { addStyles(styles_default44, "no-sidebar"); addBodyClass("no-sidebar"); moveSidebar(); hg.views.PageFrameView.setShowSidebar(false); onDeactivation("no-sidebar", () => { hg.views.PageFrameView.setShowSidebar(true); const menuTab = document.querySelector(".menuItem.sidebar"); if (menuTab) { menuTab.remove(); } }); }); hide_sidebar_default = { id: "no-sidebar", name: "Hide Sidebar", type: "element-hiding", default: true, description: "Hides the sidebar and adds a 'Sidebar' dropdown in the top menu.", load: init39 }; } }); // src/modules/hover-profiles/styles.css var styles_default45; var init_styles46 = __esm({ "src/modules/hover-profiles/styles.css"() { styles_default45 = ".message .messageText,.journal .entry .journalbody{position:relative}#friend-data-wrapper{position:absolute;top:-125px;z-index:999999;box-sizing:border-box;display:block;width:325px;height:125px;background:linear-gradient(#decebb 5%,#f0eddf 50%);border:1px solid #9a8872;border-radius:10px;box-shadow:0 1px 5px -1px #5e5e5e}.treasureMapTooltipView #friend-data-wrapper{display:none}[data-friend-hover]:hover #friend-data-wrapper,[data-friend-hover]:focus #friend-data-wrapper,#friend-data-wrapper:hover,#friend-data-wrapper:focus{display:block}#friend-data-wrapper .friendsPage-friendRow{position:relative;box-sizing:border-box;height:100%;padding-top:3px;margin:0;border:none}#friend-data-wrapper .friendsPage-friendRow-imageContainer{position:relative;display:inline-block;width:65px;height:65px;margin-left:5px;vertical-align:top}#friend-data-wrapper .friendsPage-friendRow-content{box-sizing:border-box;width:245px}#friend-data-wrapper .friendsPage-friendRow-titleBar{position:relative;box-sizing:border-box;padding-left:20px;margin-right:-8px;margin-bottom:5px;margin-left:-15px;line-height:20px}#friend-data-wrapper .friendsPage-friendRow-titleBar-titleDetail{display:none}#friend-data-wrapper .friendsPage-friendRow-titleBar-icon{left:0;width:35px;height:35px}#friend-data-wrapper .friendsPage-friendRow-titleBar-name{display:block;margin-left:20px;overflow:hidden;font-size:14px;color:#000;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}#friend-data-wrapper .friendsPage-friendRow-environment-icon{width:27px;height:27px;margin-right:3px}#friend-data-wrapper .friendsPage-friendRow-environment-name{width:140px;font-size:11px;line-height:14px}#friend-data-wrapper .friendsPage-friendRow .friendsPage-friendRow-actions{position:absolute;top:35px;right:2px}#friend-data-wrapper .friendsPage-friendRow-actionsContainer{top:0}#friend-data-wrapper .friendsPage-friendRow-actions-interactionButtons{padding-right:0}#friend-data-wrapper .userInteractionButtonsView-button{width:38px;height:38px;background-size:38px}#friend-data-wrapper .userInteractionButtonsView-button.sendTicket,#friend-data-wrapper .userInteractionButtonsView-button.sendTournamentInvite{display:none}#friend-data-wrapper .mousehuntTooltip{opacity:0;animation:none}#friend-data-wrapper .friendsPage-friendRow-environment{box-sizing:border-box;display:flex;align-items:center;height:40px;margin-left:-10px}#friend-data-wrapper .friendsPage-friendRow-statsContainer{position:relative;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);place-items:center center;align-content:stretch;width:100%;height:auto;padding:2px;margin:0}#friend-data-wrapper .friendsPage-friendRow-stat{display:flex!important;align-items:center;width:auto;margin:0;font-size:10px}#friend-data-wrapper .friendsPage-friendRow-stat-icon{width:15px;height:15px;margin-left:5px}#friend-data-wrapper .friendsPage-friendRow-stat.map .friendsPage-friendRow-stat-icon,#friend-data-wrapper .friendsPage-friendRow-stat.team .friendsPage-friendRow-stat-icon{margin-right:3px}#friend-data-wrapper .friendsPage-friendRow-stat-value{font-size:10px;font-weight:400}#friend-data-wrapper .friendsPage-friendRow-stat-label{display:none}#friend-data-wrapper .friendsPage-friendRow-stat.map{grid-column:span 2}#friend-data-wrapper .friendsPage-friendRow-stat.map .friendsPage-friendRow-stat-value span,#friend-data-wrapper .friendsPage-friendRow-stat.online span{width:auto;max-width:190px}#friend-data-wrapper .friendsPage-friendRow-stat.team .friendsPage-friendRow-stat-value a{width:auto;max-width:70px}#friend-data-wrapper .friendsPage-friendRow-stat:hover .friendsPage-friendRow-stat-fullValue{display:none}#friend-data-wrapper .friendsPage-friendRow-stat.hasHover:hover{text-decoration:underline;background:unset}.mh-dark-mode #friend-data-wrapper .friendsPage-friendRow{color:#87270e;background:linear-gradient(#decebb 5%,#f0eddf 50%)}.mh-dark-mode #friend-data-wrapper .friendsPage-friendRow-statsContainer{color:#87270e;box-shadow:0 10px 30px #cdb495 inset}.mh-dark-mode #friend-data-wrapper .friendsPage-friendRow-stat-value a{color:#87270e}.friend-data-wrapper-loading{display:flex;align-items:flex-end;justify-content:center;height:90%;background-image:url(https://www.mousehuntgame.com/images/ui/loaders/drip_spinner.gif);background-repeat:no-repeat;background-position:center;background-size:55px}.friendsPage-friendRow.loading .friendsPage-friendRow-titleBar-icon:after{top:2px;left:2px;width:30px;height:30px;background:#eee;border:2px solid #7b7b7b}.friendsPage-friendRow.loading .friendsPage-friendRow-image,.friendsPage-friendRow.loading .friendsPage-friendRow-environment-icon{background:#eee;box-shadow:none}.friendsPage-friendRow.loading .friendsPage-friendRow-image{inset:7px}\n"; } }); // src/modules/hover-profiles/index.js var cleanId, getFriendId, friendDataWrapper, makeFriendMarkup, onFriendLinkHover, addFriendLinkEventListener, onTabChangeCallback, onTabChange, onInboxOpen, main14, debugPopup3, init40, hover_profiles_default; var init_hover_profiles = __esm({ "src/modules/hover-profiles/index.js"() { init_utils2(); init_styles46(); cleanId = (id) => { return id.replaceAll("#", ""); }; getFriendId = (target) => __async(void 0, null, function* () { var _a; if (target.getAttribute("data-snuid")) { return cleanId(target.getAttribute("data-snuid")); } if (target.href) { let href = target.href; const hrefMatch = target.href.match(/(.+?)&/); if (hrefMatch && hrefMatch.length) { href = hrefMatch[1]; } const urlMatch = href.replace("https://www.mousehuntgame.com/hunterprofile.php?snuid=", "").replace("https://www.mousehuntgame.com/profile.php?snuid=", ""); if (urlMatch && urlMatch !== href) { return cleanId(urlMatch); } const pMatch = href.replace("https://www.mousehuntgame.com/p.php?id=", ""); if (pMatch && pMatch !== href) { const snuid = yield doRequest("managers/ajax/pages/friends.php", { action: "community_search_by_id", user_id: pMatch }); if ((_a = snuid == null ? void 0 : snuid.friend) == null ? void 0 : _a.sn_user_id) { return cleanId(snuid.friend.sn_user_id); } } } if (target.onclick) { const giftMatch = target.onclick.toString().match(/show\('(.+)'\)/); if (giftMatch && giftMatch.length) { return cleanId(giftMatch[1]); } } return false; }); makeFriendMarkup = (friendId, data = null, skipCache = false, e) => { var _a, _b; if (!skipCache) { sessionSet(`mh-improved-cache-friend-${friendId}`, data); sessionSet(`mh-improved-cache-friend-${friendId}-timestamp`, Date.now()); } friendDataWrapper == null ? void 0 : friendDataWrapper.remove(); let content; if (data && data.length) { const templateType = !((_b = (_a = data[0].user_interactions) == null ? void 0 : _a.relationship) == null ? void 0 : _b.is_stranger) ? "PageFriends_view_friend_row" : "PageFriends_request_row"; content = hg.utils.TemplateUtil.render(templateType, data[0]); } else { content = hg.utils.TemplateUtil.render("PageFriends_view_friend_row", hg.pages.FriendsPage().getPlaceholderData()); } const existing = document.querySelectorAll("#friend-data-wrapper"); if (existing && existing.length) { existing.forEach((el) => { el.remove(); }); } friendDataWrapper = makeElement("div", "friend-data-wrapper"); friendDataWrapper.id = "friend-data-wrapper"; friendDataWrapper.innerHTML = content || '<span class="friend-data-wrapper-loading">Loading\u2026</span>'; document.body.append(friendDataWrapper); const rect = e.target.getBoundingClientRect(); const top = rect.top + window.scrollY; const left = rect.left + window.scrollX; let tooltipTop = top - friendDataWrapper.offsetHeight - 10; if (tooltipTop < 0) { tooltipTop = top + rect.height + 10; } friendDataWrapper.style.top = `${tooltipTop}px`; friendDataWrapper.style.left = `${left - friendDataWrapper.offsetWidth / 2 + rect.width / 2}px`; let timeoutId; friendDataWrapper.addEventListener("mouseleave", () => { timeoutId = setTimeout(() => { if (!debugPopup3) { friendDataWrapper.remove(); } }, 250); }); friendDataWrapper.addEventListener("mouseenter", () => { clearTimeout(timeoutId); }); doEvent2("profile_hover"); }; onFriendLinkHover = (e) => __async(void 0, null, function* () { const friendId = yield getFriendId(e.target); if (!friendId || friendId == user.sn_user_id) { return; } e.target.setAttribute("data-snuid", friendId); const parent = e.target.parentElement; if (!parent) { return; } parent.setAttribute("data-friend-hover", true); const existing = document.querySelectorAll("#friend-data-wrapper"); if (existing && existing.length) { existing.forEach((el) => { el.remove(); }); } const cached = sessionGet(`mh-improved-cache-friend-${friendId}`); const cachedTimestamp = sessionGet(`mh-improved-cache-friend-${friendId}-timestamp`); if (cached && cachedTimestamp && Date.now() - cachedTimestamp < 15e4) { makeFriendMarkup(friendId, cached, true, e); } else { makeFriendMarkup(null, null, true, e); app.pages.FriendsPage.getFriendDataBySnuids([friendId], (data) => { if (!data || !data.length) { return; } makeFriendMarkup(friendId, data, false, e); }); } }); addFriendLinkEventListener = (selector) => { const friendLinks = document.querySelectorAll(selector); if (!friendLinks || !friendLinks.length) { return; } friendLinks.forEach((friendLink) => { if (friendLink.classList.contains("friendsPage-friendRow-image")) { return; } let timer; friendLink.addEventListener("mouseover", (e) => { clearTimeout(timer); timer = setTimeout(() => onFriendLinkHover(e), 200); }); friendLink.addEventListener("mouseout", () => { clearTimeout(timer); }); }); }; onTabChangeCallback = (callback, attempts = 0) => { const tabs = document.querySelectorAll(".notificationHeader .tabs a"); if (!tabs || tabs.length === 0) { if (attempts > 2) { return; } setTimeout(() => { onTabChangeCallback(callback, attempts + 1); }, 250); return; } tabs.forEach((tab) => { tab.addEventListener("click", () => { callback(); }); }); }; onTabChange = (callback) => { onEvent("ajax_response", () => { onTabChangeCallback(callback); }); }; onInboxOpen = (callback) => { const inboxBtn = document.querySelector("#hgbar_messages"); if (!inboxBtn) { return; } inboxBtn.addEventListener("click", () => { onTabChange(callback); }); }; main14 = () => { const selectors = [ 'a[href*="https://www.mousehuntgame.com/hunterprofile.php"]', 'a[href*="https://www.mousehuntgame.com/profile.php"]', ".entry.socialGift .journaltext a", '.notificationMessageList .messageText a[href*="https://www.mousehuntgame.com/p"]', 'tr.teamPage-memberRow-identity a[href*="https://www.mousehuntgame.com/profile.php"]', '.treasureMapView-scoreboard-table a[href*="https://www.mousehuntgame.com/profile.php"]' ]; selectors.forEach((selector) => { addFriendLinkEventListener(selector); }); }; debugPopup3 = false; init40 = () => __async(void 0, null, function* () { addStyles(styles_default45, "hover-profiles"); debugPopup3 = getSetting("debug.hover-popups", false); setTimeout(main14, 500); onRequest("*", () => { setTimeout(main14, 1e3); }); onInboxOpen(main14); }); hover_profiles_default = { id: "hover-profiles", name: "Hover Profiles", type: "feature", default: true, description: "Hover over a friend's name in your journal, inbox, or elsewhere and get a mini-profile popup.", load: init40 }; } }); // src/modules/image-upscaling/paths-to-skip.json var paths_to_skip_default; var init_paths_to_skip = __esm({ "src/modules/image-upscaling/paths-to-skip.json"() { paths_to_skip_default = [ "mice/*", "ui/auras/*", "ui/hud/menu/*", "ui/crowns/*", "ui/camp/*", "ui/hunters_horn/*", "items/skins/*", "items/weapons/*", "powertypes/*", "teams/*", "environments/*", "folklore_forest_upgrades/*", "promo/page_banners/*", "grouplogos/*", "ui/adventure_book/*", "map/dynamic/*", "io_appstore_button.png", "google-play-badge.png", "icons/externalLink.png", "buttons/discord.png", "hg_logo.png", "payment/thumb/logo_paypal.png" ]; } }); // src/modules/image-upscaling/styles.css var styles_default46; var init_styles47 = __esm({ "src/modules/image-upscaling/styles.css"() { styles_default46 = ".giftSelectorView-inbox-gift-thumb .itemImage,.giftSelectorView-inbox-giftRow.paidgift .giftSelectorView-inbox-gift-thumb .itemImage,.giftSelectorView-claimableGift-itemContainer .itemImage,.adventureBookPopup-adventure-details-block-step-thumb,.valourRiftPopupClaim-lootLog .itemImage,.valourRiftPopupClaim-cacheLoot-image,.MHCheckoutCartTableView-reward-image,.MHCheckoutCartTableView .trapImageView,.labyrinthHUD-confirmItem,.travelPage-map-pieces-detail-image img,.halloweenBoilingCauldronRecipeView-thumb,.lunarNewYear2018-claimRow-image .itemImage,.forewordFarmHarvestBin-itemImage.itemImage,.lunarNewYearCampPopup-content-block-image,.superBrieFactoryVendingMachineView-item-imageContainer,.campPage-trap-armedItem-empty{box-shadow:none}.springHuntHUD-dialog-item-image .itemImage.large,.springHuntHUD-dialog-item-image .floatingIslandsAirship,.MiniEventBigJackPopup-block-item-image,.forewordFarmHarvestBin-itemImage.itemImage,.marketplaceView-itemImage,.mousehuntHud-userStat.bait .icon,.itemView-thumbnail.large,.itemView-thumbnail{background-color:transparent}.springHuntHUD-dialog-item-image,.journal .entry.convertible_open img,.MiniEventGiveawayCampHUD-dialog-item .itemImage,.journal .entry.craft.item img,.itemPurchaseView-container.apothecary .itemPurchaseView-image,.marketplaceView-itemImage,.itemView-thumbnail,.campPage-trap-armedItem.bait .campPage-trap-armedItem-image,.mousoleumHUD-crafting-recipe-result-image,.floatingIslandsHUD .upsellItemActionView-cost-image,.enterPortal .warpathHUD-dialog-image .itemImage,.campPage-trap-armedItem-image{border:none}.notificationMessageList .message img.item{border:none!important}.campPage-trap-armedItem-empty{background:none}.treasureMapDialogView.acknowledge .treasureMapDialogView-highlightItem .itemImage,.greatWinterHuntNewYearsDialogView__itemImage,.convertibleOpenView-item-image{background-size:cover}.marketplaceView-item-image,.itemImage{background-size:100%}.treasureMapOpenChestView-chestImage,.campPage-trap-armedItem.bait .campPage-trap-armedItem-image,.campPage-trap-armedItem-image{background-size:contain}.MHCheckout-featuredItem-image.large{background-size:100px}.campPage-trap-armedItem.skin .campPage-trap-armedItem-empty{color:transparent}.mousehuntHud-userStat .icon{width:28px;height:28px;background-size:100%;border:none;box-shadow:none}.inventoryPage-confirmPopup-itemRow-image .itemImage img{width:80px;height:80px}.treasureMapView-allyCell{padding:5px 2px}.treasureMapView-allyCell .treasureMapView-componentContainer{width:170px;background:none}.treasureMapView-allyCell .treasureMapView-componentThumb{width:40px;height:40px}.treasureMapRootView-footer-item-thumb{background-color:#fff}.mousehuntHud-userStat:hover .icon,.mousehuntHud-userStat:focus .icon,.mousehuntHud-userStat.active .icon{filter:drop-shadow(0 0 3px #ffde00);box-shadow:none}.springEggHuntCampHUD-charm-thumb.active{background-color:#79a32c87}.springEggHuntCampHUD-charm-thumb{padding:1px;border:none}.marketplaceView-itemImage img{border-radius:0}.travelPage-map-pieces-detail-environment-title img{width:auto;height:20px}.travelPage-map-pieces-detail-environment-title{display:inline-flex;align-items:center;justify-content:flex-start}.travelPage-map-pieces-detail-environment-title-name{margin-left:5px}.travelPage-map-pieces-detail-environments-label{margin-bottom:10px}.travelPage-map-environment-detail-title img{max-width:25px}.gift-padding img{width:75px}.itemImage img{width:auto;max-width:80px}.journal .relicHunter_slayer_aura_relic_bonus{background-image:url(https://www.mousehuntgame.com/images/items/collectibles/large/a6e804d0d9eeb22ff01660a144521ff1.png)}.adventureBookPopup-title-icon{top:5px;width:auto;height:25px}.adventureBookPopup-title.active .adventureBookPopup-title-icon{left:5px}.journal .entry.socialGift,.journal .content .marketplacepurchase,.journal .content .supplytransferitem,.journal .content .toolbarinstalled{background-image:url(https://i.mouse.rip/item_add.png)}.journal .content .marketplacesale,.journal .content .supplytransfergold{background-image:url(https://i.mouse.rip/gold_add.png)}.journal .content .travel{background-image:url(https://i.mouse.rip/travel.png)}\n"; } }); // src/modules/image-upscaling/views.css var views_default; var init_views = __esm({ "src/modules/image-upscaling/views.css"() { views_default = ".mousehuntHud-page-tabContent.kings_cart .shopsPage-header-icon{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7340a24e5bf4defcc5d855bdb56776c3.png)}.shopsPage-kingsCalibratorPromo:after{background-image:url(https://i.mouse.rip/upscaled/c6fa46d329c1c7436acad084773c05c6.png)}.dragonSlayerTeaser{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/d513d3d88b83e0cbce3be1ca70f8c6c0.png)}.fortRoxHUD-dialog-requiredItem.fort_rox_lair_cheese .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/da61a59109bfc60c1d9db20f54c75e63.png)}.fortRoxHUD-dialog-requiredItem.fort_rox_lair_key_stat_item .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/312d0ec2cf4e4cc10a223ef1ed7eb1cf.png)}.giftSelectorView-gift-cost-name{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png)}.greatWinterHuntClaimRewardDialogView__item--hat:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f2ec13c0297687cbe50c7c35312966b7.png)}.greatWinterHuntClaimRewardDialogView__item--scarf:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b07954771f93d36f125caab617573edf.png)}.headsUpDisplayWinterHuntRegionView__golemUpgradeCost:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a9f0d6cba3beb00ad97a543b5e3ec8f9.png)}.headsUpDisplayWinterHuntRegionView__hailstoneImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/972937f8febcda1ed8e6f592ce34d1eb.png)}.journal .entry.aurora_base_trigger{background-image:url(https://i.mouse.rip/upscaled/bases/20ffa4c4c656ac931e4881d98bda5713.png)}.journal .entry.burroughs_rift.regulator_base_trigger{background-image:url(https://i.mouse.rip/upscaled/bases/aeeb39277ee5bb21bffd2d8e5eb91203.png)}.journal .entry.christmas_crystalabra_trigger{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/54e6ff0e1a145b4ae1a702dae67f302c.png)}.journal .entry.electromagnetic_base_trigger{background-image:url(https://i.mouse.rip/upscaled/af1aa7a2f55acbce605abc65be1d22e1.png)}.journal .entry.living_grove_base_trigger.cavern_fungus{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/6b849e20a0a0e8034697dfc0034f20e0.png)}.journal .entry.living_grove_base_trigger.nightshade{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/075a2bbef9d263b41822be1c318e9ee0.png)}.journal .entry.mousehunt_birthday_cake_claim{background-image:url(https://i.mouse.rip/upscaled/8e4f8ee414643d3dcb39e5bb7df429ed.png)}.journal .entry.rift_mist_diffuser_trigger{background-image:url(https://i.mouse.rip/upscaled/bases/40b591abddca5fa4b1cefb1d1a5c0116.png)}.journal .entry.valour_rift_map_quest_entry{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/b88046add58f39243c14740d7179446e.png)}.journal .entry.vegetation_base_trigger.blue{background-image:url(https://i.mouse.rip/upscaled/12adb0973256a6f3f7061925940593e9.png)}.journal .entry.vegetation_base_trigger.red{background-image:url(https://i.mouse.rip/upscaled/8dff0d6bc2e6d9be450da9bc0d3ab678.png)}.journal .entry.vegetation_base_trigger.yellow{background-image:url(https://i.mouse.rip/upscaled/1a0063f4d3a1995dc23105c4e6db85aa.png)}.journal .halloween-candy{background-image:url(https://i.mouse.rip/upscaled/1682084bc7d5208b582b66476c090a3b.png)}.journal .relicHunter_slayer_aura_relic_bonus{background-image:url(https://i.mouse.rip/upscaled/f21a0fde04887958de39f9e40b8f588e.png)}.kingsGiveawayCalibratorPopup-upgrade-action-kingsCredits{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/7340a24e5bf4defcc5d855bdb56776c3.png)}.labyrinthHUD-confirmItem.labyrinth_scramble_clues_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4af4321a64beff9406d1931e5ea79855.png)}.labyrinthHUD-confirmItem.labyrinth_scramble_doors_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/3f408cc3012bf15bd07d9bce8a6eec75.png)}.MiniEventGiveawayCampHUD:before{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6391b886b424174996329aa1eb186a10.png)}.mountainHUD-conduit-purchase .mousehuntItem-image.charm_level_1_trinket_slot{background-image:url(https://i.mouse.rip/upscaled/06e0b1849d75003231f4cbd8eab65a1a.png)}.mountainHUD-footer-item .mousehuntItem-image.abominable_asiago_cheese,.mountainHUD-craftDialog .mousehuntItem-image.abominable_asiago_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/7a83faafedc2d9e81cdf7aec4f1eb9a2.png)}.mountainHUD-footer-item .mousehuntItem-image.cheddore_cheese,.mountainHUD-craftDialog .mousehuntItem-image.cheddore_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/b5dde0c4643e52b8bee8b5d35529bc6e.png)}.mountainHUD-footer-item .mousehuntItem-image.faceted_sugar_crafting_item,.mountainHUD-craftDialog .mousehuntItem-image.faceted_sugar_crafting_item{background-image:url(https://i.mouse.rip/upscaled/faceted_sugar_crafting_item.png)}.mountainHUD-footer-item .mousehuntItem-image.ice_curd_crafting_item,.mountainHUD-craftDialog .mousehuntItem-image.ice_curd_crafting_item{background-image:url(https://i.mouse.rip/upscaled/ice_curd_crafting_item.png)}.mountainHUD-footer-item .mousehuntItem-image.magic_essence_craft_item,.mountainHUD-craftDialog .mousehuntItem-image.magic_essence_craft_item{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/1a5559b59d141e76dec3fe4b8780e5e3.png)}.mountainHUD-phaseContainer.bait .mousehuntItem-image.cheddore_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/b5dde0c4643e52b8bee8b5d35529bc6e.png)}.mountainHUD-phaseContainer.boss .mousehuntItem-image.abominable_asiago_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/7a83faafedc2d9e81cdf7aec4f1eb9a2.png)}.mountainHUD-phaseContainer.boulder .mousehuntItem-image.brie_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/9a8d8cd30ea217263779c4bbef463d69.png)}.mountainHUD-phaseContainer.boulder .mousehuntItem-image.super_brie_cheese{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png)}.mousoleumHUD-crafting-recipe-result-image{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/c2300f93eaaff7c48a78c1520b53ac12.png)}.riftBristleWoodsHUD-portalEquipment.acolyteHourglass .riftBristleWoodsHUD-portalEquipment-image{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ee5ef616058313371f7779297bce4524.png)}.riftBristleWoodsHUD-portalEquipment.portalScrambler .riftBristleWoodsHUD-portalEquipment-image{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/092ff4aa80863a405073ee9685c4710f.png)}.riftBristleWoodsHUD-portalEquipment.portalWarmer .riftBristleWoodsHUD-portalEquipment-image{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/81e3257baf10421af2fb22d9beeaf89c.png)}.riftFuromaHUD-craftingPopup-recipe-action-magicEssence:after{background-image:url(https://www.mousehuntgame.com/images/items/crafting_items/large/1a5559b59d141e76dec3fe4b8780e5e3.png)}.springEggHuntCampHUD-missingDetector-cost{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png)}.springHuntHUD-interfaceEgg.century_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/d64fc795e30b46f5f8a92f0949ab6988.png)}.springHuntHUD-interfaceEgg.explorers_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/fadab13dcd382ee0eb1876ca0c08abd6.png)}.springHuntHUD-interfaceEgg.freshly_painted_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/ce737544556d685e1f874c4fd87501ab.png)}.springHuntHUD-interfaceEgg.market_mogul_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/6af4279a524e8981a4f77e6cd0c1a8fb.png)}.springHuntHUD-interfaceEgg.workshop_egg_convertible:after{background-image:url(https://www.mousehuntgame.com/images/items/convertibles/large/215cb37ca633fed6e55b1014a371acd6.png)}.townOfGnawniaHUD-bountyRewardContainer{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.rift_gaunt_upgrade_a_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6b1ff750750b9c48dd330bdb9861ed7e.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.rift_gaunt_upgrade_b_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d4d052ac03c581e15699333f61618e9d.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.shade_eclipse_resource_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/e987c0769410db8389c1b299af66710d.png)}.valourRiftHUD-towerUpgradeLevel-costIcon.total_eclipse_resource_stat_item{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/150c36547680239500d7f75221c5cfac.png)}.warpathHUD-dialog-state.clearWave .warpathHUD-dialog-image .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/ef8fb33edf7ca54d7ddfc91a215e4845.png)}.warpathHUD-dialog-state.enterPortal .warpathHUD-dialog-image .itemImage{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/26383ddab530a128c32fb2cc5e9e7405.png)}.campPage-daily-draw-prize-image{background-image:url(https://i.mouse.rip/upscaled/raffle_ticket.png)}.journal .entry.ronza_chrome_voucher_claim{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/a3be8c11176c289f6c79068cbe813968.png)}\n"; } }); // src/modules/image-upscaling/index.js var ImageUpscaler, init41, image_upscaling_default; var init_image_upscaling = __esm({ "src/modules/image-upscaling/index.js"() { init_utils2(); init_paths_to_skip(); init_styles47(); init_views(); ImageUpscaler = class { constructor() { this.mapping = []; this.unupscaledImages = /* @__PURE__ */ new Set(); this.upscaledImages = /* @__PURE__ */ new Set(); this.lastCheck = ""; this.isUpscaling = false; this.observerOptions = { childList: true, subtree: true }; this.observer = null; this.handleUpscalingImages = this.handleUpscalingImages.bind(this); } stripUrl(url) { const replacements2 = [ ["//images", "/images"], ["https://www.mousehuntgame.com/images/", ""], ["cv=1", ""], ["cv=2", ""], ["cv=3", ""], ["cv=4", ""], ["cv=5", ""], ["asset_cache_version=1", ""], ["asset_cache_version=2", ""], ["asset_cache_version=3", ""], ["asset_cache_version=4", ""], ["asset_cache_version=5", ""], ["?", ""], ["&", ""] ]; if (!url) { return ""; } return replacements2.reduce((replacedUrl, [from, to]) => replacedUrl.replaceAll(from, to), url); } getMappedUrl(strippedUrl) { if (!strippedUrl) { return; } const mappedUrl = this.mapping[strippedUrl]; if (!mappedUrl) { return; } if (mappedUrl.includes("https://")) { return mappedUrl; } if (mappedUrl) { this.upscaledImages.add(mappedUrl); } return `https://www.mousehuntgame.com/images/${mappedUrl}`; } shouldSkipUpdate(items2) { const itemHash = [...items2].map((item) => item.getAttribute("src") || "").join(","); const shouldSkip2 = this.lastCheck === itemHash; this.lastCheck = itemHash; return shouldSkip2; } shouldSkipUrl(url) { if (this.unupscaledImages.has(url) || // Don't re-upscale images that have already been upscaled. this.upscaledImages.has(url) || url.startsWith("https://www.gravatar.com") || // Skip some external images. url.startsWith("https://graph.facebook.com") || url.startsWith("https://i.mouse.rip")) { return true; } return paths_to_skip_default.some((path) => { if (path.includes("*")) { return url.startsWith(path.replace("*", "")); } return url === path; }); } upscaleImageElements() { const images = document.querySelectorAll("img"); if (!images) { return; } if (this.shouldSkipUpdate(images)) { return; } images.forEach((image) => { const originalUrl = image.getAttribute("src"); const strippedUrl = this.stripUrl(originalUrl); if (this.shouldSkipUrl(strippedUrl)) { return; } const mappedUrl = this.getMappedUrl(strippedUrl); if (mappedUrl && originalUrl !== mappedUrl) { image.setAttribute("src", mappedUrl); } }); } startObserver() { if (this.observer) { this.observer.disconnect(); } this.observer = new MutationObserver(() => { this.upscaleImageElements(); }); this.observer.observe(document.body, this.observerOptions); } upscaleImages() { return __async(this, null, function* () { if (this.isUpscaling) { return; } this.isUpscaling = true; yield this.fetchMapping(); this.upscaleImageElements(); this.startObserver(); this.isUpscaling = false; }); } fetchMapping() { return __async(this, null, function* () { this.mapping = yield getData("upscaled-images"); }); } start() { return __async(this, null, function* () { if (this.observer) { return; } this.observer = new MutationObserver((mutations) => __async(this, null, function* () { const skipClasses = /* @__PURE__ */ new Set([ "huntersHornView__timerState", "mousehuntHud-gameInfo", "campPage-daily-tomorrow-countDown", "ticker", "mousehuntHeaderView-menu-notification", "mousehunt-improved-lgs-reminder-new", "mousehunt-improved-lgs-reminder", // Select2, search boxes on marketplace and friends list.. "select2-chosen", "select2-offscreen", "select2-container", "select2-search", "select2-drop", "marketplaceView-header-searchContainer", // Markethunt. "highcharts-tracker", "highcharts-grid", "highcharts-axis", "highcharts-axis-labels" ]); const skipIds = /* @__PURE__ */ new Set([ "mh-improved-cre", "mhhh_flast_message_div" ]); const skipElements = /* @__PURE__ */ new Set([ "head", "title", "optgroup", "option" ]); for (const mutation of mutations) { if ((mutation.type === "childList" || mutation.type === "attributes") && (mutation.target.classList && [...mutation.target.classList].some((c) => skipClasses.has(c)) || mutation.target.id && skipIds.has(mutation.target.id) || mutation.target.nodeName && skipElements.has(mutation.target.nodeName.toLowerCase()))) { continue; } try { yield this.upscaleImages(mutation.target); } catch (error) { console.error("Failed to upscale images:", error); } } })); this.observer.observe(document, this.observerOptions); }); } handleUpscalingImages() { return __async(this, null, function* () { try { if (!this.observer) { yield this.start(); } if (!this.isUpscaling) { yield this.upscaleImages(document.querySelector("body")); } } catch (error) { console.error("Failed to handle upscaling images:", error); } }); } }; init41 = () => __async(void 0, null, function* () { addExternalStyles("https://api.mouse.rip/upscaled-images.css"); addStyles([styles_default46, views_default], "image-upscaling"); imageUpscaler = new ImageUpscaler(); imageUpscaler.handleUpscalingImages(); onRequest("*", imageUpscaler.handleUpscalingImages, true, [], true); onEvent("mh-improved-init", imageUpscaler.handleUpscalingImages); onDialogShow("all", imageUpscaler.handleUpscalingImages); if (!getFlag("no-image-upscaling-journal-themes")) { addExternalStyles("https://api.mouse.rip/upscaled-journal-theme-images.css"); } }); image_upscaling_default = { id: "image-upscaling", name: "Image Upscaling & Transparency", type: "feature", default: true, description: "Updates all images to use higher resolution versions with transparent backgrounds.", load: init41 }; } }); // src/modules/inline-wiki/styles.css var styles_default47; var init_styles48 = __esm({ "src/modules/inline-wiki/styles.css"() { styles_default47 = "#wiki-iframe{width:100%;height:100%;min-height:100vh}.mousehuntHud-menu .wiki .external_icon{display:none}\n"; } }); // src/modules/inline-wiki/index.js var openWiki, getLink, wikiListener, addMenuListener, removeMenuListener, clickWiki, listener, main15, init42, inline_wiki_default; var init_inline_wiki = __esm({ "src/modules/inline-wiki/index.js"() { init_utils2(); init_styles48(); openWiki = () => { const iframe = document.createElement("iframe"); iframe.id = "wiki-iframe"; iframe.src = "https://mhwiki.hitgrab.com/wiki/index.php/MouseHunt_Wiki"; makePage(iframe); }; getLink = () => { const wikiLink = document.querySelector(".mousehuntHud-menu ul li ul li.wiki a"); if (wikiLink) { return wikiLink; } return null; }; wikiListener = (e) => { e.preventDefault(); openWiki(); }; addMenuListener = () => { const wikiLink = getLink(); if (wikiLink && !listener) { listener = wikiLink.addEventListener("click", wikiListener); } }; removeMenuListener = () => { const wikiLink = getLink(); if (wikiLink && listener) { wikiLink.removeEventListener("click", wikiListener); listener = null; } }; clickWiki = () => { const wikiLink = getLink(); if (wikiLink) { wikiLink.click(); } }; listener = null; main15 = () => { addMenuListener(); onEvent("mh-improved-open-wiki", clickWiki); }; init42 = () => __async(void 0, null, function* () { addStyles(styles_default47, "inline-wiki"); main15(); onActivation("inline-wiki", main15); onDeactivation("inline-wiki", removeMenuListener); }); inline_wiki_default = { id: "inline-wiki", name: "Inline Wiki", type: "feature", default: true, description: "Clicking 'Wiki' in the menu will load it right in the page, rather than opening a new tab.", load: init42 }; } }); // src/modules/inventory-only-open-multiple/styles.css var styles_default48; var init_styles49 = __esm({ "src/modules/inventory-only-open-multiple/styles.css"() { styles_default48 = ".inventoryPage-item.convertible .inventoryPage-item-content-action input:first-of-type:not(:only-of-type){pointer-events:all;filter:grayscale(0)}.inventoryPage-item.convertible .inventoryPage-item-content-action input[data-item-action=all],.inventoryPage-item.convertible .inventoryPage-item-content-action input[data-item-action=single]{pointer-events:none;filter:grayscale(1)}.inventoryPage-item.convertible .inventoryPage-item-content-action input.allButOne{pointer-events:all;filter:none}.inventoryPage-item.convertible .inventoryPage-item-content-action input:first-of-type:not(:only-of-type),.inventoryPage-item.convertible .inventoryPage-item-content-action input.allButOne{pointer-events:none}\n"; } }); // src/modules/inventory-only-open-multiple/index.js var init43, inventory_only_open_multiple_default; var init_inventory_only_open_multiple = __esm({ "src/modules/inventory-only-open-multiple/index.js"() { init_utils2(); init_styles49(); init43 = () => __async(void 0, null, function* () { addStyles(styles_default48, "only-open-multiple"); }); inventory_only_open_multiple_default = { id: "only-open-multiple", name: "Inventory - Only Open Multiple", type: "feature", default: false, description: "Lock opening things in your inventory unless you have multiple of them.", load: init43 }; } }); // src/modules/inventory-lock-and-hide/styles.css var styles_default49; var init_styles50 = __esm({ "src/modules/inventory-lock-and-hide/styles.css"() { styles_default49 = ".mhui-inventory-lock-and-hide-controls-wrapper{position:absolute;top:0;right:10px;display:flex;gap:10px}.mousehuntHud-page-tabContent.traps .mhui-inventory-lock-and-hide-controls-wrapper{top:-30px}.mhui-inventory-lock-and-hide-bulk-controls{display:none;gap:10px;margin-left:10px}.mhui-inventory-lock-and-hide-controls-active .mhui-inventory-lock-and-hide-bulk-controls{display:inline-flex}.inventoryPage-tagContent.mhui-inventory-lock-and-hide-controls-active{border-radius:5px;outline:3px solid #f37c7c}.mhui-inventory-lock-and-hide-item-controls{position:absolute;inset:0;display:none;flex-flow:row nowrap;align-items:flex-start;justify-content:space-evenly;background-color:#ffffff7f;border-radius:10px}.mhui-inventory-lock-and-hide-controls-active .mhui-inventory-lock-and-hide-item-controls{display:flex}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.hidden{display:inline-block}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.hidden .inventoryPage-item-margin{background-color:#939393}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.locked{display:inline-block}.mhui-inventory-lock-and-hide-controls-active .inventoryPage-item.locked .inventoryPage-item-margin{background-color:#ff7b00}.mhui-inventory-lock-and-hide-controls-active .locked.message_item.inventoryPage-item.small,.mhui-inventory-lock-and-hide-controls-active .locked.bait.inventoryPage-item.small{pointer-events:auto}.mhui-inventory-lock-and-hide-controls-active .tooltip{display:none;visibility:hidden;opacity:0}.locked .inventoryPage-item-content-action,.locked.message_item.inventoryPage-item.small .inventoryPage-item-button,.locked.bait.inventoryPage-item.small .inventoryPage-item-button,.locked .inventoryPage-item-recipeOptions,.locked .campPage-trap-itemBrowser-item-armButton,.locked .inventoryPage-item-imageContainer-action{pointer-events:none;filter:grayscale(1)}.locked.message_item.inventoryPage-item.small,.locked.bait.inventoryPage-item.small{pointer-events:none}.mousehuntHud-page-subTabContent.trinket .mousehuntHud-page-subTabContent-prefix{display:none}.inventoryPage-tagContent-tagTitle{display:flex;align-items:center;padding:0 5px 10px;margin:0;font-size:1.4em;border:none}span.inventoryPage-tagContent-tagTitle.tsitu-lock-convertible{top:-5px;right:110px;font-size:.75em}span.inventoryPage-tagContent-tagTitle.tsitu-lock-convertible button{padding:2px;font-size:1em}.mhui-inventory-lock-and-hide-hidden-count{margin-left:5px}.mhui-inventory-lock-and-hide-controls-lock{min-width:35px}.mhui-inventory-lock-and-hide-controls-hide{min-width:25px}\n"; } }); // src/modules/inventory-lock-and-hide/index.js var saveSettings, getSettings2, shouldAddLocks, addControlsToItems, updateGroupTitles, maybeLockOrHideItems, addBulkControls, getCurrentTabContainer, addLockAndHideControls, hideItemsInTrapBrowser, itemSettings, main16, toggleControls, onSetPage, init44, inventory_lock_and_hide_default; var init_inventory_lock_and_hide = __esm({ "src/modules/inventory-lock-and-hide/index.js"() { init_utils2(); init_styles50(); saveSettings = (shouldUpdateTitles = true) => { saveSetting("inventory-lock-and-hide.items", itemSettings); if (shouldUpdateTitles) { updateGroupTitles(); } }; getSettings2 = () => { return getSetting("inventory-lock-and-hide.items", { locked: [], hidden: [] }); }; shouldAddLocks = (currentTab) => { return "collectibles" !== currentTab || "bait" !== currentTab; }; addControlsToItems = () => __async(void 0, null, function* () { const items2 = document.querySelectorAll(".inventoryPage-item"); if (!items2) { return; } const currentTab = getCurrentTab(); items2.forEach((item) => { let id = item.getAttribute("data-item-id"); id = Number.parseInt(id, 10); if (!id) { return; } const hasControls = item.querySelector(".mhui-inventory-lock-and-hide-item-controls"); if (hasControls) { return; } let isLocked = (itemSettings == null ? void 0 : itemSettings.locked) ? itemSettings.locked.includes(id) : false; let isHidden2 = (itemSettings == null ? void 0 : itemSettings.hidden) ? itemSettings.hidden.includes(id) : false; const controls = makeElement("div", "mhui-inventory-lock-and-hide-item-controls"); if (shouldAddLocks(currentTab)) { const lock = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-lock"]); const lockText = makeElement("span", "", isLocked ? "Unlock" : "Lock"); lock.append(lockText); const clickLock = (e) => { e.preventDefault(); e.stopPropagation(); if (isLocked) { itemSettings.locked = itemSettings.locked.filter((i) => i !== id); lockText.innerText = "Lock"; isLocked = false; item.classList.remove("locked"); } else { itemSettings.locked.push(id); lockText.innerText = "Unlock"; isLocked = true; item.classList.add("locked"); } saveSettings(); }; lock.addEventListener("click", clickLock); controls.addEventListener("click", (e) => { if (e.altKey && e.shiftKey || e.metaKey) { clickLock(e); } }); controls.append(lock); } const hide = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-hide"]); const hideText = makeElement("span", "", isHidden2 ? "Show" : "Hide"); hide.append(hideText); const clickHide = (e) => { e.preventDefault(); e.stopPropagation(); if (isHidden2) { itemSettings.hidden = itemSettings.hidden.filter((i) => i !== id); hideText.innerText = "Hide"; isHidden2 = false; item.classList.remove("hidden"); } else { itemSettings.hidden.push(id); hideText.innerText = "Show"; isHidden2 = true; item.classList.add("hidden"); } saveSettings(); }; hide.addEventListener("click", clickHide); controls.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); if (e.altKey && !e.shiftKey) { clickHide(e); } }); controls.append(hide); item.append(controls); }); }); updateGroupTitles = () => { const container = getCurrentTabContainer(); if (!container) { return; } const groups2 = container.querySelectorAll(".inventoryPage-tagContent-tagGroup"); if (!groups2) { return; } groups2.forEach((group) => { const title = group.querySelector(".inventoryPage-tagContent-tagTitle"); if (!title) { return; } const hiddenItems = group.querySelectorAll(".inventoryPage-item.hidden"); if (!hiddenItems) { return; } const existingCount = title.querySelector(".mhui-inventory-lock-and-hide-hidden-count"); if (existingCount) { existingCount.remove(); } if (0 === hiddenItems.length) { return; } makeElement("span", "mhui-inventory-lock-and-hide-hidden-count", ` (${hiddenItems.length} hidden)`, title); }); }; maybeLockOrHideItems = () => __async(void 0, null, function* () { var _a, _b; const items2 = document.querySelectorAll(".inventoryPage-item"); if (!items2) { return; } for (const item of items2) { let id = item.getAttribute("data-item-id"); id = Number.parseInt(id, 10); if (!id) { return; } if (((_a = itemSettings == null ? void 0 : itemSettings.locked) == null ? void 0 : _a.length) > 0 && itemSettings.locked.includes(id)) { item.classList.add("locked"); } if (((_b = itemSettings == null ? void 0 : itemSettings.hidden) == null ? void 0 : _b.length) > 0 && itemSettings.hidden.includes(id)) { item.classList.add("hidden"); } } updateGroupTitles(); }); addBulkControls = () => { if (!shouldAddLocks(getCurrentTab())) { return; } const container = getCurrentTabContainer(); if (!container) { return; } const groups2 = container.querySelectorAll(".inventoryPage-tagContent-tagGroup"); if (!groups2) { return; } groups2.forEach((group) => { const title = group.querySelector(".inventoryPage-tagContent-tagTitle"); if (!title) { return; } const existingControls = title.querySelector(".mhui-inventory-lock-and-hide-bulk-controls"); if (existingControls) { return; } const controls = makeElement("div", "mhui-inventory-lock-and-hide-bulk-controls"); const lock = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-lock"]); const lockText = makeElement("span", "", "Lock All"); lock.append(lockText); lock.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); const items2 = group.querySelectorAll(".inventoryPage-item"); if (!items2) { return; } items2.forEach((item) => { const id = item.getAttribute("data-item-id"); if (!id) { return; } if (itemSettings.locked.includes(id)) { return; } itemSettings.locked.push(id); item.classList.add("locked"); const lockButtonText = item.querySelector(".mhui-inventory-lock-and-hide-controls-lock span"); if (lockButtonText) { lockButtonText.innerText = "Unlock"; } }); saveSettings(false); }); controls.append(lock); const unlock = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls-lock"]); const unlockText = makeElement("span", "", "Unlock All"); unlock.append(unlockText); unlock.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); const items2 = group.querySelectorAll(".inventoryPage-item"); if (!items2) { return; } items2.forEach((item) => { const id = item.getAttribute("data-item-id"); if (!id) { return; } if (!itemSettings.locked.includes(id)) { return; } itemSettings.locked = itemSettings.locked.filter((i) => i !== id); item.classList.remove("locked"); const lockButtonText = item.querySelector(".mhui-inventory-lock-and-hide-controls-lock span"); if (lockButtonText) { lockButtonText.innerText = "Lock"; } }); saveSettings(); }); controls.append(unlock); title.append(controls); }); }; getCurrentTabContainer = () => { let currentTab = getCurrentTab(); if (!currentTab || "inventory" === currentTab) { currentTab = "cheese"; } return document.querySelector(`.mousehuntHud-page-tabContent.${currentTab} .mousehuntHud-page-subTabContent.active`); }; addLockAndHideControls = () => { if ("inventory" !== getCurrentPage()) { return; } let currentTab = getCurrentTab(); if (!currentTab || "inventory" === currentTab) { currentTab = "cheese"; } if ("crafting" === currentTab || "plankrun" === currentTab) { return; } const container = getCurrentTabContainer(); if (!container) { return; } if (container.hasAttribute("mh-improved-inventory-lock-and-hide")) { return; } container.setAttribute("mh-improved-inventory-lock-and-hide", true); const controlsWrapper = makeElement("div", "mhui-inventory-lock-and-hide-controls-wrapper"); const controls = makeElement("div", ["mousehuntActionButton", "tiny", "mhui-inventory-lock-and-hide-controls"]); const text = makeElement("span", "", "Toggle Lock/Hide"); controls.append(text); let isEditing3 = false; controls.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); addBulkControls(); addControlsToItems(); isEditing3 = !isEditing3; container.setAttribute("mhui-inventory-lock-and-hide-controls-active", isEditing3); container.classList.toggle("mhui-inventory-lock-and-hide-controls-active"); }); controlsWrapper.append(controls); container.prepend(controlsWrapper); }; hideItemsInTrapBrowser = () => __async(void 0, null, function* () { const items2 = document.querySelectorAll(".campPage-trap-itemBrowser-item"); if (!items2) { return; } itemSettings = getSettings2(); items2.forEach((item) => { let id = item.getAttribute("data-item-id"); id = Number.parseInt(id, 10); if (!id) { return; } if (itemSettings.hidden.includes(id)) { item.classList.add("hidden"); } if (itemSettings.locked.includes(id)) { item.classList.add("locked"); } }); }); main16 = () => __async(void 0, null, function* () { itemSettings = getSettings2(); maybeLockOrHideItems(); addLockAndHideControls(); }); toggleControls = () => { const button = document.querySelector(".mhui-inventory-lock-and-hide-controls"); if (button) { button.click(); } }; onSetPage = () => { main16(); addEvent("ajax_request", main16, { removeAfterFire: true, id: "inventory-lock-and-hide" }); }; init44 = () => __async(void 0, null, function* () { addStyles(styles_default49, "inventory-lock-and-hide"); main16(); onNavigation(onSetPage, { page: "inventory", anyTab: true, anySubTab: true }); onEvent("camp_page_toggle_blueprint", hideItemsInTrapBrowser); onEvent("mh-improved-toggle-inventory-lock", toggleControls); }); inventory_lock_and_hide_default = { id: "inventory-lock-and-hide", name: "Inventory - Lock and Hide", type: "feature", default: true, description: "Lock and hide items in your inventory. Will also hide items in the trap browser.", load: init44 }; } }); // src/modules/inventory-open-all-but-one/styles.css var styles_default50; var init_styles51 = __esm({ "src/modules/inventory-open-all-but-one/styles.css"() { styles_default50 = ""; } }); // src/modules/inventory-open-all-but-one/index.js var getQuantityInput, replaceOpenAction, addOpenAllButOneButton, init45, inventory_open_all_but_one_default; var init_inventory_open_all_but_one = __esm({ "src/modules/inventory-open-all-but-one/index.js"() { init_utils2(); init_styles51(); getQuantityInput = () => { const quantity = document.querySelector(".itemView-action-convert-quantity"); if (!quantity) { return false; } return quantity; }; replaceOpenAction = () => { const _original2 = app.pages.InventoryPage.useConvertible; app.pages.InventoryPage.useConvertible = (element) => { if (element.getAttribute("data-item-action") === "all-but-one") { const itemType = element.getAttribute("data-item-type"); hg.views.ItemView.show(itemType); const interval = setInterval(() => { const quantityEl = document.querySelector(".itemView-action-convertForm"); let maxQuantity = 0; if (quantityEl && quantityEl.innerText.includes("/")) { maxQuantity = Number.parseInt(quantityEl.innerText.split("/")[1].trim(), 10); } const quantity = maxQuantity > 200 ? 200 : maxQuantity - 1; const quantityInput = getQuantityInput(); if (quantityInput) { clearInterval(interval); quantityInput.value = quantity; const useButton = document.querySelector(".itemView-action-convert-actionButton"); if (useButton) { useButton.click(); } } }, 100); } else { _original2(element); } }; }; addOpenAllButOneButton = () => { const convertibleItems = document.querySelectorAll('.inventoryPage-item.convertible[data-item-classification="convertible"]'); if (!convertibleItems.length) { return; } const existingButtons = document.querySelectorAll(".open-all-but-one"); existingButtons.forEach((button) => { button.remove(); }); convertibleItems.forEach((item) => { const button = item.querySelector('.inventoryPage-item-button[data-item-action="all"]'); if (!button) { return; } const newButton = button.cloneNode(true); newButton.classList.add("open-all-but-one"); newButton.textContent = "All but One"; newButton.value = "All but One"; newButton.setAttribute("data-item-action", "all-but-one"); button.parentNode.insertBefore(newButton, button.nextSibling); }); }; init45 = () => __async(void 0, null, function* () { addStyles(styles_default50, "open-all-but-one"); replaceOpenAction(); addOpenAllButOneButton(); onNavigation(() => { addOpenAllButOneButton(); }, { page: "inventory" }); }); inventory_open_all_but_one_default = { id: "open-all-but-one", name: "Inventory - Open All but One", type: "feature", default: true, description: "Adds 'Open All But One' buttons to convertible items in your inventory.", load: init45 }; } }); // src/modules/journal-privacy/settings/index.js var settings_default24; var init_settings25 = __esm({ "src/modules/journal-privacy/settings/index.js"() { settings_default24 = () => __async(void 0, null, function* () { return [ { id: "journal-privacy.show-toggle-icon", title: "Show toggle icon in top menu", default: true } ]; }); } }); // src/modules/journal-privacy/icon.css var icon_default; var init_icon = __esm({ "src/modules/journal-privacy/icon.css"() { icon_default = `.mousehuntHeaderView .menuItem.mousehunt-improved-journal-privacy-icon{display:flex;align-items:center;justify-content:center;width:20px;height:25px;padding:0}.mh-journal-privacy-enabled .mousehunt-improved-journal-privacy-icon:before,.mh-journal-privacy-disabled .mousehunt-improved-journal-privacy-icon:before{display:block;width:15px;height:15px;content:"";background-repeat:no-repeat;background-size:contain;opacity:.5}.mousehuntHeaderView .menuItem.mousehunt-improved-journal-privacy-icon:hover:before{opacity:1}.mh-journal-privacy-enabled .mousehunt-improved-journal-privacy-icon:before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path d="M10 12.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z" /><path fill-rule="evenodd" d="M.664 10.59a1.651 1.651 0 0 1 0-1.186A10.004 10.004 0 0 1 10 3c4.257 0 7.893 2.66 9.336 6.41.147.381.146.804 0 1.186A10.004 10.004 0 0 1 10 17c-4.257 0-7.893-2.66-9.336-6.41ZM14 10a4 4 0 1 1-8 0 4 4 0 0 1 8 0Z" clip-rule="evenodd" /></svg>')}.mh-journal-privacy-disabled .mousehunt-improved-journal-privacy-icon:before{background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M3.28 2.22a.75.75 0 0 0-1.06 1.06l14.5 14.5a.75.75 0 1 0 1.06-1.06l-1.745-1.745a10.029 10.029 0 0 0 3.3-4.38 1.651 1.651 0 0 0 0-1.185A10.004 10.004 0 0 0 9.999 3a9.956 9.956 0 0 0-4.744 1.194L3.28 2.22ZM7.752 6.69l1.092 1.092a2.5 2.5 0 0 1 3.374 3.373l1.091 1.092a4 4 0 0 0-5.557-5.557Z" clip-rule="evenodd" /><path d="m10.748 13.93 2.523 2.523a9.987 9.987 0 0 1-3.27.547c-4.258 0-7.894-2.66-9.337-6.41a1.651 1.651 0 0 1 0-1.186A10.007 10.007 0 0 1 2.839 6.02L6.07 9.252a4 4 0 0 0 4.678 4.678Z" /></svg>')} `; } }); // src/modules/journal-privacy/styles.css var styles_default51; var init_styles52 = __esm({ "src/modules/journal-privacy/styles.css"() { styles_default51 = '.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) a[href*="profile.php"],.mh-journal-privacy-enabled #journalContainer .entry.socialGift .journaltext a,.mh-journal-privacy-enabled #journalContainer .relicHunter_complete>.journalbody>.journaltext>b:nth-child(6),.mh-journal-privacy-enabled #journalContainer .wanted_poster-complete>.journalbody>.journaltext>b:nth-child(8),.mh-journal-privacy-enabled #journalContainer .journal__hunter-name,.mh-journal-privacy-enabled .mh-journal-privacy-name{display:inline-block;color:transparent;transition:color .3s}.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) #friend-data-wrapper a[href*="profile.php"]{color:#000}.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) a[href*="profile.php"]:hover,.mh-journal-privacy-enabled #journalContainer .entry:not(.badge) a[href*="profile.php"]:focus,.mh-journal-privacy-enabled #journalContainer .entry.socialGift .journaltext a:hover,.mh-journal-privacy-enabled #journalContainer .entry.socialGift .journaltext a:focus,.mh-journal-privacy-enabled #journalContainer .relicHunter_complete>.journalbody>.journaltext>b:nth-child(6):hover,.mh-journal-privacy-enabled #journalContainer .relicHunter_complete>.journalbody>.journaltext>b:nth-child(6):focus,.mh-journal-privacy-enabled #journalContainer .wanted_poster-complete>.journalbody>.journaltext>b:nth-child(8):hover,.mh-journal-privacy-enabled #journalContainer .wanted_poster-complete>.journalbody>.journaltext>b:nth-child(8):focus #journalContainer .journal__hunter-name:hover,.mh-journal-privacy-enabled #journalContainer .journal__hunter-name:focus,.mh-journal-privacy-enabled .mh-journal-privacy-name:hover,.mh-journal-privacy-enabled .mh-journal-privacy-name:focus{display:inline;color:#3b5998}\n'; } }); // src/modules/journal-privacy/index.js var applyClassToNames, removeClassFromNames, enablePrivacy, disablePrivacy, addIcon2, removeIcon, isPrivacyEnabled, init46, journal_privacy_default; var init_journal_privacy = __esm({ "src/modules/journal-privacy/index.js"() { init_utils2(); init_settings25(); init_icon(); init_styles52(); applyClassToNames = () => { if (!isPrivacyEnabled) { return; } const entries = document.querySelectorAll("#journalContainer .entry.relicHunter_start .journaltext"); if (!entries) { return; } entries.forEach((entry) => { if (!entry || !entry.textContent) { return; } if (entry.getAttribute("replaced") === "true") { return; } const match = entry.textContent.match(/(.*)( has joined the | has left the | used Rare Map Dust |, the map owner, has )/); if (match && match[1]) { const span = document.createElement("span"); span.classList.add("mh-journal-privacy-name"); span.textContent = match[1]; entry.setAttribute("data-original", match[1]); entry.setAttribute("replaced", "true"); entry.innerHTML = entry.innerHTML.replace(match[1], span.outerHTML); } }); }; removeClassFromNames = () => { if (isPrivacyEnabled) { return; } const entries = document.querySelectorAll("#journalContainer .entry.relicHunter_start .journaltext"); if (!entries) { return; } entries.forEach((entry) => { if (!entry || !entry.textContent) { return; } if (entry.getAttribute("replaced") !== "true") { return; } const span = entry.querySelector(".mh-journal-privacy-name"); if (span) { entry.innerHTML = entry.innerHTML.replace(span.outerHTML, span.textContent); entry.removeAttribute("replaced"); } }); }; enablePrivacy = () => { addBodyClass("mh-journal-privacy-enabled", true); removeBodyClass("mh-journal-privacy-disabled"); applyClassToNames(); }; disablePrivacy = () => { removeBodyClass("mh-journal-privacy-enabled"); addBodyClass("mh-journal-privacy-disabled", true); removeClassFromNames(); }; addIcon2 = () => { if (!getSetting("journal-privacy.show-toggle-icon", false)) { return; } const existingIcon = document.querySelector("#mousehunt-improved-journal-privacy"); if (existingIcon) { existingIcon.style.display = ""; existingIcon.style.visibility = ""; return; } addIconToMenu({ id: "mousehunt-improved-journal-privacy", classname: "mousehunt-improved-journal-privacy-icon", title: "Toggle Journal Privacy", position: "prepend", action: () => { isPrivacyEnabled = !isPrivacyEnabled; if (isPrivacyEnabled) { disablePrivacy(); } else { enablePrivacy(); } } }); }; removeIcon = () => { if (getSetting("journal-privacy.show-toggle-icon", false)) { return; } const icon = document.querySelector("#mousehunt-improved-journal-privacy"); if (icon) { icon.style.display = "none"; icon.style.visibility = "hidden"; } }; isPrivacyEnabled = true; init46 = () => __async(void 0, null, function* () { addStyles([styles_default51, icon_default], "journal-privacy"); enablePrivacy(); if (getSetting("journal-privacy.show-toggle-icon", false)) { addIcon2(); disablePrivacy(); } onRequest("pages/journal.php", applyClassToNames); onActivation(() => { addIcon2(); enablePrivacy(); }); onDeactivation(() => { removeIcon(); disablePrivacy(); }); onSettingsChange("journal-privacy.show-toggle-icon", { enable: addIcon2, disable: removeIcon }); }); journal_privacy_default = { id: "journal-privacy", name: "Journal Privacy", type: "element-hiding", default: false, description: "Hides player names in the journal. Good for screenshots that won't dox them.", load: init46, settings: settings_default24 }; } }); // src/modules/journal-changer/journals.json var journals_default; var init_journals = __esm({ "src/modules/journal-changer/journals.json"() { journals_default = [ { type: "theme_bristle_woods_rift", environments: [ "rift_bristle_woods" ] }, { type: "theme_burroughs_rift", environments: [ "rift_burroughs" ] }, { type: "theme_fungal", environments: [ "fungal_cavern" ] }, { type: "theme_labyrinth", environments: [ "labyrinth", "ancient_city" ] }, { type: "theme_living_garden", environments: [ "desert_oasis", "lost_city", "sand_dunes" ] }, { type: "theme_western", environments: [ "claw_shot_city" ] }, { type: "theme_moussu_picchu", environments: [ "moussu_picchu" ] }, { type: "theme_polluted", environments: [ "pollution_outbreak" ] }, { type: "theme_queso_canyon", environments: [ "queso_river", "queso_plains", "queso_quarry", "queso_geyser" ] }, { type: "theme_bountiful_beanstalk", environments: [ "bountiful_beanstalk" ] }, { type: "theme_table_of_contents", environments: [ "table_of_contents", "prologue_pond", "foreword_farm" ] } ]; } }); // src/modules/journal-changer/settings/index.js var settings_default25; var init_settings26 = __esm({ "src/modules/journal-changer/settings/index.js"() { settings_default25 = () => __async(void 0, null, function* () { return [ { id: "journal-changer.change-daily", title: "Randomize daily", default: false, description: "" }, { id: "journal-changer.change-location", title: "Change based on location", default: false, description: "" } ]; }); } }); // src/modules/journal-changer/styles.css var styles_default52; var init_styles53 = __esm({ "src/modules/journal-changer/styles.css"() { styles_default52 = ".journalContainer .top{display:flex;gap:3px;align-items:flex-start;justify-content:flex-end}.journalContainer-selectTheme{position:relative;background-color:#e6e6e6}.mh-improved-random-journal{background-image:url(https://i.mouse.rip/mh-improved/journal-random.png)}#journalContainer .journal__privacy-button{margin-right:85px;background:#e6e6e6;border:1px solid #333}\n"; } }); // src/modules/journal-changer/index.js var themes, getJournalThemes, updateJournalTheme, getCurrentJournalTheme, getJournalThemeForLocation, revertToSavedTheme, changeForLocation, randomizeTheme, addRandomButton, changeJournalDaily, _themeSelector, shouldListen, onThemeSelectorChange, init47, journal_changer_default; var init_journal_changer = __esm({ "src/modules/journal-changer/index.js"() { init_utils2(); init_journals(); init_settings26(); init_styles53(); themes = []; getJournalThemes = () => __async(void 0, null, function* () { const req = yield doRequest("managers/ajax/users/journal_theme.php", { action: "get_themes" }); if (!req || !req.journal_themes) { return []; } return req.journal_themes.theme_list.filter((theme) => theme.can_equip === true); }); updateJournalTheme = (theme) => __async(void 0, null, function* () { const current = getCurrentJournalTheme(); shouldListen = false; const req = yield doRequest("managers/ajax/users/journal_theme.php", { action: "set_theme", theme }); if (req.success) { const journal = document.querySelector("#journalContainer"); if (journal) { journal.classList.remove(current); journal.classList.add(theme); } } shouldListen = true; return req; }); getCurrentJournalTheme = () => { const journal = document.querySelector("#journalContainer"); if (!journal) { return false; } return [...journal.classList].find((cls) => cls.startsWith("theme_")); }; getJournalThemeForLocation = () => { const location = getCurrentLocation(); const journalTheme = journals_default.find((j) => j.environments.includes(location)); if (!journalTheme) { return false; } if (themes.some((t) => t.type === journalTheme.type)) { return journalTheme.type; } return journalTheme.type; }; revertToSavedTheme = () => { const chosenTheme = getSetting("journal-changer.chosen-theme", false); if (getCurrentJournalTheme() !== chosenTheme) { updateJournalTheme(chosenTheme); } }; changeForLocation = () => __async(void 0, null, function* () { const newTheme = getJournalThemeForLocation(); if (!newTheme) { revertToSavedTheme(); return; } if (themes.length === 0) { themes = yield getJournalThemes(); } const currentTheme = getCurrentJournalTheme(); if (!currentTheme) { return; } if (currentTheme === newTheme) { return; } if (!themes.some((t) => t.type === newTheme)) { revertToSavedTheme(); return; } updateJournalTheme(newTheme); const journal = document.querySelector("#journalContainer"); if (journal) { journal.classList.remove(currentTheme); journal.classList.add(newTheme); } }); randomizeTheme = (skip = false) => __async(void 0, null, function* () { if (themes.length === 0) { themes = yield getJournalThemes(); } if (skip) { themes = themes.filter((t) => t.type !== skip); } const current = getCurrentJournalTheme(); if (current) { themes = themes.filter((t) => t.type !== current); } const theme = themes[Math.floor(Math.random() * themes.length)]; if (!theme || !theme.type) { return false; } updateJournalTheme(theme.type); return theme.type; }); addRandomButton = () => { const journal = document.querySelector("#journalContainer .top"); if (!journal) { return; } const button = makeElement("a", ["journalContainer-selectTheme", "mh-improved-random-journal"], "Randomize"); button.addEventListener("click", randomizeTheme); journal.append(button); }; changeJournalDaily = () => __async(void 0, null, function* () { const lastChangeValue = getSetting("journal-changer.last-change", 0); const lastChange = new Date(Number.parseInt(lastChangeValue, 10)); const now = /* @__PURE__ */ new Date(); if (!lastChange || lastChange.getDate() !== now.getDate() || lastChange.getMonth() !== now.getMonth() || lastChange.getFullYear() !== now.getFullYear()) { const lastTheme = getSetting("journal-changer.last-theme", false); const theme = yield randomizeTheme(lastTheme); saveSetting("journal-changer.last-change", now.getTime()); saveSetting("journal-changer.last-theme", theme); } }); shouldListen = true; onThemeSelectorChange = () => { if (_themeSelector) { return; } _themeSelector = hg.views.JournalThemeSelectorView.show; hg.views.JournalThemeSelectorView.show = () => __async(void 0, null, function* () { _themeSelector(); onRequest("users/journal_theme.php", (request, data) => { if ("set_theme" === data.action && shouldListen) { saveSetting("journal-changer.last-theme", data.theme); saveSetting("journal-changer.chosen-theme", data.theme); } }); }); }; init47 = () => __async(void 0, null, function* () { addStyles(styles_default52, "journal-changer"); if (getSetting("journal-changer.change-daily", false)) { changeJournalDaily(); } if (getSetting("journal-changer.change-location", true)) { changeForLocation(); onEvent("travel_complete", changeForLocation); } onNavigation(addRandomButton, { page: "camp" }); onThemeSelectorChange(); }); journal_changer_default = { id: "journal-changer", name: "Journal Theme Changer", type: "feature", default: false, description: "Randomize your journal theme, randomize it daily, or change it based on your location.", load: init47, settings: settings_default25 }; } }); // src/modules/keyboard-shortcuts/actions.js var actions_default; var init_actions = __esm({ "src/modules/keyboard-shortcuts/actions.js"() { init_utils2(); actions_default = () => { const shortcuts = [ { id: "goto-travel", key: "t", description: "Travel", action: () => setPage("Travel"), category: "navigation" }, { id: "goto-camp", key: "j", description: "Camp", action: () => setPage("Camp"), category: "navigation" }, { id: "goto-friends", key: "f", description: "Friends", action: () => setPage("Friends"), category: "navigation" }, { id: "goto-shops", key: "s", description: "Shops", action: () => setPage("Shops"), category: "navigation" }, { id: "goto-profile", key: "p", description: "Your Hunter Profile", action: () => setPage("HunterProfile"), category: "navigation" }, { id: "goto-send-supplies", description: "Send Supplies", action: () => setPage("SupplyTransfer"), category: "navigation" }, { id: "goto-scoreboards", description: "Scoreboards", action: () => setPage("Scoreboards"), category: "navigation" }, { id: "goto-team", description: "Team", action: () => setPage("Team"), category: "navigation" }, { id: "goto-tournaments", description: "Tournaments", action: () => setPage("Tournament"), category: "navigation" }, { id: "goto-wiki", description: "Wiki", action: () => setPage("Wiki"), category: "navigation" }, { id: "goto-marketplace", description: "Open the Marketplace", action: () => { var _a, _b; return ((_b = (_a = hg == null ? void 0 : hg.views) == null ? void 0 : _a.MarketplaceView) == null ? void 0 : _b.show) && hg.views.MarketplaceView.show(); }, category: "open-dialog" }, { id: "open-inbox", description: "Open the Inbox", action: () => { var _a, _b; return ((_b = (_a = messenger == null ? void 0 : messenger.UI) == null ? void 0 : _a.notification) == null ? void 0 : _b.togglePopup) && messenger.UI.notification.togglePopup(); }, category: "open-dialog" }, { id: "open-gifts", description: "Open the Gifts popup", action: () => { var _a, _b; return ((_b = (_a = hg == null ? void 0 : hg.views) == null ? void 0 : _a.GiftSelectorView) == null ? void 0 : _b.show) && hg.views.GiftSelectorView.show(); }, category: "open-dialog" }, { id: "open-map", key: "m", description: "Open your Map", action: () => { var _a, _b; return ((_b = (_a = hg == null ? void 0 : hg.controllers) == null ? void 0 : _a.TreasureMapController) == null ? void 0 : _b.show) && hg.controllers.TreasureMapController.show(); }, category: "open-dialog" }, { id: "open-map-invites", key: "i", description: "Open your Map Invites", action: () => { var _a, _b; return ((_b = (_a = hg == null ? void 0 : hg.controllers) == null ? void 0 : _a.TreasureMapController) == null ? void 0 : _b.showCommunity) && hg.controllers.TreasureMapController.showCommunity(); }, category: "open-dialog" }, { id: "open-travel-window", description: "Open the Travel Window", action: () => doEvent2("mh-improved-open-travel-window"), category: "open-dialog" }, { id: "change-weapon", key: "w", description: "Change Weapon", action: () => hg.views.TrapSelectorView().show("weapon"), category: "trap-setup" }, { id: "change-base", key: "b", description: "Change Base", action: () => hg.views.TrapSelectorView().show("base"), category: "trap-setup" }, { id: "change-charm", key: "r", description: "Change Charm", action: () => hg.views.TrapSelectorView().show("trinket"), category: "trap-setup" }, { id: "change-cheese", key: "c", description: "Change Cheese", action: () => hg.views.TrapSelectorView().show("bait"), category: "trap-setup" }, { id: "change-skin", description: "Change Trap Skin", action: () => hg.views.TrapSelectorView().show("skin"), category: "trap-setup" }, { id: "show-tem", key: "e", description: 'Show the <abbr title="Trap Effectiveness Meter">TEM</abbr>', action: () => { const tem = document.querySelector("button.campPage-trap-trapEffectiveness.campPage-trap-statsContainer"); if (tem) { tem.click(); } }, category: "trap-setup" }, { id: "disarm-cheese", description: "Disarm your Cheese", action: () => { var _a, _b, _c, _d; return ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.TrapControl) == null ? void 0 : _b.disarmBait) && ((_d = (_c = hg == null ? void 0 : hg.utils) == null ? void 0 : _c.TrapControl) == null ? void 0 : _d.go) && hg.utils.TrapControl.disarmBait() && hg.utils.TrapControl.go(); }, category: "trap-setup" }, { id: "disarm-charm", description: "Disarm your Charm", action: () => { var _a, _b, _c, _d; return ((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.TrapControl) == null ? void 0 : _b.disarmBait) && ((_d = (_c = hg == null ? void 0 : hg.utils) == null ? void 0 : _c.TrapControl) == null ? void 0 : _d.go) && hg.utils.TrapControl.disarmBait() && hg.utils.TrapControl.go(); }, category: "trap-setup" }, { id: "travel-to-previous-location", description: "Travel to previous location", action: () => doEvent2("mh-improved-goto-previous-location"), category: "misc" }, { id: "toggle-inventory-lock", description: "Toggle Inventory Lock & Hide", action: () => doEvent2("mh-improved-toggle-inventory-lock"), category: "misc" }, { id: "favorite-setups", description: "Open Favorite Setups", action: () => doEvent2("mh-improved-toggle-favorite-setups"), category: "trap-setup" } ]; if (hasMiniCRE()) { shortcuts.push({ id: "show-mini-cre", key: "l", description: "Open Mini CRE", action: () => { const minluckButton = document.querySelector(".min-luck-button"); if (minluckButton) { minluckButton.click(); } }, category: "misc" }); } return shortcuts; }; } }); // src/modules/keyboard-shortcuts/styles.css var styles_default53; var init_styles54 = __esm({ "src/modules/keyboard-shortcuts/styles.css"() { styles_default53 = ".mh-ui-keyboard-shortcuts-popup-content h2{margin-bottom:10px}.mh-ui-keyboard-shortcut{display:flex;align-items:center;justify-content:space-between;padding:5px;font-size:12px;border-bottom:1px solid #ccc}.mh-ui-keyboard-shortcut:last-child{border-bottom:none}.mh-ui-keyboard-shortcut .description{flex-grow:1;font-size:11px}.mh-ui-keyboard-shortcut kbd{width:175px;height:11px;padding:3px;font-family:monospace;font-size:12px;text-align:center;white-space:nowrap;background-color:#f9f9f9;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px #0003,0 0 0 2px #fff inset}.mh-ui-keyboard-shortcut .edit-controls{margin-right:10px}.mh-ui-keyboard-shortcut .edit-controls a{display:none}.mh-ui-keyboard-shortcut .edit-controls .edit,.mh-ui-keyboard-shortcuts-popup-content.editing .mh-ui-keyboard-shortcut.editing .edit-controls a,.mh-ui-keyboard-shortcut:focus .edit-controls .reset,.mh-ui-keyboard-shortcut:active .edit-controls .reset,.mh-ui-keyboard-shortcut:focus .edit-controls .edit,.mh-ui-keyboard-shortcut:active .edit-controls .edit,.mh-ui-keyboard-shortcut:focus .edit-controls .clear,.mh-ui-keyboard-shortcut:active .edit-controls .clear,.mh-ui-keyboard-shortcut.editing .edit-controls .edit{display:inline-block;margin-left:10px}.mh-ui-keyboard-shortcuts-popup-content.editing .mh-ui-keyboard-shortcut .edit-controls a{display:none}.mh-ui-keyboard-shortcut.saved kbd{background-color:#baf3ba;box-shadow:0 1px #0003,0 0 0 2px #daffda inset}.mh-ui-keyboard-shortcut.error kbd{background-color:#fda0a0;box-shadow:0 1px #0003,0 0 0 2px #ff8e8e inset}.mh-ui-keyboard-shortcut.editing kbd{background-color:#cce8ff;box-shadow:0 1px #0003,0 0 0 2px #acd9ff inset}.mh-ui-keyboard-shortcut.editing .description{color:#3b5998}.mh-ui-keyboard-shortcut.editing{background-color:#eff8ff}.mh-ui-keyboard-shortcuts-popup-content-category summary{padding:10px;font-size:14px;background-color:#eee}.mh-ui-keyboard-shortcuts-popup-content-category{margin:10px 0;border:1px solid #929292}.mh-ui-keyboard-shortcut:nth-child(2n){background-color:#eee}.mh-ui-keyboard-shortcuts-popup-content-category-list{border-top:1px solid #929292}\n"; } }); // src/modules/keyboard-shortcuts/index.js var getBaseShortcuts, getShortcuts, saveShortcut, getKeyForDisplay, isHelpPopupOpen, showHelpPopup, isEditing2, listenForKeypresses, openFromSettings, init48, keyboard_shortcuts_default; var init_keyboard_shortcuts = __esm({ "src/modules/keyboard-shortcuts/index.js"() { init_utils2(); init_actions(); init_styles54(); getBaseShortcuts = () => { return [ { id: "help", key: "?", shiftKey: true, description: "Help", action: showHelpPopup, category: "hidden" }, { id: "close-popup", key: "Escape", description: "Close the current popup", action: () => { if (activejsDialog && activejsDialog.hide) { activejsDialog.hide(); } }, category: "hidden" }, ...actions_default() ]; }; getShortcuts = () => { const shortcuts = getBaseShortcuts(); const saved = getSetting("keyboard-shortcuts.shortcuts", []); if (!saved || !saved.length) { return shortcuts; } saved.forEach((savedShortcut) => { const shortcut = shortcuts.find((s) => s.id === savedShortcut.id); if (!shortcut) { return; } shortcut.key = savedShortcut.key; shortcut.ctrlKey = savedShortcut.ctrlKey; shortcut.metaKey = savedShortcut.metaKey; shortcut.altKey = savedShortcut.altKey; shortcut.shiftKey = savedShortcut.shiftKey; }); return shortcuts; }; saveShortcut = (shortcutId, shortcutKey) => { let saved = getSetting("keyboard-shortcuts.shortcuts", []); if (!saved || !saved.length) { saved = []; } const toSave = { id: shortcutId, key: shortcutKey.key, ctrlKey: shortcutKey.ctrlKey, metaKey: shortcutKey.metaKey, altKey: shortcutKey.altKey, shiftKey: shortcutKey.shiftKey }; const existingShortcut = saved.find((s) => s.id === shortcutId); if (existingShortcut) { saved = saved.filter((s) => s.id !== shortcutId); } if (toSave.key !== "Backspace" && toSave.key !== "Delete" && toSave.key !== " ") { saved.push(toSave); } saveSetting("keyboard-shortcuts.shortcuts", saved); const savedElement = document.querySelector(`.mh-ui-keyboard-shortcut[data-shortcut-id="${shortcutId}"]`); if (savedElement) { savedElement.classList.add("saved"); setTimeout(() => { savedElement.classList.remove("saved"); }, 300); } }; getKeyForDisplay = (keyEvent) => { let keyString = ""; const keysToShow = []; if (keyEvent.metaKey) { keysToShow.push(isAppleOS() ? "\u2318" : "\u229E"); } if (keyEvent.ctrlKey) { keysToShow.push(isAppleOS() ? "\u2303" : "Ctrl"); } if (keyEvent.altKey) { keysToShow.push(isAppleOS() ? "\u2325" : "Alt"); } if (keyEvent.shiftKey) { keysToShow.push("Shift"); } switch (keyEvent.key) { case " ": keysToShow.push("Space"); break; case "ArrowUp": keysToShow.push("\u2191"); break; case "ArrowDown": keysToShow.push("\u2193"); break; case "ArrowLeft": keysToShow.push("\u2190"); break; case "ArrowRight": keysToShow.push("\u2192"); break; case "Backspace": keysToShow.push(""); break; default: if (keyEvent.key && keyEvent.key.length === 1) { keysToShow.push(keyEvent.key.toUpperCase()); } else { keysToShow.push(keyEvent.key); } break; } keyString = keysToShow.join('<span class="connector"> + </span>'); return keyString; }; isHelpPopupOpen = () => { const overlay = getCurrentDialog(); if (!overlay) { return false; } return "mh-ui-keyboard-shortcuts-popup" === overlay; }; showHelpPopup = () => { if (activejsDialog && activejsDialog.hide) { if (isHelpPopupOpen()) { activejsDialog.hide(); return; } activejsDialog.hide(); } const shortcuts = getShortcuts(); let innerContent = ""; const categories2 = [ { id: "navigation", name: "Page Navigation", startOpen: true }, { id: "open-dialog", name: "Open Dialogs/Popups", startOpen: true }, { id: "trap-setup", name: "Modify Trap Setup", startOpen: false }, { id: "misc", name: "Miscellaneous", startOpen: false } ]; categories2.forEach((category) => { innerContent += `<details class="mh-ui-keyboard-shortcuts-popup-content-category" ${category.startOpen ? "open" : ""}> <summary>${category.name}</summary> <div class="mh-ui-keyboard-shortcuts-popup-content-category-description"> ${category.description || ""} </div> <div class="mh-ui-keyboard-shortcuts-popup-content-category-list">`; const categoryShortcuts = shortcuts.filter((s) => s.category === category.id); categoryShortcuts.sort((a, b) => { if (a.description < b.description) { return -1; } if (a.description > b.description) { return 1; } return 0; }); categoryShortcuts.forEach((shortcut) => { if ("hidden" === shortcut.category) { return; } innerContent += `<div class="mh-ui-keyboard-shortcut" data-shortcut-id="${shortcut.id}"> <div class="description">${shortcut.description}</div> <div class="edit-controls"> <a class="clear">Clear</a> <a class="reset">Reset</a> <a class="edit">Edit</a> </div> <kbd>${getKeyForDisplay(shortcut)}</kbd> </div>`; }); innerContent += "</div></details>"; }); const content = `<div class="mh-ui-keyboard-shortcuts-popup-content"> <h2 class="mh-ui-keyboard-shortcuts-edit-content"> To edit a shortcut, click on <em>Edit</em> on the shortcut, then press the key combination you want to use. </h2> <div class="mh-ui-keyboard-shortcuts-popup-content-list"> ${innerContent} </div> </div>`; createPopup({ title: "MouseHunt Improved Keyboard Shortcuts", content, hasCloseButton: true, show: true, className: "mh-ui-keyboard-shortcuts-popup" }); const shortcutsWrapper = document.querySelector(".mh-ui-keyboard-shortcuts-popup-content"); const shortcutButtons = document.querySelectorAll(".mh-ui-keyboard-shortcuts-popup-content-list .mh-ui-keyboard-shortcut"); shortcutButtons.forEach((shortcut) => { const shortcutId = shortcut.getAttribute("data-shortcut-id"); const editButton = shortcut.querySelector(".edit"); const resetButton = shortcut.querySelector(".reset"); const clearButton = shortcut.querySelector(".clear"); const kbd = shortcut.querySelector("kbd"); const startEditing = () => { isEditing2 = true; editButton.innerText = "Cancel"; shortcut.classList.add("editing"); shortcutsWrapper.classList.add("editing"); document.addEventListener("keydown", keypressListener); }; const finishEditing = (id = false, key = false) => { isEditing2 = false; editButton.innerText = "Edit"; shortcut.classList.remove("editing"); shortcutsWrapper.classList.remove("editing"); document.removeEventListener("keydown", keypressListener); if (!id || !key) { return; } saveShortcut(id, key); kbd.innerHTML = getKeyForDisplay(key); }; const keypressListener = (event) => { if (["Alt", "Shift", "Control", "Meta"].includes(event.key)) { return; } const theShortcut = getShortcuts().find((s) => { return s.key === event.key && event.ctrlKey === (s.ctrlKey || false) && event.metaKey === (s.metaKey || false) && event.altKey === (s.altKey || false) && event.shiftKey === (s.shiftKey || false); }); if (theShortcut) { const matchingShortcut = document.querySelector(`.mh-ui-keyboard-shortcut[data-shortcut-id="${theShortcut.id}"]`); if (!matchingShortcut) { return; } if (shortcutId === theShortcut.id) { finishEditing(shortcutId, event); return; } matchingShortcut.classList.add("error"); shortcut.classList.add("error"); setTimeout(() => { matchingShortcut.classList.remove("error"); shortcut.classList.remove("error"); }, 300); return; } finishEditing(shortcutId, event); }; editButton.addEventListener("click", () => { if (isEditing2) { finishEditing(); } else { startEditing(); } }); resetButton.addEventListener("click", () => { const defaultShortcut = getBaseShortcuts().find((s) => s.id === shortcutId); if (!defaultShortcut) { return; } finishEditing(shortcutId, defaultShortcut); }); clearButton.addEventListener("click", () => { finishEditing(shortcutId, { key: "", ctrlKey: false, metaKey: false, altKey: false, shiftKey: false }); }); }); }; isEditing2 = false; listenForKeypresses = () => { document.addEventListener("keydown", (event) => { var _a, _b; if (isHelpPopupOpen() || isEditing2 || user.has_puzzle) { return; } const tagName = (_b = (_a = event == null ? void 0 : event.target) == null ? void 0 : _a.tagName) == null ? void 0 : _b.toLowerCase(); if ("input" === tagName || "textarea" === tagName || "select" === tagName) { return; } const shortcuts = getShortcuts(); const shortcut = shortcuts.find((s) => { s.ctrlKey = s.ctrlKey || false; s.metaKey = s.metaKey || false; s.altKey = s.altKey || false; s.shiftKey = s.shiftKey || false; return s.key === event.key && s.ctrlKey === event.ctrlKey && s.metaKey === event.metaKey && s.altKey === event.altKey && s.shiftKey === event.shiftKey; }); if (shortcut && shortcut.action) { event.preventDefault(); event.stopPropagation(); shortcut.action(); } }); }; openFromSettings = () => { if ("preferences" !== getCurrentPage()) { return; } const openLink = document.querySelector(".mh-ui-keyboard-shortcuts-edit"); if (!openLink) { return; } openLink.addEventListener("click", (event) => { event.preventDefault(); showHelpPopup(); }); }; init48 = () => __async(void 0, null, function* () { addStyles(styles_default53, "keyboard-shortcuts"); listenForKeypresses(); onNavigation(hasMiniCRE, { page: "camp" }); onNavigation(openFromSettings, { page: "preferences", tab: "mousehunt-improved-settings" }); }); keyboard_shortcuts_default = { id: "keyboard-shortcuts", name: "Keyboard Shortcuts", type: "feature", default: true, description: `Press '?' to see and edit the keyboard shortcuts. You can also <a href="#" class="mh-ui-keyboard-shortcuts-edit">edit them here</a>.`, load: init48 }; } }); // src/modules/larger-codices/styles.css var styles_default54; var init_styles55 = __esm({ "src/modules/larger-codices/styles.css"() { styles_default54 = ".campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-leftBar,.campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-content{display:block;width:auto}.campPage-trap-itemBrowser-item.codex{position:relative;display:flex;flex-direction:column;align-items:center}.campPage-trap-itemBrowser-item.codex a.campPage-trap-itemBrowser-item-image{width:125px;height:125px}.campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-description{position:absolute;inset:-10px 0 0;padding:15px;overflow-y:scroll;background-color:#fffc;opacity:0;transition:.5s}.campPage-trap-itemBrowser-item.codex:hover .campPage-trap-itemBrowser-item-description{opacity:1}.mh-dark-mode .campPage-trap-itemBrowser-item.codex .campPage-trap-itemBrowser-item-description{background-color:#000c}.codex .campPage-trap-itemBrowser-item-image:after{border:none;box-shadow:none}\n"; } }); // src/modules/larger-codices/index.js var init49, larger_codices_default; var init_larger_codices = __esm({ "src/modules/larger-codices/index.js"() { init_utils2(); init_styles55(); init49 = () => { addStyles(styles_default54, "larger-codices"); }; larger_codices_default = { id: "larger-codices", name: "Larger Codices", type: "feature", default: true, description: "Shows larger images for codices in the trap selector.", load: init49 }; } }); // src/modules/larger-skin-images/styles.css var styles_default55; var init_styles56 = __esm({ "src/modules/larger-skin-images/styles.css"() { styles_default55 = ".skin .campPage-trap-itemBrowser-items{top:50px}.skin .campPage-trap-itemBrowser-item-description.shortDescription,.skin .campPage-trap-itemBrowser-item-image{display:none}.skin .campPage-trap-itemBrowser-item-content .campPage-trap-itemBrowser-item-name{margin-top:11px}.trapSelectorView__itemBrowserContainer.skin .campPage-trap-itemBrowser-tagGroup-name{display:none}.trapSelectorView__itemBrowserContainer.skin .campPage-trap-itemBrowser-items{right:5px;left:5px}\n"; } }); // src/modules/larger-skin-images/index.js var skinImages, isAdding2, addSkinImages, triggerFromClick, init50, larger_skin_images_default; var init_larger_skin_images = __esm({ "src/modules/larger-skin-images/index.js"() { init_utils2(); init_styles56(); skinImages = {}; isAdding2 = false; addSkinImages = (panel, force = false) => __async(void 0, null, function* () { if ("item_browser" !== panel) { return; } if (isAdding2) { return; } isAdding2 = true; const blueprint = document.querySelector(".trapSelectorView__blueprint--active .trapSelectorView__browserStateParent"); if (!blueprint) { isAdding2 = false; return; } if (!force) { const type = blueprint.getAttribute("data-blueprint-type"); if (!type || type !== "skin") { isAdding2 = false; return; } } const items2 = document.querySelectorAll(".campPage-trap-itemBrowser-item.skin"); if (!items2) { isAdding2 = false; return; } for (const item of items2) { const id = item.getAttribute("data-item-id"); if (!id) { return; } let skin; if (skinImages[id]) { skin = skinImages[id]; } else { const cachedData = yield dbGet("cache", `skin-image-${id}`); if (cachedData && cachedData.data && cachedData.data.skin) { skin = cachedData.data.skin; } else { const itemData = yield fetch(`https://api.mouse.rip/item/${id}`).then((res) => res.json()); if (!(itemData && itemData.images.trap)) { return; } skin = itemData.images.trap; dbSet("cache", { id: `skin-image-${id}`, skin }); } skinImages[id] = skin; } const imageWrapper = makeElement("div", "itembrowser-skin-image-wrapper"); const imageEl = makeElement("img", "itembrowser-skin-image"); imageEl.setAttribute("src", skin); imageEl.setAttribute("data-item-classification", "skin"); imageEl.setAttribute("data-item-id", id); imageWrapper.append(imageEl); const existingImage = item.querySelector(".itembrowser-skin-image-wrapper"); if (!existingImage) { item.insertBefore(imageWrapper, item.firstChild); } } const searchInput = document.querySelector(".campPage-trap-itemBrowser-filter input"); if (searchInput) { searchInput.addEventListener("keyup", debounce(() => { addSkinImages("item_browser", true); }, 300)); } isAdding2 = false; }); triggerFromClick = () => { const button = document.querySelector(".trapSelectorView__armedItem[data-item-classification=skin]"); if (button) { button.addEventListener("click", () => { addSkinImages("item_browser", true); }); } }; init50 = () => { addStyles(styles_default55, "larger-skin-images"); onEvent("camp_page_toggle_blueprint", addSkinImages); onRequest("users/gettrapcomponents.php", (data) => { var _a; if ((data == null ? void 0 : data.components) && "skin" === ((_a = data == null ? void 0 : data.components[0]) == null ? void 0 : _a.classification)) { setTimeout(() => { addSkinImages("item_browser"); }, 250); } }); onNavigation(triggerFromClick, { page: "camp" }); }; larger_skin_images_default = { id: "larger-skin-images", name: "Larger Skin Images", type: "feature", default: true, description: "Shows larger images for skins in the trap selector.", load: init50 }; } }); // node_modules/humanize-duration/humanize-duration.js var require_humanize_duration = __commonJS({ "node_modules/humanize-duration/humanize-duration.js"(exports, module) { (function() { var assign = Object.assign || /** @param {...any} destination */ function(destination) { var source; for (var i = 1; i < arguments.length; i++) { source = arguments[i]; for (var prop in source) { if (has(source, prop)) { destination[prop] = source[prop]; } } } return destination; }; var isArray = Array.isArray || function(arg) { return Object.prototype.toString.call(arg) === "[object Array]"; }; var GREEK = language( function(c) { return c === 1 ? "\u03C7\u03C1\u03CC\u03BD\u03BF\u03C2" : "\u03C7\u03C1\u03CC\u03BD\u03B9\u03B1"; }, function(c) { return c === 1 ? "\u03BC\u03AE\u03BD\u03B1\u03C2" : "\u03BC\u03AE\u03BD\u03B5\u03C2"; }, function(c) { return c === 1 ? "\u03B5\u03B2\u03B4\u03BF\u03BC\u03AC\u03B4\u03B1" : "\u03B5\u03B2\u03B4\u03BF\u03BC\u03AC\u03B4\u03B5\u03C2"; }, function(c) { return c === 1 ? "\u03BC\u03AD\u03C1\u03B1" : "\u03BC\u03AD\u03C1\u03B5\u03C2"; }, function(c) { return c === 1 ? "\u03CE\u03C1\u03B1" : "\u03CE\u03C1\u03B5\u03C2"; }, function(c) { return c === 1 ? "\u03BB\u03B5\u03C0\u03C4\u03CC" : "\u03BB\u03B5\u03C0\u03C4\u03AC"; }, function(c) { return c === 1 ? "\u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03CC\u03BB\u03B5\u03C0\u03C4\u03BF" : "\u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03CC\u03BB\u03B5\u03C0\u03C4\u03B1"; }, function(c) { return (c === 1 ? "\u03C7\u03B9\u03BB\u03B9\u03BF\u03C3\u03C4\u03CC" : "\u03C7\u03B9\u03BB\u03B9\u03BF\u03C3\u03C4\u03AC") + " \u03C4\u03BF\u03C5 \u03B4\u03B5\u03C5\u03C4\u03B5\u03C1\u03BF\u03BB\u03AD\u03C0\u03C4\u03BF\u03C5"; }, "," ); var LANGUAGES = { af: language( "jaar", function(c) { return "maand" + (c === 1 ? "" : "e"); }, function(c) { return c === 1 ? "week" : "weke"; }, function(c) { return c === 1 ? "dag" : "dae"; }, function(c) { return c === 1 ? "uur" : "ure"; }, function(c) { return c === 1 ? "minuut" : "minute"; }, function(c) { return "sekonde" + (c === 1 ? "" : "s"); }, function(c) { return "millisekonde" + (c === 1 ? "" : "s"); }, "," ), am: language("\u12D3\u1218\u1275", "\u12C8\u122D", "\u1233\u121D\u1295\u1275", "\u1240\u1295", "\u1230\u12D3\u1275", "\u12F0\u1242\u1243", "\u1230\u12A8\u1295\u12F5", "\u121A\u120A\u1230\u12A8\u1295\u12F5"), ar: assign( language( function(c) { return ["\u0633\u0646\u0629", "\u0633\u0646\u062A\u0627\u0646", "\u0633\u0646\u0648\u0627\u062A"][getArabicForm(c)]; }, function(c) { return ["\u0634\u0647\u0631", "\u0634\u0647\u0631\u0627\u0646", "\u0623\u0634\u0647\u0631"][getArabicForm(c)]; }, function(c) { return ["\u0623\u0633\u0628\u0648\u0639", "\u0623\u0633\u0628\u0648\u0639\u064A\u0646", "\u0623\u0633\u0627\u0628\u064A\u0639"][getArabicForm(c)]; }, function(c) { return ["\u064A\u0648\u0645", "\u064A\u0648\u0645\u064A\u0646", "\u0623\u064A\u0627\u0645"][getArabicForm(c)]; }, function(c) { return ["\u0633\u0627\u0639\u0629", "\u0633\u0627\u0639\u062A\u064A\u0646", "\u0633\u0627\u0639\u0627\u062A"][getArabicForm(c)]; }, function(c) { return ["\u062F\u0642\u064A\u0642\u0629", "\u062F\u0642\u064A\u0642\u062A\u0627\u0646", "\u062F\u0642\u0627\u0626\u0642"][getArabicForm(c)]; }, function(c) { return ["\u062B\u0627\u0646\u064A\u0629", "\u062B\u0627\u0646\u064A\u062A\u0627\u0646", "\u062B\u0648\u0627\u0646\u064A"][getArabicForm(c)]; }, function(c) { return ["\u062C\u0632\u0621 \u0645\u0646 \u0627\u0644\u062B\u0627\u0646\u064A\u0629", "\u062C\u0632\u0622\u0646 \u0645\u0646 \u0627\u0644\u062B\u0627\u0646\u064A\u0629", "\u0623\u062C\u0632\u0627\u0621 \u0645\u0646 \u0627\u0644\u062B\u0627\u0646\u064A\u0629"][getArabicForm(c)]; }, "," ), { delimiter: " \uFEED ", _digitReplacements: ["\u06F0", "\u0661", "\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667", "\u0668", "\u0669"] } ), bg: language( function(c) { return ["\u0433\u043E\u0434\u0438\u043D\u0438", "\u0433\u043E\u0434\u0438\u043D\u0430", "\u0433\u043E\u0434\u0438\u043D\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0435\u0441\u0435\u0446\u0430", "\u043C\u0435\u0441\u0435\u0446", "\u043C\u0435\u0441\u0435\u0446\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u0441\u0435\u0434\u043C\u0438\u0446\u0438", "\u0441\u0435\u0434\u043C\u0438\u0446\u0430", "\u0441\u0435\u0434\u043C\u0438\u0446\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u0434\u043D\u0438", "\u0434\u0435\u043D", "\u0434\u043D\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u0447\u0430\u0441\u0430", "\u0447\u0430\u0441", "\u0447\u0430\u0441\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0438\u043D\u0443\u0442\u0438", "\u043C\u0438\u043D\u0443\u0442\u0430", "\u043C\u0438\u043D\u0443\u0442\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)]; }, "," ), bn: language( "\u09AC\u099B\u09B0", "\u09AE\u09BE\u09B8", "\u09B8\u09AA\u09CD\u09A4\u09BE\u09B9", "\u09A6\u09BF\u09A8", "\u0998\u09A8\u09CD\u099F\u09BE", "\u09AE\u09BF\u09A8\u09BF\u099F", "\u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1", "\u09AE\u09BF\u09B2\u09BF\u09B8\u09C7\u0995\u09C7\u09A8\u09CD\u09A1" ), ca: language( function(c) { return "any" + (c === 1 ? "" : "s"); }, function(c) { return "mes" + (c === 1 ? "" : "os"); }, function(c) { return "setman" + (c === 1 ? "a" : "es"); }, function(c) { return "di" + (c === 1 ? "a" : "es"); }, function(c) { return "hor" + (c === 1 ? "a" : "es"); }, function(c) { return "minut" + (c === 1 ? "" : "s"); }, function(c) { return "segon" + (c === 1 ? "" : "s"); }, function(c) { return "milisegon" + (c === 1 ? "" : "s"); }, "," ), ckb: language( "\u0633\u0627\u06B5", "\u0645\u0627\u0646\u06AF", "\u0647\u06D5\u0641\u062A\u06D5", "\u0695\u06C6\u0698", "\u06A9\u0627\u0698\u06CE\u0631", "\u062E\u0648\u0644\u06D5\u06A9", "\u0686\u0631\u06A9\u06D5", "\u0645\u06CC\u0644\u06CC \u0686\u0631\u06A9\u06D5", "." ), cs: language( function(c) { return ["rok", "roku", "roky", "let"][getCzechOrSlovakForm(c)]; }, function(c) { return ["m\u011Bs\xEDc", "m\u011Bs\xEDce", "m\u011Bs\xEDce", "m\u011Bs\xEDc\u016F"][getCzechOrSlovakForm(c)]; }, function(c) { return ["t\xFDden", "t\xFDdne", "t\xFDdny", "t\xFDdn\u016F"][getCzechOrSlovakForm(c)]; }, function(c) { return ["den", "dne", "dny", "dn\xED"][getCzechOrSlovakForm(c)]; }, function(c) { return ["hodina", "hodiny", "hodiny", "hodin"][getCzechOrSlovakForm(c)]; }, function(c) { return ["minuta", "minuty", "minuty", "minut"][getCzechOrSlovakForm(c)]; }, function(c) { return ["sekunda", "sekundy", "sekundy", "sekund"][getCzechOrSlovakForm(c)]; }, function(c) { return ["milisekunda", "milisekundy", "milisekundy", "milisekund"][getCzechOrSlovakForm(c)]; }, "," ), cy: language( "flwyddyn", "mis", "wythnos", "diwrnod", "awr", "munud", "eiliad", "milieiliad" ), da: language( "\xE5r", function(c) { return "m\xE5ned" + (c === 1 ? "" : "er"); }, function(c) { return "uge" + (c === 1 ? "" : "r"); }, function(c) { return "dag" + (c === 1 ? "" : "e"); }, function(c) { return "time" + (c === 1 ? "" : "r"); }, function(c) { return "minut" + (c === 1 ? "" : "ter"); }, function(c) { return "sekund" + (c === 1 ? "" : "er"); }, function(c) { return "millisekund" + (c === 1 ? "" : "er"); }, "," ), de: language( function(c) { return "Jahr" + (c === 1 ? "" : "e"); }, function(c) { return "Monat" + (c === 1 ? "" : "e"); }, function(c) { return "Woche" + (c === 1 ? "" : "n"); }, function(c) { return "Tag" + (c === 1 ? "" : "e"); }, function(c) { return "Stunde" + (c === 1 ? "" : "n"); }, function(c) { return "Minute" + (c === 1 ? "" : "n"); }, function(c) { return "Sekunde" + (c === 1 ? "" : "n"); }, function(c) { return "Millisekunde" + (c === 1 ? "" : "n"); }, "," ), el: GREEK, en: language( function(c) { return "year" + (c === 1 ? "" : "s"); }, function(c) { return "month" + (c === 1 ? "" : "s"); }, function(c) { return "week" + (c === 1 ? "" : "s"); }, function(c) { return "day" + (c === 1 ? "" : "s"); }, function(c) { return "hour" + (c === 1 ? "" : "s"); }, function(c) { return "minute" + (c === 1 ? "" : "s"); }, function(c) { return "second" + (c === 1 ? "" : "s"); }, function(c) { return "millisecond" + (c === 1 ? "" : "s"); } ), eo: language( function(c) { return "jaro" + (c === 1 ? "" : "j"); }, function(c) { return "monato" + (c === 1 ? "" : "j"); }, function(c) { return "semajno" + (c === 1 ? "" : "j"); }, function(c) { return "tago" + (c === 1 ? "" : "j"); }, function(c) { return "horo" + (c === 1 ? "" : "j"); }, function(c) { return "minuto" + (c === 1 ? "" : "j"); }, function(c) { return "sekundo" + (c === 1 ? "" : "j"); }, function(c) { return "milisekundo" + (c === 1 ? "" : "j"); }, "," ), es: language( function(c) { return "a\xF1o" + (c === 1 ? "" : "s"); }, function(c) { return "mes" + (c === 1 ? "" : "es"); }, function(c) { return "semana" + (c === 1 ? "" : "s"); }, function(c) { return "d\xEDa" + (c === 1 ? "" : "s"); }, function(c) { return "hora" + (c === 1 ? "" : "s"); }, function(c) { return "minuto" + (c === 1 ? "" : "s"); }, function(c) { return "segundo" + (c === 1 ? "" : "s"); }, function(c) { return "milisegundo" + (c === 1 ? "" : "s"); }, "," ), et: language( function(c) { return "aasta" + (c === 1 ? "" : "t"); }, function(c) { return "kuu" + (c === 1 ? "" : "d"); }, function(c) { return "n\xE4dal" + (c === 1 ? "" : "at"); }, function(c) { return "p\xE4ev" + (c === 1 ? "" : "a"); }, function(c) { return "tund" + (c === 1 ? "" : "i"); }, function(c) { return "minut" + (c === 1 ? "" : "it"); }, function(c) { return "sekund" + (c === 1 ? "" : "it"); }, function(c) { return "millisekund" + (c === 1 ? "" : "it"); }, "," ), eu: language( "urte", "hilabete", "aste", "egun", "ordu", "minutu", "segundo", "milisegundo", "," ), fa: language( "\u0633\u0627\u0644", "\u0645\u0627\u0647", "\u0647\u0641\u062A\u0647", "\u0631\u0648\u0632", "\u0633\u0627\u0639\u062A", "\u062F\u0642\u06CC\u0642\u0647", "\u062B\u0627\u0646\u06CC\u0647", "\u0645\u06CC\u0644\u06CC \u062B\u0627\u0646\u06CC\u0647" ), fi: language( function(c) { return c === 1 ? "vuosi" : "vuotta"; }, function(c) { return c === 1 ? "kuukausi" : "kuukautta"; }, function(c) { return "viikko" + (c === 1 ? "" : "a"); }, function(c) { return "p\xE4iv\xE4" + (c === 1 ? "" : "\xE4"); }, function(c) { return "tunti" + (c === 1 ? "" : "a"); }, function(c) { return "minuutti" + (c === 1 ? "" : "a"); }, function(c) { return "sekunti" + (c === 1 ? "" : "a"); }, function(c) { return "millisekunti" + (c === 1 ? "" : "a"); }, "," ), fo: language( "\xE1r", function(c) { return c === 1 ? "m\xE1na\xF0ur" : "m\xE1na\xF0ir"; }, function(c) { return c === 1 ? "vika" : "vikur"; }, function(c) { return c === 1 ? "dagur" : "dagar"; }, function(c) { return c === 1 ? "t\xEDmi" : "t\xEDmar"; }, function(c) { return c === 1 ? "minuttur" : "minuttir"; }, "sekund", "millisekund", "," ), fr: language( function(c) { return "an" + (c >= 2 ? "s" : ""); }, "mois", function(c) { return "semaine" + (c >= 2 ? "s" : ""); }, function(c) { return "jour" + (c >= 2 ? "s" : ""); }, function(c) { return "heure" + (c >= 2 ? "s" : ""); }, function(c) { return "minute" + (c >= 2 ? "s" : ""); }, function(c) { return "seconde" + (c >= 2 ? "s" : ""); }, function(c) { return "milliseconde" + (c >= 2 ? "s" : ""); }, "," ), gr: GREEK, he: language( function(c) { return c === 1 ? "\u05E9\u05E0\u05D4" : "\u05E9\u05E0\u05D9\u05DD"; }, function(c) { return c === 1 ? "\u05D7\u05D5\u05D3\u05E9" : "\u05D7\u05D5\u05D3\u05E9\u05D9\u05DD"; }, function(c) { return c === 1 ? "\u05E9\u05D1\u05D5\u05E2" : "\u05E9\u05D1\u05D5\u05E2\u05D5\u05EA"; }, function(c) { return c === 1 ? "\u05D9\u05D5\u05DD" : "\u05D9\u05DE\u05D9\u05DD"; }, function(c) { return c === 1 ? "\u05E9\u05E2\u05D4" : "\u05E9\u05E2\u05D5\u05EA"; }, function(c) { return c === 1 ? "\u05D3\u05E7\u05D4" : "\u05D3\u05E7\u05D5\u05EA"; }, function(c) { return c === 1 ? "\u05E9\u05E0\u05D9\u05D4" : "\u05E9\u05E0\u05D9\u05D5\u05EA"; }, function(c) { return c === 1 ? "\u05DE\u05D9\u05DC\u05D9\u05E9\u05E0\u05D9\u05D9\u05D4" : "\u05DE\u05D9\u05DC\u05D9\u05E9\u05E0\u05D9\u05D5\u05EA"; } ), hr: language( function(c) { if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) { return "godine"; } return "godina"; }, function(c) { if (c === 1) { return "mjesec"; } else if (c === 2 || c === 3 || c === 4) { return "mjeseca"; } return "mjeseci"; }, function(c) { if (c % 10 === 1 && c !== 11) { return "tjedan"; } return "tjedna"; }, function(c) { return c === 1 ? "dan" : "dana"; }, function(c) { if (c === 1) { return "sat"; } else if (c === 2 || c === 3 || c === 4) { return "sata"; } return "sati"; }, function(c) { var mod10 = c % 10; if ((mod10 === 2 || mod10 === 3 || mod10 === 4) && (c < 10 || c > 14)) { return "minute"; } return "minuta"; }, function(c) { var mod10 = c % 10; if (mod10 === 5 || Math.floor(c) === c && c >= 10 && c <= 19) { return "sekundi"; } else if (mod10 === 1) { return "sekunda"; } else if (mod10 === 2 || mod10 === 3 || mod10 === 4) { return "sekunde"; } return "sekundi"; }, function(c) { if (c === 1) { return "milisekunda"; } else if (c % 10 === 2 || c % 10 === 3 || c % 10 === 4) { return "milisekunde"; } return "milisekundi"; }, "," ), hi: language( "\u0938\u093E\u0932", function(c) { return c === 1 ? "\u092E\u0939\u0940\u0928\u093E" : "\u092E\u0939\u0940\u0928\u0947"; }, function(c) { return c === 1 ? "\u0939\u095E\u094D\u0924\u093E" : "\u0939\u092B\u094D\u0924\u0947"; }, "\u0926\u093F\u0928", function(c) { return c === 1 ? "\u0918\u0902\u091F\u093E" : "\u0918\u0902\u091F\u0947"; }, "\u092E\u093F\u0928\u091F", "\u0938\u0947\u0915\u0902\u0921", "\u092E\u093F\u0932\u0940\u0938\u0947\u0915\u0902\u0921" ), hu: language( "\xE9v", "h\xF3nap", "h\xE9t", "nap", "\xF3ra", "perc", "m\xE1sodperc", "ezredm\xE1sodperc", "," ), id: language( "tahun", "bulan", "minggu", "hari", "jam", "menit", "detik", "milidetik" ), is: language( "\xE1r", function(c) { return "m\xE1nu\xF0" + (c === 1 ? "ur" : "ir"); }, function(c) { return "vik" + (c === 1 ? "a" : "ur"); }, function(c) { return "dag" + (c === 1 ? "ur" : "ar"); }, function(c) { return "klukkut\xEDm" + (c === 1 ? "i" : "ar"); }, function(c) { return "m\xEDn\xFAt" + (c === 1 ? "a" : "ur"); }, function(c) { return "sek\xFAnd" + (c === 1 ? "a" : "ur"); }, function(c) { return "millisek\xFAnd" + (c === 1 ? "a" : "ur"); } ), it: language( function(c) { return "ann" + (c === 1 ? "o" : "i"); }, function(c) { return "mes" + (c === 1 ? "e" : "i"); }, function(c) { return "settiman" + (c === 1 ? "a" : "e"); }, function(c) { return "giorn" + (c === 1 ? "o" : "i"); }, function(c) { return "or" + (c === 1 ? "a" : "e"); }, function(c) { return "minut" + (c === 1 ? "o" : "i"); }, function(c) { return "second" + (c === 1 ? "o" : "i"); }, function(c) { return "millisecond" + (c === 1 ? "o" : "i"); }, "," ), ja: language("\u5E74", "\u30F6\u6708", "\u9031", "\u65E5", "\u6642\u9593", "\u5206", "\u79D2", "\u30DF\u30EA\u79D2"), km: language( "\u1786\u17D2\u1793\u17B6\u17C6", "\u1781\u17C2", "\u179F\u1794\u17D2\u178F\u17B6\u17A0\u17CD", "\u1790\u17D2\u1784\u17C3", "\u1798\u17C9\u17C4\u1784", "\u1793\u17B6\u1791\u17B8", "\u179C\u17B7\u1793\u17B6\u1791\u17B8", "\u1798\u17B7\u179B\u17D2\u179B\u17B8\u179C\u17B7\u1793\u17B6\u1791\u17B8" ), kn: language( function(c) { return c === 1 ? "\u0CB5\u0CB0\u0CCD\u0CB7" : "\u0CB5\u0CB0\u0CCD\u0CB7\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0CA4\u0CBF\u0C82\u0C97\u0CB3\u0CC1" : "\u0CA4\u0CBF\u0C82\u0C97\u0CB3\u0CC1\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0CB5\u0CBE\u0CB0" : "\u0CB5\u0CBE\u0CB0\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0CA6\u0CBF\u0CA8" : "\u0CA6\u0CBF\u0CA8\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0C97\u0C82\u0C9F\u0CC6" : "\u0C97\u0C82\u0C9F\u0CC6\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0CA8\u0CBF\u0CAE\u0CBF\u0CB7" : "\u0CA8\u0CBF\u0CAE\u0CBF\u0CB7\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CCD" : "\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CC1\u0C97\u0CB3\u0CC1"; }, function(c) { return c === 1 ? "\u0CAE\u0CBF\u0CB2\u0CBF\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CCD" : "\u0CAE\u0CBF\u0CB2\u0CBF\u0CB8\u0CC6\u0C95\u0CC6\u0C82\u0CA1\u0CC1\u0C97\u0CB3\u0CC1"; } ), ko: language("\uB144", "\uAC1C\uC6D4", "\uC8FC\uC77C", "\uC77C", "\uC2DC\uAC04", "\uBD84", "\uCD08", "\uBC00\uB9AC \uCD08"), ku: language( "sal", "meh", "hefte", "roj", "seet", "deqe", "saniye", "m\xEEl\xEE\xE7irk", "," ), lo: language( "\u0E9B\u0EB5", "\u0EC0\u0E94\u0EB7\u0EAD\u0E99", "\u0EAD\u0EB2\u0E97\u0EB4\u0E94", "\u0EA1\u0EB7\u0EC9", "\u0E8A\u0EBB\u0EC8\u0EA7\u0EC2\u0EA1\u0E87", "\u0E99\u0EB2\u0E97\u0EB5", "\u0EA7\u0EB4\u0E99\u0EB2\u0E97\u0EB5", "\u0EA1\u0EB4\u0E99\u0EA5\u0EB4\u0EA7\u0EB4\u0E99\u0EB2\u0E97\u0EB5", "," ), lt: language( function(c) { return c % 10 === 0 || c % 100 >= 10 && c % 100 <= 20 ? "met\u0173" : "metai"; }, function(c) { return ["m\u0117nuo", "m\u0117nesiai", "m\u0117nesi\u0173"][getLithuanianForm(c)]; }, function(c) { return ["savait\u0117", "savait\u0117s", "savai\u010Di\u0173"][getLithuanianForm(c)]; }, function(c) { return ["diena", "dienos", "dien\u0173"][getLithuanianForm(c)]; }, function(c) { return ["valanda", "valandos", "valand\u0173"][getLithuanianForm(c)]; }, function(c) { return ["minut\u0117", "minut\u0117s", "minu\u010Di\u0173"][getLithuanianForm(c)]; }, function(c) { return ["sekund\u0117", "sekund\u0117s", "sekund\u017Ei\u0173"][getLithuanianForm(c)]; }, function(c) { return ["milisekund\u0117", "milisekund\u0117s", "milisekund\u017Ei\u0173"][getLithuanianForm(c)]; }, "," ), lv: language( function(c) { return getLatvianForm(c) ? "gads" : "gadi"; }, function(c) { return getLatvianForm(c) ? "m\u0113nesis" : "m\u0113ne\u0161i"; }, function(c) { return getLatvianForm(c) ? "ned\u0113\u013Ca" : "ned\u0113\u013Cas"; }, function(c) { return getLatvianForm(c) ? "diena" : "dienas"; }, function(c) { return getLatvianForm(c) ? "stunda" : "stundas"; }, function(c) { return getLatvianForm(c) ? "min\u016Bte" : "min\u016Btes"; }, function(c) { return getLatvianForm(c) ? "sekunde" : "sekundes"; }, function(c) { return getLatvianForm(c) ? "milisekunde" : "milisekundes"; }, "," ), mk: language( function(c) { return c === 1 ? "\u0433\u043E\u0434\u0438\u043D\u0430" : "\u0433\u043E\u0434\u0438\u043D\u0438"; }, function(c) { return c === 1 ? "\u043C\u0435\u0441\u0435\u0446" : "\u043C\u0435\u0441\u0435\u0446\u0438"; }, function(c) { return c === 1 ? "\u043D\u0435\u0434\u0435\u043B\u0430" : "\u043D\u0435\u0434\u0435\u043B\u0438"; }, function(c) { return c === 1 ? "\u0434\u0435\u043D" : "\u0434\u0435\u043D\u0430"; }, function(c) { return c === 1 ? "\u0447\u0430\u0441" : "\u0447\u0430\u0441\u0430"; }, function(c) { return c === 1 ? "\u043C\u0438\u043D\u0443\u0442\u0430" : "\u043C\u0438\u043D\u0443\u0442\u0438"; }, function(c) { return c === 1 ? "\u0441\u0435\u043A\u0443\u043D\u0434\u0430" : "\u0441\u0435\u043A\u0443\u043D\u0434\u0438"; }, function(c) { return c === 1 ? "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430" : "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438"; }, "," ), mn: language( "\u0436\u0438\u043B", "\u0441\u0430\u0440", "\u0434\u043E\u043B\u043E\u043E \u0445\u043E\u043D\u043E\u0433", "\u04E9\u0434\u04E9\u0440", "\u0446\u0430\u0433", "\u043C\u0438\u043D\u0443\u0442", "\u0441\u0435\u043A\u0443\u043D\u0434", "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434" ), mr: language( function(c) { return c === 1 ? "\u0935\u0930\u094D\u0937" : "\u0935\u0930\u094D\u0937\u0947"; }, function(c) { return c === 1 ? "\u092E\u0939\u093F\u0928\u093E" : "\u092E\u0939\u093F\u0928\u0947"; }, function(c) { return c === 1 ? "\u0906\u0920\u0935\u0921\u093E" : "\u0906\u0920\u0935\u0921\u0947"; }, "\u0926\u093F\u0935\u0938", "\u0924\u093E\u0938", function(c) { return c === 1 ? "\u092E\u093F\u0928\u093F\u091F" : "\u092E\u093F\u0928\u093F\u091F\u0947"; }, "\u0938\u0947\u0915\u0902\u0926", "\u092E\u093F\u0932\u093F\u0938\u0947\u0915\u0902\u0926" ), ms: language( "tahun", "bulan", "minggu", "hari", "jam", "minit", "saat", "milisaat" ), nl: language( "jaar", function(c) { return c === 1 ? "maand" : "maanden"; }, function(c) { return c === 1 ? "week" : "weken"; }, function(c) { return c === 1 ? "dag" : "dagen"; }, "uur", function(c) { return c === 1 ? "minuut" : "minuten"; }, function(c) { return c === 1 ? "seconde" : "seconden"; }, function(c) { return c === 1 ? "milliseconde" : "milliseconden"; }, "," ), no: language( "\xE5r", function(c) { return "m\xE5ned" + (c === 1 ? "" : "er"); }, function(c) { return "uke" + (c === 1 ? "" : "r"); }, function(c) { return "dag" + (c === 1 ? "" : "er"); }, function(c) { return "time" + (c === 1 ? "" : "r"); }, function(c) { return "minutt" + (c === 1 ? "" : "er"); }, function(c) { return "sekund" + (c === 1 ? "" : "er"); }, function(c) { return "millisekund" + (c === 1 ? "" : "er"); }, "," ), pl: language( function(c) { return ["rok", "roku", "lata", "lat"][getPolishForm(c)]; }, function(c) { return ["miesi\u0105c", "miesi\u0105ca", "miesi\u0105ce", "miesi\u0119cy"][getPolishForm(c)]; }, function(c) { return ["tydzie\u0144", "tygodnia", "tygodnie", "tygodni"][getPolishForm(c)]; }, function(c) { return ["dzie\u0144", "dnia", "dni", "dni"][getPolishForm(c)]; }, function(c) { return ["godzina", "godziny", "godziny", "godzin"][getPolishForm(c)]; }, function(c) { return ["minuta", "minuty", "minuty", "minut"][getPolishForm(c)]; }, function(c) { return ["sekunda", "sekundy", "sekundy", "sekund"][getPolishForm(c)]; }, function(c) { return ["milisekunda", "milisekundy", "milisekundy", "milisekund"][getPolishForm(c)]; }, "," ), pt: language( function(c) { return "ano" + (c === 1 ? "" : "s"); }, function(c) { return c === 1 ? "m\xEAs" : "meses"; }, function(c) { return "semana" + (c === 1 ? "" : "s"); }, function(c) { return "dia" + (c === 1 ? "" : "s"); }, function(c) { return "hora" + (c === 1 ? "" : "s"); }, function(c) { return "minuto" + (c === 1 ? "" : "s"); }, function(c) { return "segundo" + (c === 1 ? "" : "s"); }, function(c) { return "milissegundo" + (c === 1 ? "" : "s"); }, "," ), ro: language( function(c) { return c === 1 ? "an" : "ani"; }, function(c) { return c === 1 ? "lun\u0103" : "luni"; }, function(c) { return c === 1 ? "s\u0103pt\u0103m\xE2n\u0103" : "s\u0103pt\u0103m\xE2ni"; }, function(c) { return c === 1 ? "zi" : "zile"; }, function(c) { return c === 1 ? "or\u0103" : "ore"; }, function(c) { return c === 1 ? "minut" : "minute"; }, function(c) { return c === 1 ? "secund\u0103" : "secunde"; }, function(c) { return c === 1 ? "milisecund\u0103" : "milisecunde"; }, "," ), ru: language( function(c) { return ["\u043B\u0435\u0442", "\u0433\u043E\u0434", "\u0433\u043E\u0434\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0435\u0441\u044F\u0446\u0435\u0432", "\u043C\u0435\u0441\u044F\u0446", "\u043C\u0435\u0441\u044F\u0446\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u043D\u0435\u0434\u0435\u043B\u044C", "\u043D\u0435\u0434\u0435\u043B\u044F", "\u043D\u0435\u0434\u0435\u043B\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u0434\u043D\u0435\u0439", "\u0434\u0435\u043D\u044C", "\u0434\u043D\u044F"][getSlavicForm(c)]; }, function(c) { return ["\u0447\u0430\u0441\u043E\u0432", "\u0447\u0430\u0441", "\u0447\u0430\u0441\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0438\u043D\u0443\u0442", "\u043C\u0438\u043D\u0443\u0442\u0430", "\u043C\u0438\u043D\u0443\u0442\u044B"][getSlavicForm(c)]; }, function(c) { return ["\u0441\u0435\u043A\u0443\u043D\u0434", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u044B"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434", "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u044B"][getSlavicForm(c)]; }, "," ), sq: language( function(c) { return c === 1 ? "vit" : "vjet"; }, "muaj", "jav\xEB", "dit\xEB", "or\xEB", function(c) { return "minut" + (c === 1 ? "\xEB" : "a"); }, function(c) { return "sekond" + (c === 1 ? "\xEB" : "a"); }, function(c) { return "milisekond" + (c === 1 ? "\xEB" : "a"); }, "," ), sr: language( function(c) { return ["\u0433\u043E\u0434\u0438\u043D\u0438", "\u0433\u043E\u0434\u0438\u043D\u0430", "\u0433\u043E\u0434\u0438\u043D\u0435"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0435\u0441\u0435\u0446\u0438", "\u043C\u0435\u0441\u0435\u0446", "\u043C\u0435\u0441\u0435\u0446\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u043D\u0435\u0434\u0435\u0459\u0438", "\u043D\u0435\u0434\u0435\u0459\u0430", "\u043D\u0435\u0434\u0435\u0459\u0435"][getSlavicForm(c)]; }, function(c) { return ["\u0434\u0430\u043D\u0438", "\u0434\u0430\u043D", "\u0434\u0430\u043D\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u0441\u0430\u0442\u0438", "\u0441\u0430\u0442", "\u0441\u0430\u0442\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0438\u043D\u0443\u0442\u0430", "\u043C\u0438\u043D\u0443\u0442", "\u043C\u0438\u043D\u0443\u0442\u0430"][getSlavicForm(c)]; }, function(c) { return ["\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u0435"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0438", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0438\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434\u0435"][getSlavicForm(c)]; }, "," ), ta: language( function(c) { return c === 1 ? "\u0BB5\u0BB0\u0BC1\u0B9F\u0BAE\u0BCD" : "\u0B86\u0BA3\u0BCD\u0B9F\u0BC1\u0B95\u0BB3\u0BCD"; }, function(c) { return c === 1 ? "\u0BAE\u0BBE\u0BA4\u0BAE\u0BCD" : "\u0BAE\u0BBE\u0BA4\u0B99\u0BCD\u0B95\u0BB3\u0BCD"; }, function(c) { return c === 1 ? "\u0BB5\u0BBE\u0BB0\u0BAE\u0BCD" : "\u0BB5\u0BBE\u0BB0\u0B99\u0BCD\u0B95\u0BB3\u0BCD"; }, function(c) { return c === 1 ? "\u0BA8\u0BBE\u0BB3\u0BCD" : "\u0BA8\u0BBE\u0B9F\u0BCD\u0B95\u0BB3\u0BCD"; }, function(c) { return c === 1 ? "\u0BAE\u0BA3\u0BBF" : "\u0BAE\u0BA3\u0BBF\u0BA8\u0BC7\u0BB0\u0BAE\u0BCD"; }, function(c) { return "\u0BA8\u0BBF\u0BAE\u0BBF\u0B9F" + (c === 1 ? "\u0BAE\u0BCD" : "\u0B99\u0BCD\u0B95\u0BB3\u0BCD"); }, function(c) { return "\u0BB5\u0BBF\u0BA9\u0BBE\u0B9F\u0BBF" + (c === 1 ? "" : "\u0B95\u0BB3\u0BCD"); }, function(c) { return "\u0BAE\u0BBF\u0BB2\u0BCD\u0BB2\u0BBF \u0BB5\u0BBF\u0BA8\u0BBE\u0B9F\u0BBF" + (c === 1 ? "" : "\u0B95\u0BB3\u0BCD"); } ), te: language( function(c) { return "\u0C38\u0C02\u0C35\u0C24\u0C4D\u0C38" + (c === 1 ? "\u0C30\u0C02" : "\u0C30\u0C3E\u0C32"); }, function(c) { return "\u0C28\u0C46\u0C32" + (c === 1 ? "" : "\u0C32"); }, function(c) { return c === 1 ? "\u0C35\u0C3E\u0C30\u0C02" : "\u0C35\u0C3E\u0C30\u0C3E\u0C32\u0C41"; }, function(c) { return "\u0C30\u0C4B\u0C1C\u0C41" + (c === 1 ? "" : "\u0C32\u0C41"); }, function(c) { return "\u0C17\u0C02\u0C1F" + (c === 1 ? "" : "\u0C32\u0C41"); }, function(c) { return c === 1 ? "\u0C28\u0C3F\u0C2E\u0C3F\u0C37\u0C02" : "\u0C28\u0C3F\u0C2E\u0C3F\u0C37\u0C3E\u0C32\u0C41"; }, function(c) { return c === 1 ? "\u0C38\u0C46\u0C15\u0C28\u0C41" : "\u0C38\u0C46\u0C15\u0C28\u0C4D\u0C32\u0C41"; }, function(c) { return c === 1 ? "\u0C2E\u0C3F\u0C32\u0C4D\u0C32\u0C40\u0C38\u0C46\u0C15\u0C28\u0C4D" : "\u0C2E\u0C3F\u0C32\u0C4D\u0C32\u0C40\u0C38\u0C46\u0C15\u0C28\u0C4D\u0C32\u0C41"; } ), uk: language( function(c) { return ["\u0440\u043E\u043A\u0456\u0432", "\u0440\u0456\u043A", "\u0440\u043E\u043A\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0456\u0441\u044F\u0446\u0456\u0432", "\u043C\u0456\u0441\u044F\u0446\u044C", "\u043C\u0456\u0441\u044F\u0446\u0456"][getSlavicForm(c)]; }, function(c) { return ["\u0442\u0438\u0436\u043D\u0456\u0432", "\u0442\u0438\u0436\u0434\u0435\u043D\u044C", "\u0442\u0438\u0436\u043D\u0456"][getSlavicForm(c)]; }, function(c) { return ["\u0434\u043D\u0456\u0432", "\u0434\u0435\u043D\u044C", "\u0434\u043D\u0456"][getSlavicForm(c)]; }, function(c) { return ["\u0433\u043E\u0434\u0438\u043D", "\u0433\u043E\u0434\u0438\u043D\u0430", "\u0433\u043E\u0434\u0438\u043D\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u0445\u0432\u0438\u043B\u0438\u043D", "\u0445\u0432\u0438\u043B\u0438\u043D\u0430", "\u0445\u0432\u0438\u043B\u0438\u043D\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u0441\u0435\u043A\u0443\u043D\u0434", "\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)]; }, function(c) { return ["\u043C\u0456\u043B\u0456\u0441\u0435\u043A\u0443\u043D\u0434", "\u043C\u0456\u043B\u0456\u0441\u0435\u043A\u0443\u043D\u0434\u0430", "\u043C\u0456\u043B\u0456\u0441\u0435\u043A\u0443\u043D\u0434\u0438"][getSlavicForm(c)]; }, "," ), ur: language( "\u0633\u0627\u0644", function(c) { return c === 1 ? "\u0645\u06C1\u06CC\u0646\u06C1" : "\u0645\u06C1\u06CC\u0646\u06D2"; }, function(c) { return c === 1 ? "\u06C1\u0641\u062A\u06C1" : "\u06C1\u0641\u062A\u06D2"; }, "\u062F\u0646", function(c) { return c === 1 ? "\u06AF\u06BE\u0646\u0679\u06C1" : "\u06AF\u06BE\u0646\u0679\u06D2"; }, "\u0645\u0646\u0679", "\u0633\u06CC\u06A9\u0646\u0688", "\u0645\u0644\u06CC \u0633\u06CC\u06A9\u0646\u0688" ), sk: language( function(c) { return ["rok", "roky", "roky", "rokov"][getCzechOrSlovakForm(c)]; }, function(c) { return ["mesiac", "mesiace", "mesiace", "mesiacov"][getCzechOrSlovakForm(c)]; }, function(c) { return ["t\xFD\u017Ede\u0148", "t\xFD\u017Edne", "t\xFD\u017Edne", "t\xFD\u017Ed\u0148ov"][getCzechOrSlovakForm(c)]; }, function(c) { return ["de\u0148", "dni", "dni", "dn\xED"][getCzechOrSlovakForm(c)]; }, function(c) { return ["hodina", "hodiny", "hodiny", "hod\xEDn"][getCzechOrSlovakForm(c)]; }, function(c) { return ["min\xFAta", "min\xFAty", "min\xFAty", "min\xFAt"][getCzechOrSlovakForm(c)]; }, function(c) { return ["sekunda", "sekundy", "sekundy", "sek\xFAnd"][getCzechOrSlovakForm(c)]; }, function(c) { return ["milisekunda", "milisekundy", "milisekundy", "milisek\xFAnd"][getCzechOrSlovakForm(c)]; }, "," ), sl: language( function(c) { if (c % 10 === 1) { return "leto"; } else if (c % 100 === 2) { return "leti"; } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c && c % 100 <= 5) { return "leta"; } else { return "let"; } }, function(c) { if (c % 10 === 1) { return "mesec"; } else if (c % 100 === 2 || Math.floor(c) !== c && c % 100 <= 5) { return "meseca"; } else if (c % 10 === 3 || c % 10 === 4) { return "mesece"; } else { return "mesecev"; } }, function(c) { if (c % 10 === 1) { return "teden"; } else if (c % 10 === 2 || Math.floor(c) !== c && c % 100 <= 4) { return "tedna"; } else if (c % 10 === 3 || c % 10 === 4) { return "tedne"; } else { return "tednov"; } }, function(c) { return c % 100 === 1 ? "dan" : "dni"; }, function(c) { if (c % 10 === 1) { return "ura"; } else if (c % 100 === 2) { return "uri"; } else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c) { return "ure"; } else { return "ur"; } }, function(c) { if (c % 10 === 1) { return "minuta"; } else if (c % 10 === 2) { return "minuti"; } else if (c % 10 === 3 || c % 10 === 4 || Math.floor(c) !== c && c % 100 <= 4) { return "minute"; } else { return "minut"; } }, function(c) { if (c % 10 === 1) { return "sekunda"; } else if (c % 100 === 2) { return "sekundi"; } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) { return "sekunde"; } else { return "sekund"; } }, function(c) { if (c % 10 === 1) { return "milisekunda"; } else if (c % 100 === 2) { return "milisekundi"; } else if (c % 100 === 3 || c % 100 === 4 || Math.floor(c) !== c) { return "milisekunde"; } else { return "milisekund"; } }, "," ), sv: language( "\xE5r", function(c) { return "m\xE5nad" + (c === 1 ? "" : "er"); }, function(c) { return "veck" + (c === 1 ? "a" : "or"); }, function(c) { return "dag" + (c === 1 ? "" : "ar"); }, function(c) { return "timm" + (c === 1 ? "e" : "ar"); }, function(c) { return "minut" + (c === 1 ? "" : "er"); }, function(c) { return "sekund" + (c === 1 ? "" : "er"); }, function(c) { return "millisekund" + (c === 1 ? "" : "er"); }, "," ), sw: assign( language( function(c) { return c === 1 ? "mwaka" : "miaka"; }, function(c) { return c === 1 ? "mwezi" : "miezi"; }, "wiki", function(c) { return c === 1 ? "siku" : "masiku"; }, function(c) { return c === 1 ? "saa" : "masaa"; }, "dakika", "sekunde", "milisekunde" ), { _numberFirst: true } ), tr: language( "y\u0131l", "ay", "hafta", "g\xFCn", "saat", "dakika", "saniye", "milisaniye", "," ), th: language( "\u0E1B\u0E35", "\u0E40\u0E14\u0E37\u0E2D\u0E19", "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C", "\u0E27\u0E31\u0E19", "\u0E0A\u0E31\u0E48\u0E27\u0E42\u0E21\u0E07", "\u0E19\u0E32\u0E17\u0E35", "\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35", "\u0E21\u0E34\u0E25\u0E25\u0E34\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35" ), uz: language( "yil", "oy", "hafta", "kun", "soat", "minut", "sekund", "millisekund" ), uz_CYR: language( "\u0439\u0438\u043B", "\u043E\u0439", "\u04B3\u0430\u0444\u0442\u0430", "\u043A\u0443\u043D", "\u0441\u043E\u0430\u0442", "\u043C\u0438\u043D\u0443\u0442", "\u0441\u0435\u043A\u0443\u043D\u0434", "\u043C\u0438\u043B\u043B\u0438\u0441\u0435\u043A\u0443\u043D\u0434" ), vi: language( "n\u0103m", "th\xE1ng", "tu\u1EA7n", "ng\xE0y", "gi\u1EDD", "ph\xFAt", "gi\xE2y", "mili gi\xE2y", "," ), zh_CN: language("\u5E74", "\u4E2A\u6708", "\u5468", "\u5929", "\u5C0F\u65F6", "\u5206\u949F", "\u79D2", "\u6BEB\u79D2"), zh_TW: language("\u5E74", "\u500B\u6708", "\u5468", "\u5929", "\u5C0F\u6642", "\u5206\u9418", "\u79D2", "\u6BEB\u79D2") }; function language(y, mo, w, d, h, m, s, ms, decimal) { var result = { y, mo, w, d, h, m, s, ms }; if (typeof decimal !== "undefined") { result.decimal = decimal; } return result; } function getArabicForm(c) { if (c === 2) { return 1; } if (c > 2 && c < 11) { return 2; } return 0; } function getPolishForm(c) { if (c === 1) { return 0; } if (Math.floor(c) !== c) { return 1; } if (c % 10 >= 2 && c % 10 <= 4 && !(c % 100 > 10 && c % 100 < 20)) { return 2; } return 3; } function getSlavicForm(c) { if (Math.floor(c) !== c) { return 2; } if (c % 100 >= 5 && c % 100 <= 20 || c % 10 >= 5 && c % 10 <= 9 || c % 10 === 0) { return 0; } if (c % 10 === 1) { return 1; } if (c > 1) { return 2; } return 0; } function getCzechOrSlovakForm(c) { if (c === 1) { return 0; } if (Math.floor(c) !== c) { return 1; } if (c % 10 >= 2 && c % 10 <= 4 && c % 100 < 10) { return 2; } return 3; } function getLithuanianForm(c) { if (c === 1 || c % 10 === 1 && c % 100 > 20) { return 0; } if (Math.floor(c) !== c || c % 10 >= 2 && c % 100 > 20 || c % 10 >= 2 && c % 100 < 10) { return 1; } return 2; } function getLatvianForm(c) { return c % 10 === 1 && c % 100 !== 11; } function has(obj, key) { return Object.prototype.hasOwnProperty.call(obj, key); } function getLanguage(options) { var possibleLanguages = [options.language]; if (has(options, "fallbacks")) { if (isArray(options.fallbacks) && options.fallbacks.length) { possibleLanguages = possibleLanguages.concat(options.fallbacks); } else { throw new Error("fallbacks must be an array with at least one element"); } } for (var i = 0; i < possibleLanguages.length; i++) { var languageToTry = possibleLanguages[i]; if (has(options.languages, languageToTry)) { return options.languages[languageToTry]; } if (has(LANGUAGES, languageToTry)) { return LANGUAGES[languageToTry]; } } throw new Error("No language found."); } function renderPiece(piece, language2, options) { var unitName = piece.unitName; var unitCount = piece.unitCount; var spacer = options.spacer; var maxDecimalPoints = options.maxDecimalPoints; var decimal; if (has(options, "decimal")) { decimal = options.decimal; } else if (has(language2, "decimal")) { decimal = language2.decimal; } else { decimal = "."; } var digitReplacements; if ("digitReplacements" in options) { digitReplacements = options.digitReplacements; } else if ("_digitReplacements" in language2) { digitReplacements = language2._digitReplacements; } var formattedCount; var normalizedUnitCount = maxDecimalPoints === void 0 ? unitCount : Math.floor(unitCount * Math.pow(10, maxDecimalPoints)) / Math.pow(10, maxDecimalPoints); var countStr = normalizedUnitCount.toString(); if (digitReplacements) { formattedCount = ""; for (var i = 0; i < countStr.length; i++) { var char = countStr[i]; if (char === ".") { formattedCount += decimal; } else { formattedCount += digitReplacements[char]; } } } else { formattedCount = countStr.replace(".", decimal); } var languageWord = language2[unitName]; var word; if (typeof languageWord === "function") { word = languageWord(unitCount); } else { word = languageWord; } if (language2._numberFirst) { return word + spacer + formattedCount; } return formattedCount + spacer + word; } function getPieces(ms, options) { var unitName; var i; var unitCount; var msRemaining; var units = options.units; var unitMeasures = options.unitMeasures; var largest = "largest" in options ? options.largest : Infinity; if (!units.length) return []; var unitCounts = {}; msRemaining = ms; for (i = 0; i < units.length; i++) { unitName = units[i]; var unitMs = unitMeasures[unitName]; var isLast = i === units.length - 1; unitCount = isLast ? msRemaining / unitMs : Math.floor(msRemaining / unitMs); unitCounts[unitName] = unitCount; msRemaining -= unitCount * unitMs; } if (options.round) { var unitsRemainingBeforeRound = largest; for (i = 0; i < units.length; i++) { unitName = units[i]; unitCount = unitCounts[unitName]; if (unitCount === 0) continue; unitsRemainingBeforeRound--; if (unitsRemainingBeforeRound === 0) { for (var j = i + 1; j < units.length; j++) { var smallerUnitName = units[j]; var smallerUnitCount = unitCounts[smallerUnitName]; unitCounts[unitName] += smallerUnitCount * unitMeasures[smallerUnitName] / unitMeasures[unitName]; unitCounts[smallerUnitName] = 0; } break; } } for (i = units.length - 1; i >= 0; i--) { unitName = units[i]; unitCount = unitCounts[unitName]; if (unitCount === 0) continue; var rounded = Math.round(unitCount); unitCounts[unitName] = rounded; if (i === 0) break; var previousUnitName = units[i - 1]; var previousUnitMs = unitMeasures[previousUnitName]; var amountOfPreviousUnit = Math.floor( rounded * unitMeasures[unitName] / previousUnitMs ); if (amountOfPreviousUnit) { unitCounts[previousUnitName] += amountOfPreviousUnit; unitCounts[unitName] = 0; } else { break; } } } var result = []; for (i = 0; i < units.length && result.length < largest; i++) { unitName = units[i]; unitCount = unitCounts[unitName]; if (unitCount) { result.push({ unitName, unitCount }); } } return result; } function formatPieces(pieces, options) { var language2 = getLanguage(options); if (!pieces.length) { var units = options.units; var smallestUnitName = units[units.length - 1]; return renderPiece( { unitName: smallestUnitName, unitCount: 0 }, language2, options ); } var conjunction = options.conjunction; var serialComma = options.serialComma; var delimiter; if (has(options, "delimiter")) { delimiter = options.delimiter; } else if (has(language2, "delimiter")) { delimiter = language2.delimiter; } else { delimiter = ", "; } var renderedPieces = []; for (var i = 0; i < pieces.length; i++) { renderedPieces.push(renderPiece(pieces[i], language2, options)); } if (!conjunction || pieces.length === 1) { return renderedPieces.join(delimiter); } if (pieces.length === 2) { return renderedPieces.join(conjunction); } return renderedPieces.slice(0, -1).join(delimiter) + (serialComma ? "," : "") + conjunction + renderedPieces.slice(-1); } function humanizer4(passedOptions) { var result = function humanizer5(ms, humanizerOptions) { ms = Math.abs(ms); var options = assign({}, result, humanizerOptions || {}); var pieces = getPieces(ms, options); return formatPieces(pieces, options); }; return assign( result, { language: "en", spacer: " ", conjunction: "", serialComma: true, units: ["y", "mo", "w", "d", "h", "m", "s"], languages: {}, round: false, unitMeasures: { y: 315576e5, mo: 26298e5, w: 6048e5, d: 864e5, h: 36e5, m: 6e4, s: 1e3, ms: 1 } }, passedOptions ); } var humanizeDuration4 = assign(humanizer4({}), { getSupportedLanguages: function getSupportedLanguages() { var result = []; for (var language2 in LANGUAGES) { if (has(LANGUAGES, language2) && language2 !== "gr") { result.push(language2); } } return result; }, humanizer: humanizer4 }); if (typeof define === "function" && define.amd) { define(function() { return humanizeDuration4; }); } else if (typeof module !== "undefined" && module.exports) { module.exports = humanizeDuration4; } else { this.humanizeDuration = humanizeDuration4; } })(); } }); // src/modules/lgs-reminder/settings/index.js var settings_default26; var init_settings27 = __esm({ "src/modules/lgs-reminder/settings/index.js"() { settings_default26 = () => __async(void 0, null, function* () { return [ { id: "lgs-reminder.new-style", title: 'Use "new" style' }, { id: "lgs-reminder.show-seconds", title: "Show exact time", description: "Show exact time, including seconds" }, { id: "lgs-reminder.days-and-lower", title: "Convert weeks and months to days" } ]; }); } }); // src/modules/lgs-reminder/styles.css var styles_default56; var init_styles57 = __esm({ "src/modules/lgs-reminder/styles.css"() { styles_default56 = ".mousehunt-improved-lgs-reminder,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder{position:absolute;right:8px;bottom:4px;left:13px;z-index:1;font-size:11px;color:#684434;text-align:center;background-color:#ddcda2d9;border:1px solid #9d9a91;border-radius:5px}.default .mousehunt-improved-lgs-reminder{left:-5px}.default-fancy .mousehunt-improved-lgs-reminder{right:15px}.mousehuntHud-shield.color .mousehunt-improved-lgs-reminder{right:20px;left:0}.mhui-custom-shield .mousehunt-improved-lgs-reminder.exact{font-size:10px}.mousehunt-improved-lgs-reminder-new.lgs-warning,.mousehunt-improved-lgs-reminder.lgs-warning,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder.lgs-warning{background-color:#ffbfbf}.mousehunt-improved-lgs-reminder-new.lgs-danger,.mousehunt-improved-lgs-reminder.lgs-danger,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder.lgs-danger{color:#f1d7d7;background-color:#b32d26;border-color:#af8080;transition:1.75s;animation:mh-improved-fade-slightly 1.75s infinite}@media (prefers-reduced-motion: reduce){.mousehunt-improved-lgs-reminder-new.lgs-danger,.mousehunt-improved-lgs-reminder.lgs-danger,.default.mhui-custom-shield .mousehunt-improved-lgs-reminder-new.lgs-danger{animation:none}}.mousehunt-improved-lgs-reminder-wrapper{position:absolute;right:642px;bottom:0;left:15px;font-size:9px;white-space:nowrap}.mousehunt-improved-lgs-reminder-new{display:flex;align-items:center;justify-content:center;padding:2px 5px;background:linear-gradient(#fff 45%,#f8e7bb 55%);border:1px solid #d4af37;border-bottom:none;border-radius:6px 6px 0 0}.mousehunt-improved-lgs-reminder-new.lgs-warning{background:linear-gradient(#fff,#ffbfbf)}.mousehunt-improved-lgs-reminder-new.lgs-danger{background:#b32d26;border:none}\n"; } }); // src/modules/lgs-reminder/index.js var import_humanize_duration, humanizer, isExact, getShieldEndDateTime, getShieldTime, getShieldTimeFormatted, updateLgsReminder, main17, setOffset, offset, init51, lgs_reminder_default2; var init_lgs_reminder2 = __esm({ "src/modules/lgs-reminder/index.js"() { import_humanize_duration = __toESM(require_humanize_duration()); init_utils2(); init_settings27(); init_styles57(); humanizer = import_humanize_duration.default.humanizer({ language: "shortEn", languages: { shortEn: { y: () => "y", mo: () => "mo", w: () => "w", d: () => "d", h: () => "h", m: () => "m", s: () => "s", ms: () => "ms" } } }); isExact = () => { return getSetting("lgs-reminder.show-seconds"); }; getShieldEndDateTime = () => { const shieldExpiry = user.shield_expiry; if (!shieldExpiry) { return; } const expiry = Date.parse(shieldExpiry); const realExpiry = expiry - offset; return new Date(realExpiry); }; getShieldTime = () => { const expiry = getShieldEndDateTime(); const now = /* @__PURE__ */ new Date(); return Math.floor(expiry - now); }; getShieldTimeFormatted = () => { const time = getShieldTime(); if (!time) { return ""; } let units = ["y", "mo", "w", "d", "h", "m"]; if (getSetting("lgs-reminder.days-and-lower")) { units = ["d", "h", "m"]; } if (isExact()) { units.push("s"); } const duration = humanizer(time, { round: true, units, spacer: "", delimiter: " " }); return duration; }; updateLgsReminder = (el) => { const time = getShieldTime(); if (time <= 60 * 60 * 24 * 2) { el.classList.add("lgs-warning"); } if (time <= 60 * 60) { el.classList.add("lgs-danger"); } el.innerText = getShieldTimeFormatted(); }; main17 = () => { startingTime = getShieldTime(); const shieldEl = document.querySelector(".mousehuntHud-shield.golden"); if (!shieldEl) { return; } const newStyle = getSetting("lgs-reminder.new-style", false); let wrapper; let reminder; if (newStyle) { wrapper = makeElement("div", "mousehunt-improved-lgs-reminder-wrapper"); reminder = makeElement("div", "mousehunt-improved-lgs-reminder-new"); } else { reminder = makeElement("div", "mousehunt-improved-lgs-reminder"); } const exact = isExact(); if (exact) { reminder.classList.add("exact"); } const endDate = getShieldEndDateTime().toLocaleDateString("en-US", { weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric" }); reminder.title = `LGS Expires on ${endDate} (${getShieldTimeFormatted()} remaining)`; if (newStyle) { const existing = document.querySelector(".mousehunt-improved-lgs-reminder-wrapper"); if (existing) { existing.remove(); } wrapper.append(reminder); shieldEl.after(wrapper); } else { const existing = document.querySelector(".mousehunt-improved-lgs-reminder"); if (existing) { existing.remove(); } shieldEl.append(reminder); } updateLgsReminder(reminder); if (isExact()) { onEvent("horn-countdown-tick", () => __async(void 0, null, function* () { yield sleep(500); updateLgsReminder(reminder); })); } else { onEvent("horn-countdown-tick-minute", () => { updateLgsReminder(reminder); }); } }; setOffset = () => { const userShieldExpiry = new Date(Date.parse(user.shield_expiry)); const userShieldSeconds = new Date((/* @__PURE__ */ new Date()).setSeconds((/* @__PURE__ */ new Date()).getSeconds() + user.shield_seconds)); const difference = userShieldExpiry - userShieldSeconds; offset = Math.round(difference / 1e3) * 1e3; }; init51 = () => __async(void 0, null, function* () { if (!user.has_shield) { return; } setOffset(); addStyles(styles_default56, "lgs-reminder"); main17(); onSettingsChange("lgs-reminder.new-style", () => { const selectors = [ ".mousehunt-improved-lgs-reminder", ".mousehunt-improved-lgs-reminder-new", ".mousehunt-improved-lgs-reminder-wrapper" ]; selectors.forEach((selector) => { const el = document.querySelector(selector); if (el) { el.remove(); } }); main17(); }); onActivation("lgs-reminder", main17); onDeactivation("lgs-reminder", () => { const reminder = document.querySelector(".mousehunt-improved-lgs-reminder"); if (reminder) { reminder.remove(); } }); }); lgs_reminder_default2 = { id: "lgs-reminder", name: `${getSetting("experiments.new-settings-styles-columns", false) ? "LGS" : "Lucky Golden Shield"} Duration & Reminder`, type: "feature", description: "Show your LGS duration in the HUD and warn you when it's about to expire.", default: false, load: init51, settings: settings_default26 }; } }); // src/modules/legacy-hud/settings/index.js var settings_default27; var init_settings28 = __esm({ "src/modules/legacy-hud/settings/index.js"() { init_utils2(); settings_default27 = () => __async(void 0, null, function* () { return [ { id: "legacy-hud.menu", title: "Enable the legacy menu", default: getSetting("experiments.legacy-hud-only-menu", false) }, { id: "legacy-hud.stats", title: "Enable the legacy stats bar", default: getSetting("experiments.legacy-hud-only-stats", false) }, { id: "legacy-hud.tweaks", title: "Enable tweaks to the legacy HUD", default: getSetting("experiments.legacy-hud-tweaks", true) } ]; }); } }); // src/modules/legacy-hud/styles.css var styles_default57; var init_styles58 = __esm({ "src/modules/legacy-hud/styles.css"() { styles_default57 = ".huntersHornView__timer.huntersHornView__timer.countdown:after{display:none}\n"; } }); // src/modules/legacy-hud/menu.css var menu_default2; var init_menu2 = __esm({ "src/modules/legacy-hud/menu.css"() { menu_default2 = ".mousehuntHud-environment,.mousehuntHud-menu .camp,.mousehuntHud-menu .friends .team,.mousehuntHud-menu .friends .tournaments,.mousehuntHud-menu .friends .tournament_scoreboards,.mousehuntHud-menu .team .friend_list,.mousehuntHud-menu .team .hunter_community,.mousehuntHud-menu .team .community_maps,.mousehuntHud-menu .team .free_gifts,.mousehuntHud-menu .team .send_supplies,.mousehuntHud-menu .scoreboards .forum,.mousehuntHud-menu .scoreboards .news,.mousehuntHud-menu .kingdom .wiki,.mousehuntHud-menu .kingdom .guide,.mousehuntHud-menu .kingdom .feedback_friday,.mousehuntHud-menu .kingdom .merch_store,.mh-legacy-mode-remove{display:none}\n"; } }); // src/modules/legacy-hud/stats.css var stats_default2; var init_stats2 = __esm({ "src/modules/legacy-hud/stats.css"() { stats_default2 = ".headsup .cheeseped a.baiticon img{height:45px}.headsup .cheeseped a.baiticon{top:-4px;right:2px}\n"; } }); // src/modules/legacy-hud/tweaks.css var tweaks_default; var init_tweaks = __esm({ "src/modules/legacy-hud/tweaks.css"() { tweaks_default = ".hud_titleIcon{width:auto;height:32px;padding:2px;overflow:visible;background-color:#d9c9a0;border-radius:50%;box-shadow:0 0 0 3px #d9c9a0}.headsup .shieldped{width:50px;height:50px;padding:8px 0 0 14px}.headsup .hudstatlist{margin-right:20px}.mousehuntHud-menu.legacy .mice .mousehuntHud-menu-item.root{filter:hue-rotate(174deg)}.mousehuntHud-menu.legacy .shops .mousehuntHud-menu-item.root{filter:hue-rotate(254deg)}.mousehuntHud-menu.legacy .friends .mousehuntHud-menu-item.root{filter:hue-rotate(87deg)}.mousehuntHud-menu.legacy .travel .mousehuntHud-menu-item.root{filter:hue-rotate(57deg)}.mousehuntHud-menu.legacy .inventory .mousehuntHud-menu-item.root{filter:hue-rotate(340deg)}.hudstatlist.legacyFix .mousehuntHud-userStat.trinket .label{width:auto}.headsup .hudstatlist:nth-child(5) ul li:nth-child(1),.headsup .hudstatlist:nth-child(5) ul li:nth-child(2),.headsup .hudstatlist:nth-child(5) ul li:nth-child(3){display:flex;justify-content:space-between;width:150px}.mousehuntHud-marbleDrawer #hudLocationContent{margin-top:0}\n"; } }); // src/modules/legacy-hud/index.js var getMapText, getEquippedStat, getStat, getLegacyHudHtml, replaceMenuBar, replaceStatsBar, getUserShield, init52, legacy_hud_default; var init_legacy_hud = __esm({ "src/modules/legacy-hud/index.js"() { init_utils2(); init_settings28(); init_styles58(); init_menu2(); init_stats2(); init_tweaks(); getMapText = () => { var _a, _b, _c, _d, _e; if ((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.maps) == null ? void 0 : _c.length) { return user.quests.QuestRelicHunter.label.replace("Treasure Map", "").trim(); } const amount = ((_e = (_d = user == null ? void 0 : user.quests) == null ? void 0 : _d.QuestRelicHunter) == null ? void 0 : _e.num_invites) || 0; if (amount > 1) { return `${amount} invites`; } else if (amount === 1) { return `${amount} invite`; } return "Start new"; }; getEquippedStat = (type, label, id, name, quantity) => { return `<li class="mousehuntHud-userStat ${type}" data-item-id="${id}" data-itemId="${id}"> <span class="hudstatlabel">${label}:</span> <span id="hud_${type}" class="hudstatvalue"> <a href="#" class="label" onclick="hg.utils.PageUtil.setPage('Inventory', {tab:'traps', sub_tab:'${type}'}); return false;"> ${name} </a> </span> ${quantity ? `<span class="hud_baitQuantity value">${quantity}</span>` : ""} </li>`; }; getStat = (type, label, value) => { return `<li> <span class="hudstatlabel">${label}:</span> <span class="hud_${type} hudstatvalue">${value}</span> </li>`; }; getLegacyHudHtml = () => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q; return `<div id="#legacy-hud" class="headsup"> <div class="shieldped"> <div class="titleicon"> <a href="#" onclick="hg.utils.PageUtil.setPage('Title'); return false;"> <img src="${user == null ? void 0 : user.title_icon}" width="12" height="14" border="0" class="hud_titleIcon"> </a> </div> </div> <div id="hud_statList1" class="hudstatlist"> <ul> <li> <span class="hudstatlabel">Location:</span> <a href="#" class="hudstatvalue hud_location" onclick="hg.utils.PageUtil.setPage('Travel'); return false;"> ${user == null ? void 0 : user.environment_name} </a> </li> <li> <span class="hudstatlabel">Title:</span> <span class="hud_title"> <a href="#" class="hudstatvalue" onclick="hg.utils.PageUtil.setPage('Title'); return false;"> ${user == null ? void 0 : user.title_name} </a> </span> (<span class="hud_titlePercentage">${user == null ? void 0 : user.title_percent}%</span>) </li> <li> <div class="mousehuntHud-titleProgressBar"> <span class="dot"></span> <div class="wrapper"> <span class="bar" style="width: ${user == null ? void 0 : user.title_percent}%"></span> </div> </div> </li> </ul> </div> <div id="cheeseped" class="cheeseped"> <a href="#" class="baiticon" target="_parent" onclick="hg.utils.PageUtil.setPage('Inventory', {tab:'cheese'}); return false;"> <img id="hud_baitIcon" src="${user == null ? void 0 : user.bait_thumb}" border="0"> </a> </div> <div class="hudstatlist legacyFix"> <ul> ${getEquippedStat("base", "Base", user == null ? void 0 : user.base_item_id, user == null ? void 0 : user.base_name)} ${getEquippedStat("weapon", "Weapon", user == null ? void 0 : user.weapon_item_id, user == null ? void 0 : user.weapon_name)} ${getEquippedStat("trinket", "Charm", user == null ? void 0 : user.trinket_item_id, user == null ? void 0 : user.trinket_name)} </ul> </div> <div class="hudstatlist legacyFix"> <ul> ${getStat("gold", "Gold", user == null ? void 0 : user.gold.toLocaleString())} ${getStat("points", "Points", user == null ? void 0 : user.points.toLocaleString())} ${getEquippedStat("bait", "Bait", user == null ? void 0 : user.bait_item_id, user == null ? void 0 : user.bait_name, user == null ? void 0 : user.bait_quantity)} </ul> </div> <div class="hudstatlist"> <ul> <li> <span class="hudstatlabel">Team:</span> <span id="hud_team"> <a href="https://www.mousehuntgame.com/team.php?team_id=${user == null ? void 0 : user.team.id}" class="hud_team_name hudstatvalue" onclick="app.pages.TeamPage.showUserTeamPage(); return false;"> ${user == null ? void 0 : user.team.name} </a> <div class="corkboardUpdate ${(user == null ? void 0 : user.team.new_chat) ? "active" : ""}"></div> </span> </li> <a class="mousehuntHud-userStat treasureMap ${((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.maps) == null ? void 0 : _c.length) ? "active" : "empty"}" onclick="hg.controllers.TreasureMapController.show();return false;" href="#"> <div class="icon" style="${((_f = (_e = (_d = user == null ? void 0 : user.quests) == null ? void 0 : _d.QuestRelicHunter) == null ? void 0 : _e.maps) == null ? void 0 : _f.length) ? `background-image: url(${(_h = (_g = user == null ? void 0 : user.quests) == null ? void 0 : _g.QuestRelicHunter) == null ? void 0 : _h.image})` : ""}"> <div class="notification ${((_k = (_j = (_i = user == null ? void 0 : user.quests) == null ? void 0 : _i.QuestRelicHunter) == null ? void 0 : _j.notifications) == null ? void 0 : _k.length) ? "active" : ""}">${(_m = (_l = user == null ? void 0 : user.quests) == null ? void 0 : _l.QuestRelicHunter) == null ? void 0 : _m.notifications}</div> <div class="corkboardUpdate ${((_o = (_n = user == null ? void 0 : user.quests) == null ? void 0 : _n.QuestRelicHunter) == null ? void 0 : _o.new_chat) ? "active" : ""}"></div> <div class="miceWarning ${((_q = (_p = user == null ? void 0 : user.quests) == null ? void 0 : _p.QuestRelicHunter) == null ? void 0 : _q.mice_warning) ? "active" : ""}"></div> </div> <span class="label">Treasure Maps</span> <span class="value">${getMapText()}</span> </a> </ul> </div> <div class="marblebevel"></div> </div>`; }; replaceMenuBar = () => { const body = document.querySelector("body"); if (!body) { return; } const mpLink = document.querySelector(".mousehuntHud-marketPlace"); if (mpLink) { const existingOldCampButton = document.querySelector(".mh-legacy-mode-camp-button"); if (!existingOldCampButton) { const oldCampButton = makeElement("a", ["mousehuntHud-campButton", "mh-legacy-mode-camp-button"]); oldCampButton.href = "https://www.mousehuntgame.com/"; oldCampButton.onclick = () => { hg.utils.PageUtil.setPage("Camp"); return false; }; mpLink.parentNode.insertBefore(oldCampButton, mpLink.nextSibling); } } const menu = document.querySelector(".mousehuntHud-menu"); if (menu) { menu.classList.remove("default"); menu.classList.add("legacy"); } const timer = document.querySelector(".huntersHornView__timer"); if (timer) { timer.classList.remove("huntersHornView__timer--default"); timer.classList.add("huntersHornView__timer--legacy"); } const kingdomMenu = document.querySelector(".mousehuntHud-menu .kingdom"); const friendsMenu = document.querySelector(".mousehuntHud-menu .friends"); if (kingdomMenu && friendsMenu) { const existing = document.querySelector(".mh-legacy-mode-teams"); if (!existing) { const teams = friendsMenu.cloneNode(true); teams.classList.remove("friends"); teams.classList.add("team", "mh-legacy-mode-teams"); kingdomMenu.parentNode.insertBefore(teams, kingdomMenu.nextSibling); } const existingLore = document.querySelector(".mh-legacy-mode-lore"); if (!existingLore) { const lore = kingdomMenu.cloneNode(true); lore.classList.remove("kingdom"); lore.classList.add("scoreboards", "mh-legacy-mode-lore"); kingdomMenu.parentNode.insertBefore(lore, kingdomMenu.nextSibling); } } }; replaceStatsBar = () => { const hudStats = document.querySelector(".headsUpDisplayView-stats"); if (hudStats) { const existingLegacyHud = document.querySelector(".mh-legacy-mode-hud"); if (!existingLegacyHud) { const legacyHud = makeElement("div", ["headsup", "mh-legacy-mode-hud"], getLegacyHudHtml()); hudStats.parentNode.insertBefore(legacyHud, hudStats.nextSibling); } } const oldStats = document.querySelector(".mousehuntHud-userStatBar"); if (oldStats) { oldStats.remove(); } }; getUserShield = () => { const titleImgs = { novice: "84bc1109b5cd7aa8c24d195bc8207c38.png", recruit: "3f1e44bbaa7138da4c326819e9f3f0a8.png", apprentice: "6f4673dd2d9d1e98b4569667d702a775.png", initiate: "e96387f7261b95c0eeab9291e4e594e1.png", journeyman: "ad6875955f541159133c6d3798519f81.png", master: "35ee6056a09037fb13a9195881875045.png", grandmaster: "0da3761747914f497c16dc2051ba132d.png", legendary: "fca35751046f4bcc972716ca484b6d61.png", hero: "0567284d6e12aaaed35ca5912007e070.png", knight: "398dca9a8c7703de969769491622ca32.png", lord: "9a6acd429a9a3a4849ed13901288b0b8.png", baron: "ea9c0ec2e6d3d81c14e61f5ce924d0e1.png", count: "dd11711a25b80db90e0306193f2e8d78.png", duke: "eb46ac1e8197b13299ab860f07d963db.png", grandduke: "87937fa96bbb3b2dd3225df883002642.png", archduke: "043efe31de4f0f2e0ddca590fe829032.png", viceroy: "e2e79f6f9201a4d4e7a89684fbb5356f.png", elder: "0f3cf224bf98457f6b5bad91ab1c7bd2.png", sage: "cb49e43c5e4460da7c09fe28ca4f44ce.png", fabled: "5daba92a8d609834aa8b789f37544e08.png" }; const title = getUserTitle(); return titleImgs[title] || titleImgs.novice; }; init52 = () => __async(void 0, null, function* () { const stylesToAdd = []; const loadMenu = getSetting("legacy-hud.menu", getSetting("experiments.legacy-hud-only-menu", false)); const loadStats = getSetting("legacy-hud.stats", getSetting("experiments.legacy-hud-only-stats", false)); const loadBoth = loadMenu && loadStats || getSetting("legacy-hud.enabled", getSetting("experiments.legacy-hud", true)); if (loadMenu || loadBoth) { stylesToAdd.push(menu_default2); replaceMenuBar(); } if (loadStats || loadBoth) { stylesToAdd.push(stats_default2); replaceStatsBar(); } if (loadStats || loadMenu || loadBoth) { stylesToAdd.push(styles_default57); } if (getSetting("legacy-hud.tweaks", getSetting("experiments.legacy-hud-tweaks", true))) { stylesToAdd.push(tweaks_default, `.headsup .shieldped { background-image: url(${getUserShield()}); }`); } addStyles(stylesToAdd, "legacy-hud"); }); legacy_hud_default = { id: "legacy-hud", name: "Legacy HUD & Legacy HUD Tweaks", type: "feature", default: false, description: "Enable the legacy HUD or tweaks to it.", load: init52, settings: settings_default27 }; } }); // src/modules/links/index.js var addHelpLinks, init53, links_default; var init_links2 = __esm({ "src/modules/links/index.js"() { init_utils2(); addHelpLinks = () => { const supportDropdown = document.querySelector(".menuItem.dropdown.support .dropdownContent"); if (!supportDropdown) { return; } const helpLinks = [ { id: "mouserip", class: "rules", title: "MOUSE.RIP", // caps to look better href: "https://mouse.rip", text: "MH guides, tools, and more." }, { id: "mhui", class: "fanPage", title: "MH Improved", href: "https://github.com/MHCommunity/mousehunt-improved", text: "Bug reports and feature requests." } ]; helpLinks.forEach((helpLink) => { const link = makeElement("a", [helpLink.id, helpLink.class]); makeElement("b", "title", helpLink.title, link); makeElement("span", "text", helpLink.text, link); link.setAttribute("href", helpLink.href); link.setAttribute("target", "_blank"); link.setAttribute("rel", "noopener noreferrer"); supportDropdown.append(link); }); }; init53 = () => __async(void 0, null, function* () { addHelpLinks(); addSubmenuItem({ menu: "kingdom", label: "mouse.rip", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/prize_shoppe.png", href: "https://mouse.rip", external: true }); }); links_default = { id: "links", type: "required", alwaysLoad: true, load: init53 }; } }); // src/modules/location-catch-stats/styles.css var styles_default58; var init_styles59 = __esm({ "src/modules/location-catch-stats/styles.css"() { styles_default58 = "#mh-catch-stats{position:absolute;top:25px;left:25px;z-index:50}@media screen and (prefers-reduced-motion: reduce){.mh-catch-stats-wrapper{transition:none}}.mh-catch-stats-wrapper{width:275px;background:#f6f3eb;border:1px solid #534022;box-shadow:1px 1px 1px #9d917f,1px 3px 5px #6a6969;transition:box-shadow .25s}.mh-is-dragging .mh-catch-stats-wrapper{box-shadow:1px 1px 1px #9d917f,0 7px 9px 2px #6a6969}.mh-catch-stats-header{display:flex;align-items:center;justify-content:space-between;padding:10px;color:#f6f3eb;cursor:grab;background-color:#926944;border-bottom:1px solid #ceb7a6}.mh-catch-stats-header h1{color:#f6f3eb}.mh-catch-stats-close{cursor:pointer}.mh-catch-stats-close:hover,.mh-catch-stats-close:focus{color:#926944;background-color:#eee;border-radius:50%;outline:1px solid #ccc}.mh-catch-stats-body{max-height:90vh;overflow:hidden auto}.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd){background-color:#e8e3d7}.mh-catch-stats{display:flex;align-items:center;justify-content:space-between;padding:10px;color:#000}.mh-catch-stats:hover,.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):hover,.mh-catch-stats:focus,.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):focus{color:#665f5f;text-decoration:none;background-color:#eee;outline:1px solid #ccc}.mh-catch-stats-image{position:relative;display:inline-block;width:40px;height:40px;vertical-align:middle;background-repeat:no-repeat;background-size:contain;border-radius:2px;box-shadow:1px 1px 1px #999}.mh-catch-stats-crown{position:absolute;right:-5px;bottom:-5px;width:20px;height:20px;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%;background-size:80%;border:1px solid #333;border-radius:50%}.mh-catch-stats-name{display:inline-block;padding-left:10px;vertical-align:middle}.mh-catch-stats-catches{padding-right:5px}\n"; } }); // src/modules/location-catch-stats/index.js var getMouseStats, buildMouseMarkup, showModal, init54, location_catch_stats_default; var init_location_catch_stats = __esm({ "src/modules/location-catch-stats/index.js"() { init_utils2(); init_styles59(); getMouseStats = () => __async(void 0, null, function* () { var _a, _b; const data = yield doRequest("managers/ajax/mice/mouse_list.php", { action: "get_environment", category: user.environment_type, user_id: user.user_id, display_mode: "stats", view: "ViewMouseListEnvironments" }); const mouseData = (_b = (_a = data == null ? void 0 : data.mouse_list_category) == null ? void 0 : _a.subgroups[0]) == null ? void 0 : _b.mice; mouseData.sort((a, b) => { return b.num_catches - a.num_catches; }); return mouseData != null ? mouseData : []; }); buildMouseMarkup = (mouseData) => { const mouse = Object.assign({}, { name: "", type: "", image: "", crown: "none", num_catches: 0 }, mouseData); const mouseEl = document.createElement("a"); mouseEl.classList.add("mh-catch-stats"); mouseEl.title = mouse.name; mouseEl.addEventListener("click", () => { var _a, _b; if ("undefined" !== ((_b = (_a = hg == null ? void 0 : hg.views) == null ? void 0 : _a.MouseView) == null ? void 0 : _b.show)) { hg.views.MouseView.show(mouse.type); } }); const image = document.createElement("div"); image.classList.add("mh-catch-stats-image"); image.style.backgroundImage = `url('${mouse.image}')`; if (mouse.crown && "none" !== mouse.crown) { const crown = document.createElement("div"); crown.classList.add("mh-catch-stats-crown"); crown.style.backgroundImage = `url('https://www.mousehuntgame.com/images/ui/crowns/crown_${mouse.crown}.png')`; image.append(crown); } const name = document.createElement("div"); name.classList.add("mh-catch-stats-name"); name.innerText = mouse.name; const imageNameContainer = document.createElement("div"); imageNameContainer.append(image); imageNameContainer.append(name); const catches = document.createElement("div"); catches.classList.add("mh-catch-stats-catches"); catches.innerText = mouse.num_catches; mouseEl.append(imageNameContainer); mouseEl.append(catches); return mouseEl; }; showModal = () => __async(void 0, null, function* () { const existing = document.querySelector("#mh-catch-stats"); if (existing) { existing.remove(); } const modalWrapper = document.createElement("div"); modalWrapper.id = "mh-catch-stats"; const modal = document.createElement("div"); modal.classList.add("mh-catch-stats-wrapper"); const header = document.createElement("div"); header.classList.add("mh-catch-stats-header"); const title = document.createElement("h1"); title.innerText = "Location Catch Stats"; header.append(title); const closeIcon = document.createElementNS("http://www.w3.org/2000/svg", "svg"); closeIcon.classList.add("mh-catch-stats-close"); closeIcon.setAttribute("viewBox", "0 0 24 24"); closeIcon.setAttribute("width", "18"); closeIcon.setAttribute("height", "18"); closeIcon.setAttribute("fill", "none"); closeIcon.setAttribute("stroke", "currentColor"); closeIcon.setAttribute("stroke-width", "1.5"); const closePath = document.createElementNS("http://www.w3.org/2000/svg", "path"); closePath.setAttribute("d", "M18 6L6 18M6 6l12 12"); closeIcon.append(closePath); closeIcon.addEventListener("click", () => { modalWrapper.remove(); }); header.append(closeIcon); modal.append(header); const mouseBody = document.createElement("div"); mouseBody.classList.add("mh-catch-stats-body"); const mouseStats2 = yield getMouseStats(); mouseStats2.forEach((mouseData) => { mouseBody.append(buildMouseMarkup(mouseData, mouseBody)); }); modal.append(mouseBody); modalWrapper.append(modal); document.body.append(modalWrapper); makeElementDraggable("#mh-catch-stats", ".mh-catch-stats-header", 25, 25, "mh-catch-stats-position"); }); init54 = () => __async(void 0, null, function* () { addStyles(styles_default58, "location-catch-stats"); addSubmenuItem({ menu: "mice", label: "Location Catch Stats", icon: "https://www.mousehuntgame.com/images/ui/hud/menu/prize_shoppe.png?", callback: showModal }); }); location_catch_stats_default = { id: "location-catch-stats", name: "Location Catch Stats", type: "feature", default: true, description: 'Adds a "Location Catch Stats" to the Mice menu to see your catch stats for the current location.', load: init54 }; } }); // src/modules/location-dashboard/styles.css var styles_default59; var init_styles60 = __esm({ "src/modules/location-dashboard/styles.css"() { styles_default59 = '.mousehuntHeaderView-gameTabs .menuItem.chat,.mousehuntHeaderView-gameTabs .community{display:none}.mousehuntHeaderView .menuItem.dropdown.dashboard{cursor:initial}.mousehuntHeaderView .dashboard .dropdownContent{width:420px;border-radius:0}.dashboardWrapper{max-height:60vh;padding:5px;overflow:hidden auto;border:1px solid #d7e2f1;box-shadow:0 5px 10px #8f8f8f}.dashboardRefresh{display:block;margin:10px auto}.regionWrapper{margin-bottom:5px;border:1px solid #c6c6c6}.regionName{padding:3px 0 2px 5px;margin-top:10px;font-size:12px;font-weight:900;background-color:#f4f7fc;border-bottom:1px solid #c6c6c6}.regionName:first-child{margin-top:0}.locationWrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:26px;padding:9px 5px;background-color:#fff}.locationWrapper.locationWrapper-rift_valour{height:35px}.locationWrapper:nth-child(2n){background-color:#eee}.locationImageWrapper{display:inline-flex;flex:0}img.locationImage{width:28px;height:28px;border-radius:3px;outline:1px solid #838282}.locationName{position:relative;flex-grow:1;min-width:105px;padding-left:10px;font-size:12px}.locationProgress p{margin:0;line-height:1;text-align:right}.locationProgress{font-size:11px;line-height:17px;text-align:right;white-space:pre-line}.locationProgress .stats{text-align:right}.noLocationData{font-size:12px;text-align:center}.dashboard-fi-tiles span{display:inline-block;width:18px;height:24px;color:transparent;background-image:url(https://www.mousehuntgame.com/images/ui/hud/floating_islands/mods.png);background-position-x:354px;background-size:354px}.dashboard-fi-tiles .glass,.dashboard-fi-tiles .gem_bonus{background-position-x:0}.dashboard-fi-tiles .ore,.dashboard-fi-tiles .ore_bonus{background-position-x:6.6%}.dashboard-fi-tiles .curd,.dashboard-fi-tiles .sky_cheese{background-position-x:13.3%}.dashboard-fi-tiles .pirate,.dashboard-fi-tiles .sky_pirates{background-position-x:20%}.dashboard-fi-tiles .key,.dashboard-fi-tiles .loot_cache{background-position-x:26.6%}.dashboard-fi-tiles .warden-wind,.dashboard-fi-tiles .wind_shrine{background-position-x:33.3%}.dashboard-fi-tiles .warden-rain,.dashboard-fi-tiles .rain_shrine{background-position-x:40%}.dashboard-fi-tiles .warden-frost,.dashboard-fi-tiles .frost_shrine{background-position-x:46.6%}.dashboard-fi-tiles .warden-fog,.dashboard-fi-tiles .fog_shrine{background-position-x:53.3%}.dashboard-fi-tiles .sprocket,.dashboard-fi-tiles .paragon_cache_a{background-position-x:60%}.dashboard-fi-tiles .bangle,.dashboard-fi-tiles .paragon_cache_d{background-position-x:66.6%}.dashboard-fi-tiles .wing,.dashboard-fi-tiles .paragon_cache_c{background-position-x:73.3%}.dashboard-fi-tiles .silk,.dashboard-fi-tiles .paragon_cache_b{background-position-x:80%}.dashboard-fi-tiles .glore,.dashboard-fi-tiles .ore_gem_bonus{background-position-x:86.6%}.dashboard-fi-tiles .seal,.dashboard-fi-tiles .cloudstone_bonus{background-position-x:93.3%}.dashboard-fi-tiles .jade,.dashboard-fi-tiles .charm_bonus{background-position-x:100%}.location-refresh-item{display:flex;align-items:stretch;border:1px solid #ccc;border-radius:5px;box-shadow:0 1px 1px -1px #7e7e7e}.mh-improved-location-refresh-popup-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.location-refresh-item.done{background-color:#3fcd84;border-color:#adadad}.location-refresh-item .locationName{position:relative;display:flex;align-items:center;overflow:hidden}.location-refresh-item .locationName .name{z-index:1}.location-refresh-item.traveling .locationName .progress:after{position:absolute;top:0;right:100%;bottom:0;width:100%;content:"";background:#f3c019;animation:mh-improved-right-to-left 1s linear forwards}@media (prefers-reduced-motion: reduce){.location-refresh-item.traveling .locationName .progress:after{animation:none}}.mh-improved-location-refresh-confirm-popup #overlayPopup .jsDialogContainer .suffix{display:none}.mh-improved-location-refresh-confirm-popup-buttons{display:flex;align-items:center;justify-content:space-around;margin-top:30px}.dashboard-fi-tiles{vertical-align:middle}.dashboard-fi-wrap{display:flex;flex-direction:row;gap:5px;justify-content:flex-end;margin-bottom:-5px}.dashboard-bb-wrap .tile{display:inline-block;width:20px;height:20px;color:transparent;background-image:url(https://www.mousehuntgame.com/images/ui/hud/bountiful_beanstalk/chevrons.png?asset_cache_version=3);background-size:100%}.dashboard-bb-wrap .tile.standard{background-position-y:0%}.dashboard-bb-wrap .tile.super{background-position-y:34%}.dashboard-bb-wrap .tile.extreme{background-position-y:67%}.dashboard-bb-wrap .tile.ultimate{background-position-y:100%}.dashboard-bb-wrap.room-name{display:flex;gap:5px;align-items:center;justify-content:flex-end}.dashboard-bb-wrap.embellishments .tile{display:inline-block;width:20px;height:20px;color:transparent}.dashboard-bb-wrap.embellishments .tile.golden_key{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/d855937c33e0fc0db25fbdf1aea70aa2.png)}.dashboard-bb-wrap.embellishments .tile.golden_feather{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/654d4e0c8308c3ab0ee99d32503bf82a.png)}.dashboard-bb-wrap.embellishments .tile.ruby_remover{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/6753553ca41cb4754fba0ebf7600378b.png)}.locationImageWrapper:hover,.locationName:hover{text-decoration:underline;cursor:pointer}\n'; } }); // src/modules/location-dashboard/location/desert-warpath.js var getFieryWarpathText, setFieryWarpathData; var init_desert_warpath = __esm({ "src/modules/location-dashboard/location/desert-warpath.js"() { init_utils2(); getFieryWarpathText = (quests) => { var _a, _b, _c, _d; if (!quests.QuestFieryWarpath) { return ""; } const quest = { wave: ((_a = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _a.wave) || 0, streak: ((_b = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _b.streak) || 0, remaining: ((_c = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _c.remaining) || 0, percent: ((_d = quests == null ? void 0 : quests.QuestFieryWarpath) == null ? void 0 : _d.percent) || 100 }; let streakText = ""; if (quest.streak !== 0) { streakText = ` \xB7 ${quest.streak} streak`; } return `Wave ${quest.wave}: ${100 - quest.percent}% remaining${streakText} `; }; setFieryWarpathData = () => { if ("desert_warpath" !== getCurrentLocation()) { return false; } let wave = 0; let streak = "No Streak"; let remaining = 0; let percent = 100; const waveEl = document.querySelector(".warpathHUD.showPortal"); if (waveEl) { const waveClass = [...waveEl.classList].find((className) => className.startsWith("wave")); wave = Number.parseInt(waveClass.replace("wave", "").replace("_", "")); } const streakEl = document.querySelector(".warpathHUD-streakBoundingBox"); if (streakEl) { streak = Number.parseInt(streakEl.innerText.replaceAll("\n", " ").replace(" 0", "").trim()); } const remainingEl = document.querySelectorAll(".warpathHUD-wave-mouse-population"); if (remainingEl.length) { remaining = [...remainingEl].reduce((sum, el) => { if (el.innerText) { sum += Number.parseInt(el.innerText); } return sum; }, 0); remaining = remaining - 2; } const percentEl = document.querySelector(".warpathHUD-moraleBar span"); if (percentEl) { const style = percentEl.getAttribute("style"); if (style) { percent = Number.parseInt(style.replace("width:", "").replace("%;", "")); } } return { wave, streak, remaining, percent }; }; } }); // src/modules/location-dashboard/location/seasonal-garden.js var getSeasonalGardenText, setSeasonalGardenData; var init_seasonal_garden = __esm({ "src/modules/location-dashboard/location/seasonal-garden.js"() { getSeasonalGardenText = (quests) => { var _a, _b; if (!quests.QuestSeasonalGarden) { return ""; } const quest = { amp: ((_a = quests == null ? void 0 : quests.QuestSeasonalGarden) == null ? void 0 : _a.amp) || 0, max: ((_b = quests == null ? void 0 : quests.QuestSeasonalGarden) == null ? void 0 : _b.max) || 0 }; return `Amp: ${quest.amp}% / ${quest.max}%`; }; setSeasonalGardenData = () => { const quest = { amp: 0, max: 0 }; const amp = document.querySelector(".seasonalGardenHUD-currentAmplifier-value"); if (amp) { quest.amp = Number.parseInt(amp.textContent, 10); } const max = document.querySelector(".seasonalGardenHUD-maxAmplifier-value"); if (max) { quest.max = Number.parseInt(max.textContent, 10); } return quest; }; } }); // src/modules/location-dashboard/location/zugzwang-tower.js var getChessProgress, getZugzwangTowerText, setZugzwangTowerData; var init_zugzwang_tower = __esm({ "src/modules/location-dashboard/location/zugzwang-tower.js"() { getChessProgress = (pieces) => { if (pieces <= 8) { return "Pawns"; } if (pieces <= 10) { return "Knights"; } if (pieces <= 12) { return "Bishops"; } if (pieces <= 14) { return "Rooks"; } if (pieces <= 15) { return "Queen"; } return "King"; }; getZugzwangTowerText = (quests) => { if (!quests.QuestZugzwangTower) { return; } const returnText = `${quests.QuestZugzwangTower.amp || 0}%`; const techProgress = quests.QuestZugzwangTower.tech_progress || 0; const mythProgress = quests.QuestZugzwangTower.myth_progress || 0; if (techProgress >= 16 && mythProgress >= 16) { return `${returnText} Amp, Chessmaster`; } return `${returnText} Amp, Technic: ${getChessProgress(techProgress)}, Mystic: ${getChessProgress(mythProgress)}`; }; setZugzwangTowerData = () => { const ampEl = document.querySelector(".zuzwangsTowerHUD-currentAmplifier span"); const amp = ampEl ? Number.parseInt(ampEl.innerText, 10) : 0; const techProgressEl = document.querySelectorAll(".zuzwangsTowerHUD-progress.tech img"); const techProgress = techProgressEl ? techProgressEl.length : 0; const mythProgressEl = document.querySelectorAll(".zuzwangsTowerHUD-progress.magic img"); const mythProgress = mythProgressEl ? mythProgressEl.length : 0; return { amp, techProgress, mythProgress }; }; } }); // src/modules/location-dashboard/location/bountiful-beanstalk.js var bountiful_beanstalk_default; var init_bountiful_beanstalk = __esm({ "src/modules/location-dashboard/location/bountiful-beanstalk.js"() { bountiful_beanstalk_default = (quests) => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y; if (!quests.QuestBountifulBeanstalk) { return ""; } if (!((_a = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _a.in_castle)) { const room = ((_d = (_c = (_b = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _b.beanstalk) == null ? void 0 : _c.current_zone) == null ? void 0 : _d.name) || ""; const huntsRemaining2 = ((_f = (_e = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _e.beanstalk) == null ? void 0 : _f.hunts_remaining_text) || ""; const isBoss2 = ((_h = (_g = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _g.beanstalk) == null ? void 0 : _h.is_boss_encounter) || false; return `${room} (Beanstalk) <div class="stats">${isBoss2 ? "At Boss \xB7 " : ""}${huntsRemaining2}</div>`; } const huntsRemaining = ((_j = (_i = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _i.castle) == null ? void 0 : _j.hunts_remaining_text) || ""; const isBoss = ((_l = (_k = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _k.castle) == null ? void 0 : _l.is_boss_encounter) || false; const isChase = ((_n = (_m = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _m.castle) == null ? void 0 : _n.is_boss_chase) || false; const noise = ((_p = (_o = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _o.castle) == null ? void 0 : _p.noise_level) || 0; const maxNoise = ((_r = (_q = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _q.castle) == null ? void 0 : _r.max_noise_level) || 0; const roomQuality = (_u = (_t = (_s = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _s.castle) == null ? void 0 : _t.current_room) == null ? void 0 : _u.type.replace("_room", "").split("_").pop().trim(); const roomName = (_x = (_w = (_v = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _v.castle) == null ? void 0 : _w.current_room) == null ? void 0 : _x.name.replace(" Room", "").replace(`${roomQuality.charAt(0).toUpperCase() + roomQuality.slice(1).toLowerCase()} `, "").trim(); const noiseString = isBoss ? "Boss" : isChase ? "Chase" : `\u266A ${noise.toLocaleString()}/${maxNoise.toLocaleString()}`; const embellishmentsText = (_y = quests == null ? void 0 : quests.QuestBountifulBeanstalk) == null ? void 0 : _y.embellishments.filter((item) => item.is_active).map((item) => `<span class="tile ${item.type}"></span>`); let returnText = '<div class="dashboard-bb">'; returnText += `<div class="dashboard-bb-wrap room-name"><span class="tile ${roomQuality}"></span><div class="name">${roomName}</div>`; returnText += `<div class="dashboard-bb-wrap embellishments">${embellishmentsText.join("")}</div>`; returnText += "</div>"; returnText += `<div class="stats">${noiseString} \xB7 ${huntsRemaining}</div>`; return returnText; }; } }); // src/modules/location-dashboard/location/rift-bristle-woods.js var rift_bristle_woods_default; var init_rift_bristle_woods = __esm({ "src/modules/location-dashboard/location/rift-bristle-woods.js"() { rift_bristle_woods_default = (quests) => { var _a, _b, _c, _d, _e, _f, _g, _h, _i; if (!quests.QuestRiftBristleWoods) { return ""; } const quest = { progress_goal: ((_a = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _a.progress_goal) || null, progress_remaining: ((_b = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _b.progress_remaining) || null, chamber_name: ((_c = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _c.chamber_name) || null, chamber_type: ((_d = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _d.chamber_type) || null, obelisk_percent: ((_e = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _e.obelisk_percent) || null, aco_sand: ((_f = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _f.acolyte_sand) || 0, time_sand: ((_i = (_h = (_g = quests == null ? void 0 : quests.QuestRiftBristleWoods) == null ? void 0 : _g.items) == null ? void 0 : _h.rift_hourglass_sand_stat_item) == null ? void 0 : _i.quantity) || 0 }; if ("acolyte_chamber" === quest.chamber_type) { return `Acolyte chamber: ${quest.obelisk_percent}% charged \xB7 <div class="stats">${quest.aco_sand} Acolyte sand \xB7 ${quest.time_sand} time sand</div>`; } return `${quest.chamber_name} \xB7 ${quest.progress_goal - quest.progress_remaining} / ${quest.progress_goal} loot`; }; } }); // src/modules/location-dashboard/location/rift-burroughs.js var rift_burroughs_default; var init_rift_burroughs = __esm({ "src/modules/location-dashboard/location/rift-burroughs.js"() { rift_burroughs_default = (quests) => { var _a; if (!quests.QuestRiftBurroughs) { return ""; } const quest = { mist_released: ((_a = quests == null ? void 0 : quests.QuestRiftBurroughs) == null ? void 0 : _a.mist_released) || null }; return `Mist: ${quest.mist_released} / 20`; }; } }); // src/modules/location-dashboard/location/floating-islands.js var floating_islands_default2; var init_floating_islands2 = __esm({ "src/modules/location-dashboard/location/floating-islands.js"() { floating_islands_default2 = (quests) => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n; if (!quests.QuestFloatingIslands || !quests.QuestFloatingIslands.hunting_site_atts) { return ""; } const powerTypes = { arcn: "Arcane", frgttn: "Forgotten", hdr: "Hydro", shdw: "Shadow", drcnc: "Draconic", law: "Law", phscl: "Physical", tctcl: "Tactical", launch_pad_island: "Launch Pad" }; const quest = { activated_island_mod_types: ((_b = (_a = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _a.hunting_site_atts) == null ? void 0 : _b.activated_island_mod_types) || null, island_mod_panels: ((_d = (_c = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _c.hunting_site_atts) == null ? void 0 : _d.island_mod_panels) || null, island_power_type: ((_f = (_e = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _e.hunting_site_atts) == null ? void 0 : _f.island_power_type) || null, isHai: ((_h = (_g = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _g.hunting_site_atts) == null ? void 0 : _h.is_high_tier_island) || false, isSp: ((_j = (_i = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _i.hunting_site_atts) == null ? void 0 : _j.is_vault_island) || false, isLai: false, hunts_remaining: ((_l = (_k = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _k.hunting_site_atts) == null ? void 0 : _l.hunts_remaining) || null, wardens_caught: ((_n = (_m = quests == null ? void 0 : quests.QuestFloatingIslands) == null ? void 0 : _m.hunting_site_atts) == null ? void 0 : _n.sky_wardens_caught) || 0 }; quest.isLai = !quest.isHai && !quest.isSp; const isLaunchPad = quest.island_power_type === "launch_pad_island"; if (isLaunchPad) { return `Launch Pad \xB7 <p>${quest.wardens_caught} wardens caught`; } let type = "LAI"; if (quest.isHai) { type = "HAI"; } else if (quest.isSp) { type = "SP"; } let tileText = ""; quest.island_mod_panels.forEach((panel) => { const panelType = panel.type.toLowerCase().replaceAll("loot_cache", "key").replaceAll("charm_bonus", "J"); const complete = panel.is_complete ? "complete" : "incomplete"; tileText += `<span class="tile ${panelType} ${complete}">${panelType}</span>`; }); const powerType = powerTypes[quest.island_power_type]; let returnText = '<div class="dashboard-fi-wrap">'; returnText += `<div class='dashboard-fi-tiles'>${tileText}</div>`; returnText += `<div class='dashboard-fi-type'>${powerType} ${type}</div>`; returnText += "</div>"; if (quest.isLai) { returnText += `<div class="stats">${quest.hunts_remaining} hunts remaining \xB7 ${quest.wardens_caught} wardens caught</div>`; } else { return returnText += ` \xB7 ${quest.hunts_remaining} hunts remaining`; } return returnText; }; } }); // src/modules/location-dashboard/location/foreword-farm.js var foreword_farm_default; var init_foreword_farm = __esm({ "src/modules/location-dashboard/location/foreword-farm.js"() { foreword_farm_default = (quests) => { if (!quests.QuestForewordFarm) { return ""; } const plants = { empty: 0, ordinary_farm_plant: 0, legendary_farm_plant: 0, twisted_legendary_magic_farm_plant: 0 }; quests.QuestForewordFarm.plots.forEach((plot) => { const name = plot.is_growing ? plot.plant.type : "empty"; plants[name] += 1; }); if (plants.empty === 3) { return "No plants growing"; } let returnText = ""; if (plants.ordinary_farm_plant > 0) { returnText += `${plants.ordinary_farm_plant} Mulch, `; } if (plants.legendary_farm_plant > 0) { returnText += `${plants.legendary_farm_plant} Papyrus, `; } if (plants.twisted_legendary_magic_farm_plant > 0) { returnText += `${plants.twisted_legendary_magic_farm_plant} Twisted Papyrus, `; } returnText = returnText.slice(0, -2); return `Growing ${returnText}`; }; } }); // src/modules/location-dashboard/location/fort-rox.js var fort_rox_default; var init_fort_rox = __esm({ "src/modules/location-dashboard/location/fort-rox.js"() { fort_rox_default = (quests) => { if (!quests.QuestFortRox) { return ""; } const quest = { stage: quests.QuestFortRox.current_stage || "stage_none", hp: quests.QuestFortRox.hp || 0, max_hp: quests.QuestFortRox.max_hp || 0, is_dawn: quests.QuestFortRox.is_dawn || false }; let phase = "Day"; const phases = { stage_none: "Day", stage_one: "Twilight", stage_two: "Midnight", stage_three: "Pitch", stage_four: "Utter Darkness", stage_five: "First Light" }; phase = quest.is_dawn ? "Dawn" : phases[quest.stage]; return `${phase}: ${quest.hp}/${quest.max_hp} HP`; }; } }); // src/modules/location-dashboard/location/rift-furoma.js var rift_furoma_default; var init_rift_furoma = __esm({ "src/modules/location-dashboard/location/rift-furoma.js"() { rift_furoma_default = (quests) => { if (!quests.QuestRiftFuroma) { return ""; } const q = quests.QuestRiftFuroma; const map = { one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9, ten: 10 }; const location = q.view_state.includes("pagoda") ? "inside" : "outside"; if ("inside" === location) { const droidLevel = map[q.droid.charge_level.split("_")[2]]; const batteryPercent = Math.floor(q.batteries[q.droid.charge_level].percent); return `Pagoda \xB7 Battery ${droidLevel} (${batteryPercent}%) \xB7 ${q.droid.remaining_energy} Enerchi`; } const unlockedBatteries = Object.keys(q.batteries).filter((battery) => { return q.batteries[battery].status.includes("unlocked"); }); const highestBattery = unlockedBatteries.reduce((highest, battery) => { const batteryLevel = map[battery.split("_")[2]]; return batteryLevel > highest ? batteryLevel : highest; }, 0); return `Outside \xB7 Battery ${highestBattery} \xB7 ${q.items.combat_energy_stat_item.quantity} Enerchi`; }; } }); // src/modules/location-dashboard/location/iceberg.js var iceberg_default2; var init_iceberg2 = __esm({ "src/modules/location-dashboard/location/iceberg.js"() { iceberg_default2 = (quests) => { if (!quests.QuestIceberg) { return ""; } const quest = { phase: quests.QuestIceberg.current_phase || "Iceberg", progress: quests.QuestIceberg.user_progress || 0, hunts: quests.QuestIceberg.turns_taken || 0 }; return `${quest.phase}: ${quest.progress} ft.<div class="stats">Hunt #${quest.hunts}</div>`; }; } }); // src/modules/location-dashboard/location/labyrinth.js var labyrinth_default3; var init_labyrinth3 = __esm({ "src/modules/location-dashboard/location/labyrinth.js"() { labyrinth_default3 = (quests) => { var _a, _b, _c; if (!quests.QuestLabyrinth) { return ""; } const quest = { clues: ((_a = quests == null ? void 0 : quests.QuestLabyrinth) == null ? void 0 : _a.clues) || 0, hallway_name: ((_b = quests == null ? void 0 : quests.QuestLabyrinth) == null ? void 0 : _b.hallway_name) || "", status: ((_c = quests == null ? void 0 : quests.QuestLabyrinth) == null ? void 0 : _c.status) || null }; let clueText = ""; if (quest.clues) { const clueTexts = []; quest.clues.forEach((clue) => { const clueName = clue.name.replace("Farming", "Farm").replace("Dead End", "DEC"); clueTexts.push(`${clue.quantity} ${clueName}`); }); if (clueTexts.length > 0) { clueText = `: ${clueTexts.join(", ")} clues`; } } const hallwayName = quest.hallway_name.replace(" Hallway", ""); const currentLocation = quest.status === "intersection" ? "Intersection" : hallwayName; return `${currentLocation}${clueText}`; }; } }); // src/modules/location-dashboard/location/desert-oasis.js var desert_oasis_default; var init_desert_oasis = __esm({ "src/modules/location-dashboard/location/desert-oasis.js"() { desert_oasis_default = (quests) => { var _a, _b; if (!quests.QuestLivingGarden) { return ""; } const quest = quests.QuestLivingGarden; const twistedText = quest.is_normal ? "Not twisted" : "Twisted"; if ("dumped" === ((_a = quest == null ? void 0 : quest.minigame) == null ? void 0 : _a.vials_state) && ((_b = quest == null ? void 0 : quest.minigame) == null ? void 0 : _b.timer)) { return `${twistedText} \xB7 Pouring${(quest == null ? void 0 : quest.minigame.timer) ? ` for ${quest == null ? void 0 : quest.minigame.timer} hunts` : ""}`; } return `${twistedText}`; }; } }); // src/modules/location-dashboard/location/lost-city.js var lost_city_default; var init_lost_city = __esm({ "src/modules/location-dashboard/location/lost-city.js"() { lost_city_default = (quests) => { var _a, _b; if (!quests.QuestLostCity) { return ""; } const quest = quests.QuestLostCity; const twistedText = quest.is_normal ? "Not twisted" : "Twisted"; if (!((_a = quest == null ? void 0 : quest.minigame) == null ? void 0 : _a.is_cursed)) { return `${twistedText} \xB7 Not cursed`; } const curses = (_b = quest == null ? void 0 : quest.minigame) == null ? void 0 : _b.curses; const cursesText = curses.map((curse) => curse.name).join(", ").replaceAll("!", "").replace(/,([^,]*)$/, "$1"); return `${twistedText} \xB7 Cursed with ${cursesText}`; }; } }); // src/modules/location-dashboard/location/mousoleum.js var mousoleum_default2; var init_mousoleum2 = __esm({ "src/modules/location-dashboard/location/mousoleum.js"() { mousoleum_default2 = (quests) => { var _a, _b, _c, _d; if (!quests.QuestMousoleum) { return ""; } const quest = { has_wall: ((_a = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _a.has_wall) || false, wall_health: ((_b = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _b.wall_health) || 0, max_wall_health: ((_c = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _c.max_wall_health) || 0, planks: ((_d = quests == null ? void 0 : quests.QuestMousoleum) == null ? void 0 : _d.wall_materials) || 0 }; if (quest.has_wall) { return `Wall \xB7 ${quest.wall_health}/${quest.max_wall_health} HP`; } return `No Wall \xB7 ${quest.planks} planks`; }; } }); // src/modules/location-dashboard/location/moussu-picchu.js var moussu_picchu_default; var init_moussu_picchu = __esm({ "src/modules/location-dashboard/location/moussu-picchu.js"() { init_utils2(); moussu_picchu_default = (quests) => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r; if (!(quests.QuestMoussuPicchu && quests.QuestMoussuPicchu.elements)) { return ""; } const quest = { rainPercent: ((_c = (_b = (_a = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _a.elements) == null ? void 0 : _b.rain) == null ? void 0 : _c.percent) || 0, rainLevel: ((_f = (_e = (_d = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _d.elements) == null ? void 0 : _e.rain) == null ? void 0 : _f.level) || null, stormPercent: ((_i = (_h = (_g = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _g.elements) == null ? void 0 : _h.storm) == null ? void 0 : _i.percent) || 0, stormLevel: ((_l = (_k = (_j = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _j.elements) == null ? void 0 : _k.storm) == null ? void 0 : _l.level) || null, windPercent: ((_o = (_n = (_m = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _m.elements) == null ? void 0 : _n.wind) == null ? void 0 : _o.percent) || 0, windLevel: ((_r = (_q = (_p = quests == null ? void 0 : quests.QuestMoussuPicchu) == null ? void 0 : _p.elements) == null ? void 0 : _q.wind) == null ? void 0 : _r.level) || null }; if (quest.rainPercent === 100 && quest.windPercent === 100) { return "Max Storm \xB7 Wind (100%) \xB7 Rain (100%)"; } return `${uppercaseFirstLetter(quest.windLevel)} Wind (${quest.windPercent}%) \xB7 ${uppercaseFirstLetter(quest.rainLevel)} \xB7 Rain (${quest.rainPercent}%)`; }; } }); // src/modules/location-dashboard/location/queso-geyser.js var queso_geyser_default; var init_queso_geyser = __esm({ "src/modules/location-dashboard/location/queso-geyser.js"() { queso_geyser_default = (quests) => { var _a, _b; if (!quests.QuestQuesoGeyser) { return ""; } const quest = { state_name: ((_a = quests == null ? void 0 : quests.QuestQuesoGeyser) == null ? void 0 : _a.state_name) || "Cork Gathering", // add check for pressure building here hunts_remaining: ((_b = quests == null ? void 0 : quests.QuestQuesoGeyser) == null ? void 0 : _b.hunts_remaining) || 0 }; return `${quest.state_name}: ${quest.hunts_remaining} hunts remaining`; }; } }); // src/modules/location-dashboard/location/sand-dunes.js var sand_dunes_default; var init_sand_dunes = __esm({ "src/modules/location-dashboard/location/sand-dunes.js"() { sand_dunes_default = (quests) => { var _a, _b; if (!quests.QuestSandDunes) { return ""; } const quest = quests.QuestSandDunes; const twistedText = quest.is_normal ? "Not twisted" : "Twisted"; if (quest == null ? void 0 : quest.is_normal) { return `${twistedText} \xB7 ${((_a = quest == null ? void 0 : quest.minigame) == null ? void 0 : _a.has_stampede) ? "Stampeding" : "Not stampeding"}`; } return `${twistedText} \xB7 ${((_b = quest == null ? void 0 : quest.minigame) == null ? void 0 : _b.salt_charms_used) || 0} salt`; }; } }); // src/modules/location-dashboard/location/sunken-city.js var sunken_city_default; var init_sunken_city = __esm({ "src/modules/location-dashboard/location/sunken-city.js"() { sunken_city_default = (quests) => { var _a; if (!quests.QuestSunkenCity) { return ""; } const oxygen = ((_a = quests.QuestSunkenCity.items) == null ? void 0 : _a.oxygen_stat_item) || 0; if (!quests.QuestSunkenCity.is_diving) { const canDive = quests.QuestSunkenCity.can_dive ? "can dive" : "cannot dive"; return `Docked (${canDive}), ${oxygen} O\u2082`; } const zone = quests.QuestSunkenCity.zone_name; const depth = quests.QuestSunkenCity.distance; return `${zone}, ${depth}m, ${oxygen} O\u2082`; }; } }); // src/modules/location-dashboard/location/table-of-contents.js var table_of_contents_default; var init_table_of_contents = __esm({ "src/modules/location-dashboard/location/table-of-contents.js"() { table_of_contents_default = (quests) => { if (!quests.QuestTableOfContents) { return ""; } const q = quests.QuestTableOfContents; if (!q.is_writing) { return "Not writing"; } return `Writing: ${q.current_book.name} (${q.current_book.percent}%) <div class="stats">${q.current_book.word_count_formatted} words \xB7 ${q.current_book.hunts_remaining} hunts remaining</div>`; }; } }); // src/modules/location-dashboard/location/pollution-outbreak.js var pollution_outbreak_default; var init_pollution_outbreak = __esm({ "src/modules/location-dashboard/location/pollution-outbreak.js"() { pollution_outbreak_default = (quests) => { var _a, _b, _c, _d, _e, _f, _g; if (!quests.QuestPollutionOutbreak) { return ""; } const crude = ((_c = (_b = (_a = quests.QuestPollutionOutbreak) == null ? void 0 : _a.items) == null ? void 0 : _b.crude_pollutinum_stat_item) == null ? void 0 : _c.quantity) || 0; const refined = ((_f = (_e = (_d = quests.QuestPollutionOutbreak) == null ? void 0 : _d.items) == null ? void 0 : _e.refined_pollutinum_stat_item) == null ? void 0 : _f.quantity) || 0; const max = ((_g = quests.QuestPollutionOutbreak) == null ? void 0 : _g.max_pollutinum) || 0; return `${crude.toLocaleString()}/${max} Pollutinum<div class="stats">${refined.toLocaleString()} Refined Pollutinum</div>`; }; } }); // src/modules/location-dashboard/location/rift-valour.js var rift_valour_default; var init_rift_valour = __esm({ "src/modules/location-dashboard/location/rift-valour.js"() { rift_valour_default = (quests) => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n; if (!quests.QuestRiftValour) { return ""; } const quest = { floor: ((_a = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _a.floor) || 0, floor_name: ((_b = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _b.floor_name) || "Outside", floor_steps: ((_c = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _c.floor_steps) || 0, hunts_remaining: ((_d = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _d.hunts_remaining) || 0, current_step_formatted: ((_e = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _e.current_step_formatted) || "0", speed: ((_h = (_g = (_f = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _f.power_up_data) == null ? void 0 : _g.long_stride) == null ? void 0 : _h.current_level) + 1 || 1, sync: ((_k = (_j = (_i = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _i.power_up_data) == null ? void 0 : _j.hunt_limit) == null ? void 0 : _k.current_level) + 1 || 1, siphon: ((_n = (_m = (_l = quests == null ? void 0 : quests.QuestRiftValour) == null ? void 0 : _l.power_up_data) == null ? void 0 : _m.boss_extension) == null ? void 0 : _n.current_level) + 1 || 1 }; let text = ""; text = quest.floor === 0 ? "Outside" : `Floor ${quest.floor} (${quest.floor_name}) \xB7 ${quest.hunts_remaining} hunts remaining`; return `${text} <div class="stats">Speed ${quest.speed} \xB7 Sync ${quest.sync} \xB7 Siphon ${quest.siphon}</div>`; }; } }); // src/modules/location-dashboard/location/whisker-woods-rift.js var whisker_woods_rift_default; var init_whisker_woods_rift = __esm({ "src/modules/location-dashboard/location/whisker-woods-rift.js"() { whisker_woods_rift_default = (quests) => { var _a, _b, _c, _d, _e, _f, _g, _h, _i; if (!(quests.QuestRiftWhiskerWoods && quests.QuestRiftWhiskerWoods.zones)) { return ""; } const quest = { clearing: ((_c = (_b = (_a = quests == null ? void 0 : quests.QuestRiftWhiskerWoods) == null ? void 0 : _a.zones) == null ? void 0 : _b.clearing) == null ? void 0 : _c.level) || 0, lagoon: ((_f = (_e = (_d = quests == null ? void 0 : quests.QuestRiftWhiskerWoods) == null ? void 0 : _d.zones) == null ? void 0 : _e.lagoon) == null ? void 0 : _f.level) || 0, tree: ((_i = (_h = (_g = quests == null ? void 0 : quests.QuestRiftWhiskerWoods) == null ? void 0 : _g.zones) == null ? void 0 : _h.tree) == null ? void 0 : _i.level) || 0 }; return `Rage: ${quest.clearing} / ${quest.lagoon} / ${quest.tree}`; }; } }); // src/modules/location-dashboard/location/ancient-city.js var ancient_city_default; var init_ancient_city = __esm({ "src/modules/location-dashboard/location/ancient-city.js"() { ancient_city_default = (quests) => { var _a, _b; if (!quests.QuestAncientCity) { return ""; } const quest = { district_name: ((_a = quests == null ? void 0 : quests.QuestAncientCity) == null ? void 0 : _a.district_name) || null, remaining: ((_b = quests == null ? void 0 : quests.QuestAncientCity) == null ? void 0 : _b.remaining) || null }; if (!quest.district_name || !quest.remaining) { return ""; } return `${quest.district_name.replace("The ", "")}, ${quest.remaining} stealth`; }; } }); // src/modules/location-dashboard/index.js var cacheLocationData, waitForTravel, disarmBait, doLocationRefresh, makeDashboardTab, makeRegionMarkup, makeLocationMarkup, getDashboardContents, environments4, init55, location_dashboard_default; var init_location_dashboard = __esm({ "src/modules/location-dashboard/index.js"() { init_utils2(); init_utils2(); init_styles60(); init_desert_warpath(); init_seasonal_garden(); init_zugzwang_tower(); init_bountiful_beanstalk(); init_rift_bristle_woods(); init_rift_burroughs(); init_floating_islands2(); init_foreword_farm(); init_fort_rox(); init_rift_furoma(); init_iceberg2(); init_labyrinth3(); init_desert_oasis(); init_lost_city(); init_mousoleum2(); init_moussu_picchu(); init_queso_geyser(); init_sand_dunes(); init_sunken_city(); init_table_of_contents(); init_pollution_outbreak(); init_rift_valour(); init_whisker_woods_rift(); init_ancient_city(); cacheLocationData = () => __async(void 0, null, function* () { if (!user.environment_type || !user.quests) { return; } if (user.environment_type === "desert_warpath") { const fwQuestData = setFieryWarpathData(); if (fwQuestData) { user.quests.QuestFieryWarpath = fwQuestData; } } else if (user.environment_type === "zugzwang_tower") { const ztQuestData = setZugzwangTowerData(); if (ztQuestData) { user.quests.QuestZugzwangTower = ztQuestData; } } else if (user.environment_type === "seasonal_garden") { const sgQuestData = setSeasonalGardenData(); if (sgQuestData) { user.quests.QuestSeasonalGarden = sgQuestData; } } const questsCached = yield cacheGet("quests", {}); const questsCombined = Object.assign({}, questsCached, user.quests); if (user.environment_type === "labyrinth") { questsCombined.QuestAncientCity = {}; } else if (user.environment_type === "ancient_city") { questsCombined.QuestLabyrinth = {}; } else if (user.environment_type === "zugzwang_tower") { questsCombined.QuestSeasonalGarden = {}; } else if (user.environment_type === "seasonal_garden") { questsCombined.QuestZugzwangTower = {}; } try { cacheSet("quests", questsCombined); } catch (error) { debug("Error saving location data to localStorage:", error); } }); waitForTravel = (environment) => __async(void 0, null, function* () { return new Promise((resolve) => { hg.utils.User.travel( environment, (success) => { debug(`Travel success: ${success}`); resolve(); }, (error) => { debug(`Travel error: ${error}`); resolve(); } ); debug(`Traveled to ${environment}.`); }); }); disarmBait = () => __async(void 0, null, function* () { return new Promise((resolve) => { hg.utils.TrapControl.disarmBait().go(() => { resolve(); }, () => { reject(); }); }); }); doLocationRefresh = () => __async(void 0, null, function* () { sessionSet("doing-location-refresh", true); const locationProgress = []; const environmentsToUse = /* @__PURE__ */ new Set([ "ancient_city", "bountiful_beanstalk", "desert_warpath", "floating_islands", "foreword_farm", "fort_rox", "iceberg", "labyrinth", "desert_oasis", "lost_city", "mousoleum", "moussu_picchu", "pollution_outbreak", "queso_geyser", "rift_bristle_woods", "rift_burroughs", "rift_furoma", "rift_valour", "rift_whisker_woods", "sand_dunes", "seasonal_garden", "sunken_city", "table_of_contents", "zugzwang_tower" ]); const environmentsToTravel = environments4.filter((env) => { return environmentsToUse.has(env.id) && isUserTitleAtLeast(env.title); }); debug(`Environments to travel: ${environmentsToTravel.map((env) => env.name).join(", ")}`); environmentsToTravel.sort((a, b) => { return a.order - b.order; }); debug(`Sorted environments to travel: ${environmentsToTravel.map((env) => env.name).join(", ")}`); let locationProgressMarkup = ""; environmentsToTravel.forEach((env) => { locationProgressMarkup += `<div class="location-refresh-item" data-environment-type="${env.id}"> <div class="locationImageWrapper"> <img class="locationImage" src="${env.image}"> </div> <div class="locationName"> <div class="name">${env.name}</div> <div class="progress"></div> </div> </div>`; locationProgress.push(env.id); debug(`Adding ${env.name} to the to-travel list.`); }); const popup = createPopup({ title: "Refreshing Location Data", content: `<div class="mh-improved-location-refresh-popup"> <div class="mh-improved-location-refresh-popup-progress">${locationProgressMarkup}</div> </div>`, hasCloseButton: false, show: true }); const originalLocation = user.environment_type; debug(`Original location: ${user.environment_type}.`); const equippedBait = user.bait_item_id || "disarmed"; debug(`Equipped bait: ${equippedBait}.`); yield disarmBait(); for (const location of locationProgress) { if (originalLocation === location) { continue; } const locationData = environments4.find((env) => env.id === location); if (!locationData) { continue; } debug(`Traveling to ${locationData.name}.`); const progressItem = document.querySelector(`.location-refresh-item[data-environment-type="${location}"]`); if (!progressItem) { continue; } progressItem.classList.add("traveling"); yield waitForTravel(location); yield cacheLocationData(); progressItem.classList.remove("traveling"); progressItem.classList.add("done"); debug(`Traveled to ${locationData.name}.`); } yield waitForTravel(originalLocation); debug(`Traveled back to ${user.environment_type}.`); hg.utils.TrapControl.setBait(equippedBait).go(); debug(`Re-equipped bait: ${equippedBait}.`); popup.hide(); const dashboardMenu = document.querySelector(".mousehuntHeaderView .menuItem.dropdown.dashboard"); if (dashboardMenu) { dashboardMenu.classList.add("expanded"); const existing = document.querySelector(".dashboardContents"); if (existing) { const refreshedContents = yield getDashboardContents(); existing.replaceWith(refreshedContents); } const wrapper = document.querySelector(".dashboardWrapper"); if (wrapper) { wrapper.scrollTop = 0; } } sessionSet("doing-location-refresh", false); doEvent2("travel_complete"); }); makeDashboardTab = () => { const tabsContainer = document.querySelector(".mousehuntHeaderView-dropdownContainer"); if (!tabsContainer) { return; } const menuTab = document.createElement("div"); menuTab.classList.add("menuItem"); menuTab.classList.add("dropdown"); menuTab.classList.add("dashboard"); menuTab.addEventListener("click", () => __async(void 0, null, function* () { menuTab.classList.toggle("expanded"); const existing = document.querySelector(".dashboardContents"); if (existing) { const refreshedContents = yield getDashboardContents(); existing.replaceWith(refreshedContents); } sessionSet("doing-location-refresh", false); })); makeElement("span", "", "Dashboard", menuTab); makeElement("div", "arrow", "", menuTab); const dropdownContent = makeElement("div", "dropdownContent"); const dashboardWrapper = makeElement("div", "dashboardWrapper"); makeElement("div", "dashboardContents", "", dashboardWrapper); const refreshWrapper = makeElement("div", "refreshWrapper"); const refreshButton = makeElement("button", ["mousehuntActionButton", "dashboardRefresh"]); makeElement("span", "", "Refresh", refreshButton); refreshButton.addEventListener("click", () => { const confirmPopup = createPopup({ title: "Refresh Location Data", content: `<div class="mh-improved-location-refresh-confirm-popup"> <div class="mh-improved-location-refresh-confirm-popup-content"> <p>This will refresh the location data for all locations by traveling to each location and caching the data.</p> <div class="mh-improved-location-refresh-confirm-popup-buttons"> <div class="mousehuntActionButton mh-improved-location-refresh-confirm-popup-button mh-improved-location-refresh-confirm-popup-button-cancel"><span>Cancel</span></div> <div class="mousehuntActionButton mh-improved-location-refresh-confirm-popup-button mh-improved-location-refresh-confirm-popup-button-confirm"><span>Start Traveling</span></div> </div> </div> </div>`, className: "mh-improved-location-refresh-confirm-popup", hasCloseButton: false, show: true }); const cancelButton = document.querySelector(".mh-improved-location-refresh-confirm-popup-button-cancel"); if (cancelButton) { cancelButton.addEventListener("click", () => { confirmPopup.hide(); }); } const confirmButton = document.querySelector(".mh-improved-location-refresh-confirm-popup-button-confirm"); if (confirmButton) { confirmButton.addEventListener("click", () => { confirmPopup.hide(); doLocationRefresh(); }); } doLocationRefresh(); }); refreshWrapper.append(refreshButton); dashboardWrapper.append(refreshWrapper); dropdownContent.append(dashboardWrapper); menuTab.append(dropdownContent); tabsContainer.insertBefore(menuTab, tabsContainer.lastChild); }; makeRegionMarkup = (name, childContent, appendTo) => { const firstChild = childContent.firstChild; if (!firstChild) { return; } const regionWrapper = makeElement("div", "regionWrapper"); makeElement("div", "regionName", name, regionWrapper); regionWrapper.append(childContent); appendTo.append(regionWrapper); }; makeLocationMarkup = (id, name, progress, appendTo, quests) => { const markup = progress(quests); if (!markup) { return; } const locationWrapper = makeElement("div", "locationWrapper"); locationWrapper.setAttribute("data-location", id); locationWrapper.classList.add(`locationWrapper-${id}`); const locationImageWrapper = makeElement("div", "locationImageWrapper"); const environment = environments4.find((env) => env.id === id); if (environment.image) { const locationImage = makeElement("img", "locationImage"); locationImage.setAttribute("src", environment.image); locationImageWrapper.append(locationImage); } locationImageWrapper.addEventListener("click", () => __async(void 0, null, function* () { travelTo(environment.id); })); locationWrapper.append(locationImageWrapper); const nameEl = makeElement("div", "locationName", name); nameEl.addEventListener("click", () => __async(void 0, null, function* () { travelTo(environment.id); })); locationWrapper.append(nameEl); makeElement("div", "locationProgress", markup, locationWrapper); appendTo.append(locationWrapper); }; getDashboardContents = () => __async(void 0, null, function* () { const quests = yield cacheGet("quests", {}); const contentsWrapper = document.createElement("div"); contentsWrapper.classList.add("dashboardContents"); const burroughs = document.createElement("div"); makeLocationMarkup("mousoleum", "Mousoleum", mousoleum_default2, burroughs, quests); makeLocationMarkup("pollution_outbreak", "Toxic Spill", pollution_outbreak_default, burroughs, quests); makeRegionMarkup("Burroughs", burroughs, contentsWrapper); const varmintValley = document.createElement("div"); makeLocationMarkup("fort_rox", "Fort Rox", fort_rox_default, varmintValley, quests); makeRegionMarkup("Varmint Valley", varmintValley, contentsWrapper); const sandtailDesert = document.createElement("div"); makeLocationMarkup("desert_warpath", "Fiery Warpath", getFieryWarpathText, sandtailDesert, quests); makeLocationMarkup("desert_oasis", "Living Garden", desert_oasis_default, sandtailDesert, quests); makeLocationMarkup("lost_city", "Lost City", lost_city_default, sandtailDesert, quests); makeLocationMarkup("sand_dunes", "Sand Dunes", sand_dunes_default, sandtailDesert, quests); makeRegionMarkup("Sandtail Desert", sandtailDesert, contentsWrapper); const rodentia = document.createElement("div"); makeLocationMarkup("seasonal_garden", "Seasonal Garden", getSeasonalGardenText, rodentia, quests); makeLocationMarkup("zugzwang_tower", "Zugzwang's Tower", getZugzwangTowerText, rodentia, quests); makeLocationMarkup("iceberg", "Iceberg", iceberg_default2, rodentia, quests); makeLocationMarkup("sunken_city", "Sunken City", sunken_city_default, rodentia, quests); makeRegionMarkup("Rodentia", rodentia, contentsWrapper); const quesoCanyon = document.createElement("div"); makeLocationMarkup("queso_geyser", "Queso Geyser", queso_geyser_default, quesoCanyon, quests); makeRegionMarkup("Queso Canyon", quesoCanyon, contentsWrapper); const hollowHeights = document.createElement("div"); makeLocationMarkup("labyrinth", "Labyrinth", labyrinth_default3, hollowHeights, quests); makeLocationMarkup("ancient_city", "Zokor", ancient_city_default, hollowHeights, quests); makeLocationMarkup("moussu_picchu", "Moussu Picchu", moussu_picchu_default, hollowHeights, quests); makeLocationMarkup("floating_islands", "Floating Islands", floating_islands_default2, hollowHeights, quests); makeRegionMarkup("Hollow Heights", hollowHeights, contentsWrapper); const folkloreForest = document.createElement("div"); makeLocationMarkup("bountiful_beanstalk", "Bountiful Beanstalk", bountiful_beanstalk_default, folkloreForest, quests); makeLocationMarkup("foreword_farm", "Foreword Farm", foreword_farm_default, folkloreForest, quests); makeLocationMarkup("table_of_contents", "Table of Contents", table_of_contents_default, folkloreForest, quests); makeRegionMarkup("Folklore Forest", folkloreForest, contentsWrapper); const rift = document.createElement("div"); makeLocationMarkup("rift_burroughs", "Burroughs Rift", rift_burroughs_default, rift, quests); makeLocationMarkup("rift_whisker_woods", "Whisker Woods Rift", whisker_woods_rift_default, rift, quests); makeLocationMarkup("rift_furoma", "Furoma Rift", rift_furoma_default, rift, quests); makeLocationMarkup("rift_bristle_woods", "Bristle Woods Rift", rift_bristle_woods_default, rift, quests); makeLocationMarkup("rift_valour", "Valour Rift", rift_valour_default, rift, quests); makeRegionMarkup("Rift", rift, contentsWrapper); if (burroughs.children.length === 0 && varmintValley.children.length === 0 && sandtailDesert.children.length === 0 && rodentia.children.length === 0 && quesoCanyon.children.length === 0 && hollowHeights.children.length === 0 && folkloreForest.children.length === 0 && rift.children.length === 0) { const noLocation = makeElement("div", "noLocationDataWrapper"); makeElement("div", "noLocationData", "No location data found. Refresh data to populate the dashboard.", noLocation); contentsWrapper.append(noLocation); } return contentsWrapper; }); environments4 = []; init55 = () => __async(void 0, null, function* () { addStyles(styles_default59, "location-dashboard"); environments4 = yield getData("environments"); sessionSet("doing-location-refresh", false); cacheLocationData(); onEvent("travel_complete", cacheLocationData); onRequest("*", cacheLocationData); makeDashboardTab(); }); location_dashboard_default = { id: "location-dashboard", name: "Location Dashboard", type: "feature", default: true, description: "See location HUD information in a dashboard available in the top dropdown menu.", load: init55 }; } }); // src/modules/metric/index.js var imperialToMetric, convertInDialog, replaceInJournal, replaceOnMousePage, convertOnPage, init56, metric_default; var init_metric = __esm({ "src/modules/metric/index.js"() { init_utils2(); imperialToMetric = (text) => { const lb = text.match(/(\d+? )lb./i); const oz = text.match(/(\d+? )oz./i); if (!(lb || oz)) { return; } const lbValue = lb ? lb[1] : 0; const ozValue = oz ? oz[1] : 0; const totalWeight = Number.parseInt(lbValue) + Number.parseInt(ozValue) / 16; const totalWeightMetric = (Math.round(totalWeight * 0.45359237 * 100) / 100).toString(); return text.replace(/(\d+? lb.\s)?(\d+? oz.)/i, totalWeightMetric + " kg. "); }; convertInDialog = () => { const mouseViewWeights = document.querySelectorAll(".mouseView-statsContainer .mouseView-statsContainer-block-padding table tbody tr"); if (mouseViewWeights.length) { mouseViewWeights.forEach((row) => { const firstCell = row.querySelector("td"); const secondCell = firstCell.nextSibling; if (firstCell.innerText === "Avg. Weight:" || firstCell.innerText === "Heaviest:") { const converted = imperialToMetric(secondCell.innerText); if (converted) { secondCell.innerText = converted; } } }); } }; replaceInJournal = () => { const entries = document.querySelectorAll(".journal .entry .journalbody .journaltext"); if (!entries.length) { return; } entries.forEach((entry) => { const converted = imperialToMetric(entry.innerHTML); if (converted) { entry.innerHTML = converted; } }); }; replaceOnMousePage = () => { const mouseWeightsStats = document.querySelectorAll(".mouseListView-categoryContent-subgroupContainer .mouseListView-categoryContent-subgroup-mouse-stats"); if (!mouseWeightsStats.length) { return; } mouseWeightsStats.forEach((stat) => { if (stat.classList.contains("average_weight") || stat.classList.contains("heaviest_catch")) { const converted = imperialToMetric(stat.innerText); if (converted) { stat.innerText = converted; } } }); }; convertOnPage = () => { replaceOnMousePage(); replaceInJournal(); }; init56 = () => __async(void 0, null, function* () { onDialogShow("all", convertInDialog); onRequest("*", convertOnPage); convertOnPage(); }); metric_default = { id: "metric", name: "Metric Units", type: "feature", default: false, description: "Use metric units instead of imperial units.", load: init56 }; } }); // src/modules/paste-hunter-id/index.js var maybeRedirectToHunterProfile, listenForIDPaste, init57, paste_hunter_id_default; var init_paste_hunter_id = __esm({ "src/modules/paste-hunter-id/index.js"() { maybeRedirectToHunterProfile = (text) => { var _a, _b; if (text.length > 30) { return; } const url = text.match(/https:\/\/www.mousehuntgame.com/); if (url) { window.location.href = text; return; } const id = text.match(/\d+/); if (!id) { return; } if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.setPage)) { return; } hg.utils.PageUtil.setPage("HunterProfile", { id: id[0] }, (data) => { var _a2, _b2; const snuid = data.tabs.profile.subtabs[0].snuid; if (snuid && ((_b2 = (_a2 = hg == null ? void 0 : hg.utils) == null ? void 0 : _a2.PageUtil) == null ? void 0 : _b2.showHunterProfile)) { hg.utils.PageUtil.showHunterProfile(snuid); } }); }; listenForIDPaste = () => { window.addEventListener("paste", (e) => { if ( /* eslint-disable @wordpress/no-global-active-element */ document.activeElement instanceof HTMLInputElement || document.activeElement instanceof HTMLTextAreaElement || document.activeElement instanceof HTMLSelectElement ) { return; } maybeRedirectToHunterProfile(e.clipboardData.getData("text")); }); }; init57 = () => __async(void 0, null, function* () { listenForIDPaste(); }); paste_hunter_id_default = { id: "paste-hunter-id", name: "Paste Hunter ID", type: "feature", default: true, description: "Copy a Hunter ID to your clipboard and then press Ctrl/Cmd+v anywhere to go directly to that hunter's profile.", load: init57 }; } }); // src/modules/native-dark-mode/styles/_root.css var root_default; var init_root = __esm({ "src/modules/native-dark-mode/styles/_root.css"() { root_default = ":root{--d: #262b33;--d-transparent-10: rgb(255 255 255 / 10%);--d-transparent-20: rgb(255 255 255 / 20%);--d-transparent-30: rgb(38 43 51 / 30%);--d-transparent-50: rgb(38 43 51 / 50%);--d-black: #222;--d-alt: #383e49;--d-bg: #434651;--d-bg-alt: #383838;--d-border: #111;--d-action: #5e646f;--d-text: #c8ced8;--d-text-dark: #555;--d-text-muted: #a7adb9;--d-link: #bf93ff;--d-orange: #fcb671;--d-orange-dark: #eb7805;--d-yellow: #f7e7a2;--d-yellow-dark: #4e4a3c;--d-blue: #0e7fbf;--d-blue-dark: #0a5a7f;--d-blue-extra-dark: #08435e;--d-green: #40ba12;--d-green-dark: #2c7013;--d-purple: #923293;--d-red: #c63636;--d-red-dark: #a02c2c}\n"; } }); // src/modules/native-dark-mode/styles/adventure.css var adventure_default2; var init_adventure2 = __esm({ "src/modules/native-dark-mode/styles/adventure.css"() { adventure_default2 = ".mh-dark .adventureBookPopup-adventure-details-block-goalGroup.visible{background-color:var(--d-alt);box-shadow:-1px -1px 1px var(--d-border) inset}.mh-dark .adventureBookPopup-adventure-details-powerTypeContainer{margin-right:revert-layer;margin-left:0;background-color:var(--d-alt);border-color:var(--d)}.mh-dark .adventureBookPopup-adventure-footer{color:var(--d-text);background-color:var(--d-alt)}.mh-dark .adventureBookPopup-adventure-details-description-reason{color:var(--d-text-dark);background-color:var(--d-orange)}.mh-dark a.adventureBookPopup-title.complete{color:var(--d-text-dark)}.mh-dark .adventureBookPopup-adventure-details-block-step.multi_choice{background-color:var(--d)}.mh-dark .adventureBookBanner-goalImage{outline:none}.mh-dark .pageFrameView #mousehuntContainer.PageCamp .adventureBookBanner-adventureName{color:var(--d-text)}.mh-dark .adventureBookPopup-titleDirectory,.mh-dark a.adventureBookPopup-title.active{border-color:var(--d-border)}.mh-dark .adventureBookPopup-title-margin{color:var(--d-text-dark)}\n"; } }); // src/modules/native-dark-mode/styles/camp-tabs.css var camp_tabs_default; var init_camp_tabs = __esm({ "src/modules/native-dark-mode/styles/camp-tabs.css"() { camp_tabs_default = ".mh-dark .campPage-tabs-tabHeader span,.mh-dark .campPage-tabs-tabHeader.active span,.mh-dark .campPage-tabs-tabHeader:hover span,.mh-dark .campPage-tabs-tabHeader:focus span,.campPage-tabs-tabHeader.active span,.campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span,.campPage-tabs-tabRow a.campPage-tabs-tabHeader:focus span{color:var(--d-text);background-color:var(--d-bg-alt);border-color:var(--d-border);box-shadow:1px 1px 1px var(--d-bg)}.mh-dark .campPage-tabs-tabRow a.campPage-tabs-tabHeader.active span,.mh-dark .campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border);box-shadow:1px 1px 1px var(--d-bg)}.mh-dark .campPage-tabs-tabHeader.active span,.mh-dark .campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span{border-color:var(--d-border)}.mh-dark .campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span{box-shadow:none}.mh-dark .campPage-tabs-tabContentContainer{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border);box-shadow:1px 1px 1px var(--d-border)}.mh-dark .campPage-tabs-tabContent.active[data-tab=daily],.mh-dark .campPage-tabs-tabContent-larryTip-container,.mh-dark .campPage-quests-container{background-color:var(--d);border-color:var(--d-border);box-shadow:none}.mh-dark .campPage-tabs-tabContent-larryTip-environment,.mh-dark .campPage-quests-title{color:var(--d-text)}.mh-dark .campPage-tabs-tabHeader span{border-bottom-color:var(--d-border)!important}.mh-dark .campPage-tabs-tabRow a.campPage-tabs-tabHeader:hover span,.mh-dark .campPage-tabs-tabRow a.campPage-tabs-tabHeader:focus span{border-color:var(--d-border)!important}.mh-dark .campPage-daily-draw-prize-description,.mh-dark .campPage-daily-draw-button,.mh-dark .campPage-quests-objective{color:var(--d-text-dark)}.mh-dark .campPage-quests-footer-smash{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .adventureBookBanner-container{background-color:var(--d);border-color:var(--d-border);box-shadow:-1px 1px 3px var(--d-bg) inset}.mh-dark .adventureBookBanner-complete .adventureBookBanner-completed,.mh-dark .adventureBookBanner-adventureName{color:var(--d-text)}.mh-dark .adventureBookBanner-goalContainer{color:var(--d-text-muted)}.mh-dark .adventureBookBanner-moreInfo{color:var(--d-link)}.mh-dark span.mh-ui-tem-crown-text{color:var(--d-text);background-color:var(--d);border-color:var(--d-border)}.mh-dark .campPage-trap-trapEffectiveness-mouse-image{box-shadow:1px 1px 1px var(--d-bg)}.mh-dark .trapSelectorView__blueprint{border-color:var(--d-blue-dark)}.mh-dark img.mh-ui-tem-crown-icon,.mh-dark .campPage-trap-trapEffectiveness-mouse-powerType{background-color:var(--d);border-color:var(--d-border)}\n"; } }); // src/modules/native-dark-mode/styles/camp-trap.css var camp_trap_default; var init_camp_trap = __esm({ "src/modules/native-dark-mode/styles/camp-trap.css"() { camp_trap_default = ".mh-dark .campPage-trap{background:var(--d-bg);border-color:var(--d-border);box-shadow:-1px -1px 1px var(--d-border) inset}.mh-dark a.campPage-trap-friendContainer-toggleFriendsButton{color:var(--d-link)}.mh-dark .campPage-trap-friendContainer-toggleFriendsButton-arrow{border-color:var(--d-link) transparent transparent transparent}.mh-dark .campPage-trap-friendContainer .label{color:var(--d-text)}.mh-dark .campPage-trap-friendContainer span{color:var(--d-text-muted)}.mh-dark .campPage-trap-friendList.full,.mh-dark .campPage-trap-itemStats,.mh-dark .campPage-trap-trapEffectiveness,.mh-dark .campPage-trap-armedItem,.mh-dark .campPage-trap-armedItem.bait.active,.mh-dark .campPage-trap-armedItem.bait,.mh-dark .campPage-trap-armedItem.skin,.mh-dark .campPage-trap-armedItem.mh-favorite-setups-button,.mh-dark .campPage-trap-itemBrowser-armed,.mh-dark .campPage-trap-trapEffectivenessContainer,.mh-dark .campPage-trap-itemBrowser-itemContainer{color:var(--d-text);background:var(--d);border-color:var(--d-border);box-shadow:-1px 1px 3px var(--d-bg) inset}.mh-dark .campPage-trap-armedItem-skin-description{color:var(--d-text)}.mh-dark .campPage-trap-baitName,.mh-dark .campPage-trap-baitQuantity{color:var(--d-text);text-shadow:none}.mh-dark span.campPage-trap-baitQuantity,.mh-dark .trapSelectorView__armedItemQuantity span,.mh-dark .campPage-trap-armedItem .quantity span{right:-5px;bottom:4px;color:var(--d-text);background-color:var(--d);border-color:var(--d-action);box-shadow:-1px -1px 1px var(--d-bg) inset}.mh-dark .trapSelectorView__weaponSkinGroup.trapSelectorView__armedItemBorder{background-color:transparent}.mh-dark .campPage-trap-trapStat .value{color:var(--d-text);background:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap .trapImageView{border-bottom-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-armed-label{color:var(--d-text)}.mh-dark .campPage-trap-armedItem.active{background-color:var(--d-alt)}.mh-dark .campPage-trap-armedItem.inactive{background-color:var(--d)}.mh-dark .campPage-trap-itemBrowser-favorites{background-color:var(--d-bg)}.mh-dark .campPage-trap-trapEffectiveness span{color:var(--d-text-muted)}.mh-dark .campPage-trap-itemBrowser-armed-item,.mh-dark .campPage-trap-itemBrowser-armed .loading,.mh-dark .campPage-trap-itemBrowser-empty-container{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-filter input[data-filter=search]{border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-filter input[data-filter=search]::placeholder{color:var(--text-dark)}.mh-dark .campPage-trap-blueprint-closeButton{color:var(--d-text);background:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-favorite-item-image-frame{border-color:var(--d-border);box-shadow:2px 2px 3px var(--d-border) inset}.mh-dark .empty .campPage-trap-itemBrowser-favorite-item-image{background:var(--d-bg)}.mh-dark .campPage-trap-itemBrowser-favorite-item.loading .campPage-trap-itemBrowser-favorite-item-image:after{background-color:var(--d-bg)}.mh-dark .mh-improved-favorite-setups-blueprint-container{color:var(--d-text);background:var(--d-bg);border-color:var(--d-border);box-shadow:2px 2px 3px var(--d-border) inset}.mh-dark .mh-improved-favorite-setups-blueprint-container .header{color:var(--d-text)}.mh-dark .mh-improved-favorite-setups-blueprint-container .row{background-color:var(--d);border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-item-powerType:after{color:var(--d-text-muted)}.mh-dark .campPage-trap-itemBrowser-tagGroup-name{color:var(--d-text-muted);background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-quickLinks{background-color:var(--d-bg)}.mh-dark .campPage-trap-itemBrowser-quickLinks-header{color:var(--d-text-muted)}.mh-dark .mousehuntPage-content select,.mh-dark .mousehuntPage-content textarea,.mh-dark .mousehuntPage-content input,.mh-dark #mousehunt-improved-settings-advanced-override-flags input,.mh-dark #mousehunt-improved-settings-advanced-override-styles textarea{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-item-statContainer{background-color:transparent;box-shadow:none}.mh-dark .campPage-trap-itemBrowser-item-stat .value span{color:var(--d-text-muted)}.mh-dark .campPage-trap-armedItem:hover,.mh-dark .campPage-trap-armedItem:focus,.mh-dark .campPage-trap-armedItem.inactive:hover,.mh-dark .campPage-trap-armedItem.inactive:focus,.mh-dark .campPage-trap-armedItem.active:hover,.mh-dark .campPage-trap-armedItem.active:focus,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer:hover,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer:focus,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .mh-improved-favorite-setups-button:hover,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .mh-improved-favorite-setups-button:focus{background-color:var(--d-alt)}.mh-dark .campPage-trap-itemBrowser-item{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap-itemBrowser-items{scrollbar-color:var(--d-text-muted) var(--d-alt)}.mh-dark .campPage-trap-itemBrowser-favorite-item-image-quantity{right:1px;bottom:0;box-sizing:content-box;color:var(--d-text);background:var(--d-bg);border-color:var(--d-border);border-right:none;border-bottom:none;border-bottom-right-radius:2px}.mh-dark .campPage-trap-itemBrowser-item-powerType:before{background-color:transparent;border-color:transparent}.mh-dark .row.editing .campPage-trap-itemBrowser-favorite-item:after{background-color:var(--d-bg)}.mh-dark .mousehuntActionButton{box-shadow:1px 1px 1px var(--d-yellow)}.mh-dark a.mousehuntActionButton.danger{box-shadow:1px 1px 1px var(--d-red)}.mh-dark a.random-title:after{filter:invert(1)}.mh-dark .row.editing .campPage-trap-itemBrowser-favorite-item:hover:after{background-color:var(--d-alt)}.mh-dark .campPage-trap-trapStat .math{background-color:var(--d-alt);border-color:var(--d-border);box-shadow:-1px -1px 1px var(--d) inset}.mh-dark a.campPage-trap-itemBrowser-item-armButton,.mh-dark .armed a.campPage-trap-itemBrowser-item-armButton{color:var(--d-black)}.mh-dark .armed a.campPage-trap-itemBrowser-item-armButton{background-color:var(--d-orange);box-shadow:0 -2px 1px var(--d-orange) inset,0 -13px 1px var(--d-orange-dark) inset,0 0 1px #333}.mh-dark .campPage-trap-itemBrowser-item-image:after{border-color:transparent;box-shadow:none}.mh-dark .campPage-trap-trapEffectivenessContainer .loading,.mh-dark .campPage-trap-itemBrowser-items .loading{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap-trapEffectiveness-header b{color:var(--d-text)}.mh-dark .campPage-trap-trapEffectiveness-difficultyGroup{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .campPage-trap-trapEffectiveness-mouse:hover{background-color:var(--d-alt);border-color:var(--d-border);outline-color:var(--d-border)}.mh-dark .trapSelectorView__trapStatSummary,.mh-dark .trapSelectorView__outerBlock,.mh-dark button.trapSelectorView__armedItem,.mh-dark .campPage-trap-friendList.full,.mh-dark .campPage-trap-itemStats,.mh-dark .campPage-trap-trapEffectiveness,.mh-dark .mh-improved-favorite-setups-button,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-trapEffectiveness,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-statsContainer,.mh-dark .trapSelectorView__armedItemBorder,.mh-dark .pageFrameView #mousehuntContainer.PageCamp .campPage-trap-armedItem.bait,.mh-dark #mh-improved-cre{color:var(--d-text);background-color:var(--d);border-color:var(--d-border);box-shadow:-1px 1px 3px var(--d-bg) inset}.mh-dark .campPage-trap-baitName{box-shadow:none}.mh-dark .trapSelectorView__armedItemQuantity span{text-shadow:none}.mh-dark span.campPage-trap-baitQuantity{right:0;bottom:0}.mh-dark .trapSelectorView__trapStatSummaryContainer{background:transparent;border:none}.mh-dark .campPage-trap-itemBrowser-item-favorite,.mh-dark .campPage-trap-itemBrowser-item.largeQuantity .campPage-trap-itemBrowser-item-quantity .quantity{background-color:var(--d-bg)}.mh-dark .trapSelectorView__armedItem--empty .trapSelectorView__armedItemImage{color:var(--d-text-muted)}.mh-dark #mh-improved-cre thead{box-shadow:0 -1px var(--d-border) inset}.mh-dark .mh-improved-cre-name a{color:inherit}\n"; } }); // src/modules/native-dark-mode/styles/favorite-setups.css var favorite_setups_default3; var init_favorite_setups3 = __esm({ "src/modules/native-dark-mode/styles/favorite-setups.css"() { favorite_setups_default3 = ".mh-improved-favorite-setups-blueprint-container .row.location-favorite{color:var(--d-text-dark);background-color:var(--d-yellow)}.mh-dark .row.location-favorite .campPage-trap-itemBrowser-item-powerType:after{color:var(--d-text-dark)}\n"; } }); // src/modules/native-dark-mode/styles/friends.css var friends_default3; var init_friends3 = __esm({ "src/modules/native-dark-mode/styles/friends.css"() { friends_default3 = ".mh-dark .friendsPage-subduedLink{color:var(--d-text-dark)}.mh-dark .friendsPage-subduedLink:hover{color:var(--d-text-muted)}.mh-dark .teamPage-messageBoard-corkboard .messageBoardView-message,.mh-dark .hunterInfoView-corkBoardBlock .messageBoardView-message{color:var(--d-text);background-color:var(--d-bg)}.mh-dark .teamPage-messageBoard-corkboard .messageBoardView-message-body,.mh-dark .hunterInfoView-corkBoardBlock .messageBoardView-message-body{color:var(--d-text)}.mh-dark .hunterInfoView-wrapper .friendsPage-friendRow-statsContainer{color:var(--d-text-dark)}.mh-dark .hunterInfoView-wrapper .campPage-trap-trapStat{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .hunterInfoView-wrapper .hunterInfoView-trapBlock-footer,.mh-dark .hunterInfoView-wrapper .hunterInfoView-trapBlock-footer-stats{background-color:var(--d)}.mh-dark .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader{border-bottom:none;box-shadow:-1px 1px 1px #a59f8e}.mh-dark .hunterProfileItemsView-content-padding{color:var(--d-text);background-color:var(--d-bg)}.mh-dark .hunterProfileItemsView-categoryContent-name{color:var(--d-text)}.mh-dark .hunterProfileItemsView-category-margin{color:var(--d-text-dark)}.mh-dark .hunterProfileItemsView-category,.mh-dark .hunterProfileItemsView-category.active .hunterProfileItemsView-category-margin{color:var(--d-text)}.mh-dark .hunterProfileItemsView-categoryContent-item-padding{background-color:var(--d-bg-alt);border-color:var(--d-border)}\n"; } }); // src/modules/native-dark-mode/styles/general.css var general_default6; var init_general6 = __esm({ "src/modules/native-dark-mode/styles/general.css"() { general_default6 = "body.mh-dark{color:var(--d-text);background-color:var(--d);scrollbar-color:var(--d-text-muted) var(--d-alt)}.mh-dark .quickSendWrapper{background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .puzzleView{filter:brightness(.7)}.mh-dark .mousehuntActionButton.lightBlue{box-shadow:1px 1px 1px var(--d-blue-dark)}.mh-dark .mousehunt-improved-lgs-reminder-new{color:var(--d-text-dark)}.mh-dark .journal .entry .journaltext input.quickSendInput,.mh-dark .mousehuntPage-content input.quickSendInput,.mh-dark .quickSendInput,.mh-dark .mh-improved-favorite-setups-component-picker-popup-search input{color:var(--d-text);background-color:var(--d-bg);border:1px solid var(--d-border)}.mh-dark .huntersHornView__hornImage{filter:drop-shadow(1px 1px 0 rgb(175 175 175 / 50%)) drop-shadow(-1px 1px 0 rgb(175 175 175 / 50%)) drop-shadow(1px -1px 0 rgb(175 175 175 / 50%)) drop-shadow(-1px -1px 0 rgb(175 175 175 / 50%)) drop-shadow(1px 4px 3px #6b6b6b)}.mh-dark .treasureMapRootView .messageBoardView .pagerView-section.previous .pagerView-link,.mh-dark .teamPage-messageBoard-corkboard .pagerView-section.previous .pagerView-link,.mh-dark .hunterInfoView-corkBoardBlock .pagerView-section.previous .pagerView-link{color:var(--d-text-muted)}.mh-dark #OnboardArrow.onboardPopup.top{z-index:100;color:#000}.travelPage-map-message{color:#000}\n"; } }); // src/modules/native-dark-mode/styles/header-dropdown.css var header_dropdown_default; var init_header_dropdown = __esm({ "src/modules/native-dark-mode/styles/header-dropdown.css"() { header_dropdown_default = ".mh-dark .mousehuntHeaderView .dropdownContent{color:var(--d-color);background-color:var(--d);border-color:var(--d-border)}.mh-dark .mousehuntHeaderView .menuItem.sidebar .dropdownContent .pageSidebarView-user a:nth-child(2){color:var(--d-link)}.mh-dark .mousehuntHeaderView .menuItem.sidebar .dropdownContent a.pageSidebarView-user-logout{color:var(--d-link)}.mh-dark .mousehuntHeaderView .dropdownContent a{color:var(--d-text);border-color:var(--d-border)}.mh-dark .regionName{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .regionWrapper{border-color:var(--d-border)}.mh-dark .locationWrapper{background-color:var(--d)}.mh-dark .locationWrapper:nth-child(2n){background-color:var(--d-alt)}.mh-dark .dashboardWrapper{border-color:var(--d-border);box-shadow:none}.mh-dark .scoreboardRelativeRankingTableView-table{background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .mousehuntHeaderView .menuItem.sidebar .dropdownContent .scoreboardRankingsWrapper a{color:var(--d-link)}.mh-dark .scoreboardRelativeRankingTableView-table tr.highlight{color:var(--d-text-dark);background-color:var(--d-yellow)}\n"; } }); // src/modules/native-dark-mode/styles/header.css var header_default; var init_header = __esm({ "src/modules/native-dark-mode/styles/header.css"() { header_default = '.mh-dark .mousehuntHud-gameInfo{background-color:var(--d);border-right:none}.mh-dark div#envHeaderImg:before{position:absolute;inset:0;content:"";background-image:url(https://i.mouse.rip/dark/envHeaderImg.png?a);opacity:.7}.mh-dark .mousehuntHud-menu ul li a{height:25px;color:var(--d-border);text-shadow:none}.mh-dark .mousehunt-improved-lgs-reminder-new,.mh-dark .huntersHornView__timer{filter:brightness(.8)}.mh-dark .mousehuntHud-environmentIconWrapper,.mh-dark .huntersHornView__backdrop{filter:brightness(.6)}.mh-dark .mousehuntHud-menu.default{z-index:90;filter:brightness(.8)}.mh-dark a.mousehuntHud-shield.golden.default{filter:drop-shadow(0 0 5px rgb(92 77 30 / 50%)) brightness(.9)}.mh-dark .mousehuntHud-menu ul li:hover a,.mh-dark .mousehuntHud-menu ul li.active a{color:var(--d-text-dark);text-shadow:none}body.mh-dark .mousehuntHud-marbleDrawer{background:url(https://i.mouse.rip/dark/mousehuntHudPedestal.png) -46px 0 no-repeat,url(https://i.mouse.rip/dark/mousehuntHudPedestal.png) 731px 0 no-repeat,url(https://i.mouse.rip/mh-improved/custom-hud/hud-blueprint.png) repeat-y top center!important}.mh-dark .mousehuntHud-environmentName{color:#d6c8a2;text-shadow:none;filter:drop-shadow(0 1px 1px #554825) drop-shadow(0 2px 1px #554825)}.mh-dark .huntersHornView__messageContainer{color:var(--d-text-dark)}.mh-dark .mousehuntHeaderView-gameTabs,.mh-dark .mousehuntHeaderView .menuItem{background:url(https://i.mouse.rip/dark/menuItem.png?d) 0 0 repeat-x}.mh-dark .mousehuntHeaderView-gameTabs{border-color:var(--d-border)}.mh-dark .mousehuntHeaderView .menuItem{color:var(--d-text);border-color:var(--d-border)}\n'; } }); // src/modules/native-dark-mode/styles/hover-items.css var hover_items_default; var init_hover_items = __esm({ "src/modules/native-dark-mode/styles/hover-items.css"() { hover_items_default = ".mh-dark #friend-data-wrapper,.mh-dark #friend-data-wrapper .friendsPage-friendRow,.mh-dark #friend-data-wrapper .friendsPage-friendRow-statsContainer,.mh-dark #mouse-data-wrapper,.mh-dark #item-data-wrapper{color:var(--d-text);background:var(--d);border:var(--d-black);box-shadow:0 1px 5px -1px var(--d-action)}.mh-dark #friend-data-wrapper .friendsPage-friendRow-stat span,.mh-dark #friend-data-wrapper .friendsPage-friendRow-stat a{color:var(--d-text)}.mh-dark #friend-data-wrapper .friendsPage-friendRow-statsContainer{background:var(--d);box-shadow:0 10px 30px var(--d-alt) inset}.mh-dark #friend-data-wrapper a.userInteractionButtonsView-button{border-radius:25%;box-shadow:0 0 2px 1px var(--d-black) inset}.mh-dark #friend-data-wrapper .userInteractionButtonsView-button:hover:before,.mh-dark #friend-data-wrapper .userInteractionButtonsView-button.busy:before{border-radius:25%}\n"; } }); // src/modules/native-dark-mode/styles/inventory.css var inventory_default; var init_inventory = __esm({ "src/modules/native-dark-mode/styles/inventory.css"() { inventory_default = ".mh-dark .inventoryPage-item.small .inventoryPage-item-margin{background-color:var(--d-bg);border:1px solid var(--d-border)}.mh-dark .itemImage .quantity{color:var(--d-text-dark)}.mh-dark .inventoryPage-tagContent-tagTitle{color:var(--d-text)}.mh-dark a.inventoryPage-tagDirectory-tag{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .inventoryPage-tagDirectory{border-color:var(--d-border)}.mh-dark .inventoryPage-tagDirectory-tag.active,.mh-dark .inventoryPage-tagDirectory-tag:hover{color:var(--d-text-muted);background-color:var(--d-blue-extra-dark)}.mh-dark .inventoryPage-item.small .tooltip{color:var(--d-text-dark)}.mh-dark .inventoryPage-item.small .inventoryPage-item-button{color:#000;background-color:#fc6;border-color:#ddd}.mh-dark .inventoryPage-item.small.armed .inventoryPage-item-margin{border-color:var(--d-green);box-shadow:inset 0 0 4px var(--d-green)}.mh-dark .mhui-inventory-lock-and-hide-item-controls{background-color:var(--d-transparent-20)}.mh-dark a.mousehuntHud-page-subTabContent-prefix-filter-option,.mh-dark .mousehuntHud-page-subTabHeader span{color:var(--d-text);background-color:var(--d-bg-alt);border-color:var(--d-border);box-shadow:none}.mh-dark .mousehuntHud-page-subTabContent-prefix-filter-option.active,.mh-dark .mousehuntHud-page-subTabContent-prefix-filter-option:hover,.mh-dark .mousehuntHud-page-subTabHeader.active span,.mh-dark .mousehuntHud-page-subTabHeader:hover span,.mh-dark .mousehuntHud-page-subTabHeader:focus span{color:#fff;background-color:#8595b0}.mh-dark .mousehuntHud-page-subTabContent-prefix-filter-options{border-color:var(--d-border)}.mh-dark .mousehuntHud-page-subTabHeader-container .mousehuntHud-page-subTabHeader:last-child span{border-right-color:var(--d-border)}.mh-dark .inventoryPage-item-margin{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .item_set{color:var(--d-text-dark);background-color:var(--d-yellow)}.mh-dark .itemViewStatBlock-stat-value{background-color:var(--d-bg-alt)}.mh-dark .itemViewStatBlock{border-color:var(--d-border)}.mh-dark .itemViewStatBlock-stat-label{background-color:var(--d-action)}.mh-dark .inventoryPage-item-content-description-text{color:var(--d-text-muted)}.mh-dark .mousehuntHud-page-tabContent-loading{background:url(https://www.mousehuntgame.com/images/ui/loaders/mouse_loading_large.gif?asset_cache_version=3) 50% 50% no-repeat}.mh-dark .inventoryPage-item-recipeOptions li{color:var(--d-text);background-color:var(--d-yellow-dark);border-color:var(--d-border)}.mh-dark .inventoryPage-item-recipeOptions li:hover{color:var(--d-text-dark);background-color:var(--d-yellow)}.mh-dark .mousehuntPage-content input.inventoryPage-item-button[type=submit],.mh-dark .mousehuntPage-content input.inventoryPage-item-button[type=button]{color:#000;background-color:#fc6}.mh-dark .mousehuntPage-content input.inventoryPage-item-button[type=submit]:hover,.mh-dark .mousehuntPage-content input.inventoryPage-item-button[type=button]:hover{color:#000;background-color:#fc9}.mh-dark .mousehuntHud-page-tabContent.crafting .mousehuntHud-page-subTabContent-margin{background-color:var(--d)}.mh-dark .mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .inventoryPage-item-margin{background-color:var(--d-bg-alt)}.mh-dark .mousehuntHud-page-subTabContent-prefix-title{color:var(--d-text);text-shadow:none}.mh-dark .inventoryPage-craftingTable-slotContainer{background-color:var(--d-bg)}.mh-dark .mousehuntHud-page-subTabContent.crafting_table .inventoryPage-craftingTable{background-color:var(--d-bg);border-color:var(--d-border);box-shadow:none}.mh-dark .inventoryPage-craftingTable-slot{background-color:var(--d-bg-alt);border-color:var(--d-border);box-shadow:none}.mh-dark .inventoryPage-craftingTable-slot-item.empty .itemImage{box-shadow:0 0 0 1px var(--d-action) inset}.mh-dark .mousehuntHud-page-subTabContent.hammer .inventoryPage-item:hover .tooltip .inventoryPage-item-margin{background-color:transparent}.mh-dark .inventoryPage-item-content-description-consumedItem.error{color:var(--d-red-dark)}\n"; } }); // src/modules/native-dark-mode/styles/item-view.css var item_view_default; var init_item_view = __esm({ "src/modules/native-dark-mode/styles/item-view.css"() { item_view_default = ".mh-dark .itemViewContainer{margin-right:-1px;margin-left:-1px;background-color:var(--d-bg);border-bottom-color:var(--d-bg)}.mh-dark .itemView-padding{background-color:var(--d);border-color:var(--d-border)}.mh-dark .itemView-character-name{color:var(--d-text);text-shadow:-1px -1px 5px var(--d-text-muted)}.mh-dark .itemView-header{border-color:var(--d-transparent-10);border-width:1px}.mh-dark .itemViewContainer .itemViewStatBlock-stat{border-color:var(--d-border)}.mh-dark .mh-dark .itemViewStatBlock-stat-value{background-color:transparent}\n"; } }); // src/modules/native-dark-mode/styles/journal.css var journal_default; var init_journal2 = __esm({ "src/modules/native-dark-mode/styles/journal.css"() { journal_default = ".mh-dark .journalContainer .top a{color:var(--d-text-dark)}.mh-dark .journal a{color:var(--d-link)}.mh-dark .entry.short.misc.custom.unstable_charm_trigger{background-color:var(--d-blue)}.mh-dark .journal .content .entry{color:var(--d-text)!important;background-color:var(--d);background-blend-mode:soft-light}.mh-dark .journal .content .entry.catchsuccessloot{background-color:var(--d-alt)}.mh-dark .journal .content .entry.catchfailure{background-color:var(--d-red-dark)}.mh-dark .journal .content .entry.short.misc.custom.chesla_trap_trigger{background-color:var(--d-purple)}.mh-dark .journal .content .entry a{color:var(--d-link)}.mh-dark .entry.short.supplytransferitem{background-blend-mode:normal}.mh-dark .entry.short.supplytransfergold{background-image:url(https://i.imgur.com/Z3buYfj.png);background-blend-mode:normal}.mh-dark .entry.short.travel{background-image:url(https://i.imgur.com/xZL91qg.png);background-blend-mode:normal}.mh-dark .journal .content .entry .journalbody .journaldate{color:var(--d-text-muted);border-bottom:1px solid rgb(255 255 255 / 30%)}.mh-dark .pagerView-container{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .journal .content .entry:last-child{border-bottom-color:#5b5b5b}.mh-dark .campPage-quests-objective-container.complete .campPage-quests-objective{color:var(--d-text)}.mh-dark .campPage-quests-objective-container.complete{background-color:var(--d-green-dark);border-color:transparent}.mh-dark .pagerView-section.previous.active .pagerView-link,.mh-dark .pagerView-section.next.active .pagerView-link{color:var(--d-text-muted)}\n"; } }); // src/modules/native-dark-mode/styles/kings-calibrator.css var kings_calibrator_default; var init_kings_calibrator = __esm({ "src/modules/native-dark-mode/styles/kings-calibrator.css"() { kings_calibrator_default = ".mh-dark .shopsPage-kingsCalibratorPromo{color:var(--d-text);background-color:var(--d-alt);border-color:var(--d-border);box-shadow:inset -1px -1px 2px var(--d-border)}.mh-dark .campPage-daily-container .shopsPage-kingsCalibratorPromo-button{background-color:var(--d-blue)}.mh-dark .kingsGiveawayCalibratorPopup-upgradeContainer{background-color:var(--d);box-shadow:none}.mh-dark .kingsGiveawayCalibratorPopup-tabHeader span{color:var(--d-text);background-color:var(--d)}.mh-dark .kingsGiveawayCalibratorPopup-tabHeader:hover span,.mh-dark .kingsGiveawayCalibratorPopup-tabHeader.active span{background-color:var(--d-bg)}.mh-dark .kingsGiveawayCalibratorPopup-upgrade.active{color:var(--d-text-dark);background-color:var(--d-green)}.mh-dark .kingsGiveawayCalibratorPopup-upgrade-description{color:var(--d-text);background-color:var(--d-alt)}.mh-dark .kingsGiveawayCalibratorPopup-upgrade{border-color:var(--d-border)}.mh-dark .kingsGiveawayCalibratorPopup-numCredits{color:var(--d-text);text-shadow:none;background-color:var(--d)}.mh-dark .kingsGiveawayCalibratorPopup-upgrade-name{color:var(--d-text-dark)}.mh-dark .locked .kingsGiveawayCalibratorPopup-upgrade-name{color:var(--d-text-muted)}\n"; } }); // src/modules/native-dark-mode/styles/maps.css var maps_default3; var init_maps4 = __esm({ "src/modules/native-dark-mode/styles/maps.css"() { maps_default3 = ".mh-dark .mh-ui-quick-invite-wrapper,.mh-dark .treasureMapView-leftBlock .treasureMapView-block{background-color:var(--d);border-color:var(--d-border)}.mh-dark .treasureMapRootView-subTabContainer{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .treasureMapRootView-subTab.active,.mh-dark .treasureMapRootView-subTabContainer:hover .treasureMapRootView-subTab:hover{color:var(--d-text-muted);background-color:var(--d-bg-alt);border-color:var(--d-border);border-radius:0}.mh-dark .treasureMapRootView-subTab,.mh-dark .treasureMapRootView-subTabContainer:hover .treasureMapRootView-subTab.active{border-color:var(--d-border)}.mh-dark .treasureMapRootView .messageBoardView div.messageBoardView-message-container,.mh-dark .teamPage-messageBoard-corkboard .messageBoardView-message-container{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .treasureMapRootView .messageBoardView .messageBoardView-message,.mh-dark .teamPage-messageBoard-corkboard .messageBoardView-message,.mh-dark .hunterInfoView-corkBoardBlock .messageBoardView-message{background-color:var(--d-bg-alt)}.mh-dark .treasureMapRootView .messageBoardView div.messageBoardView-message.new{border-color:var(--d-border)!important}.mh-dark textarea.messageBoardView-message-textarea{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .treasureMapView-environment.complete .treasureMapView-environment-title{color:var(--d-text-dark)}.mh-dark .treasureMapView-mapWarning.treasureMapRootView-padding{color:var(--d-text);background-color:var(--d-red-dark)}.mh-dark .mh-ui-environments-block .treasureMapView-block-content{background-color:transparent}.mh-dark .treasureMapView-allyTable .treasureMapView-allyRow:nth-child(2n){background-color:var(--d-bg)}.mh-dark .treasureMapView-block{border-color:var(--d-border)}.mh-dark .treasureMapRootView-tab-name{color:var(--d-text-dark)}.mh-dark .treasureMapView-scoreboard{border-color:var(--d-border)}.mh-dark .treasureMapView-block-row.active{background-color:var(--d-yellow-dark)}.mh-dark .treasureMapInventoryView .treasureMapView-blockWrapper .treasureMapView-leftBlock .treasureMapView-block-content{margin-left:0}.mh-dark .treasureMapPopup-seasonContainer.mousehuntTooltipParent,.mh-dark .treasureMapInventoryView-relicHunter{background-color:var(--d);border-color:var(--d-border)}.mh-dark .mh-ui-goals-sidebar-toggle{filter:invert(1)}.mh-dark .treasureMapView-highlight-content{background-color:var(--d)}.mh-dark .treasureMapView-highlight-name.mh-ui-mouse-links-map-name{color:var(--d-blue)}.mh-dark .mh-ui-mouse-links-map-ars .mhct-data{color:var(--d-text-muted);background-color:var(--d)}.mh-dark .mhct-row{color:var(--d-text-muted)}.mh-dark .mh-ui-mouse-links-map-ars .mhct-row:nth-child(odd){color:var(--d-text-muted);background-color:var(--d-alt)}.mh-dark .treasureMapView-highlight{outline:1px solid var(--d-border)}.mh-dark .mh-ui-mouse-links-map-ars .mhct-title{color:var(--d-text);background-color:var(--d-bg-alt);border-color:var(--d-border)}.mh-dark .treasureMapPopup-shop .treasureMapInventoryView-scrollCase-content,.mh-dark .treasureMapPopup-shop .treasureMapView-block-content-heading,.mh-dark .treasureMapView-environment.wrong .treasureMapView-environment-title,.mh-dark .treasureMapView-consolationPrize-message{color:var(--d-text-dark)}\n"; } }); // src/modules/native-dark-mode/styles/marketplace.css var marketplace_default; var init_marketplace = __esm({ "src/modules/native-dark-mode/styles/marketplace.css"() { marketplace_default = ".mh-dark .marketplaceView-table,.mh-dark a.marketplaceView-header-tabHeader,.mh-dark .marketplaceView-browse-sidebar-link{color:var(--d-text-dark)}.mh-dark .marketplaceView-browse-sidebar-link.active{color:var(--d-text)}\n"; } }); // src/modules/native-dark-mode/styles/mice.css var mice_default; var init_mice = __esm({ "src/modules/native-dark-mode/styles/mice.css"() { mice_default = ".mh-dark .mouseListView-categoryContent-category{background-color:var(--d-bg)}.mh-dark .mouseListView-categoryContent-name{color:var(--d-text)}.mh-dark .mouseListView-category-margin{color:var(--d-text-dark)}.mh-dark .mouseListView-categoryContent-subgroupContainer,.mh-dark .mouseListView-categoryContent-subgroup-name,.mh-dark .mouseListView-categoryContent-weaknessesContainer{background-color:var(--d-alt);border:1px solid var(--d-border)}.mh-dark .mouseListView-categoryContent-subgroupContainer{border-radius:10px}.mh-dark .mouseListView-categoryContent-subgroup-name{margin:0;background-color:var(--d-bg-alt);border:none;border-bottom:1px solid var(--d-border)}.mh-dark .mouseListView-categoryContent:before{left:0;background-color:var(--d-bg)}.mh-dark .mouseListView-categoryContainer.active{color:var(--d-text-dark)}.mh-dark .mouseListView-categoryContainer.active .mouseListView-category-progress,.mh-dark .mouseListView-categoryContainer.active .mouseListView-category-name,.mh-dark .mouseListView-categoryContent-subgroup-mouse-margin{color:var(--d-text)}.mh-dark .adversariesPage-list-header{background-color:var(--d-bg);border-color:var(--d-border);box-shadow:none}.mh-dark .adversariesPage-list-header label{color:var(--d-text)}.mh-dark .mouseListView-categoryContent-subgroup-mouse.stats:nth-child(odd){background-color:var(--d-bg)}.mh-dark .mouseListView-categoryContent-filter-option{margin-left:1px;background-color:var(--d);border:1px solid var(--d-border)}.mh-dark .mouseListView-categoryContent-subgroup-mouse.stats.header{background-color:var(--d)!important}.mh-dark .mouseCrownsView-group-header b{color:var(--d-text-dark)}\n"; } }); // src/modules/native-dark-mode/styles/mouse-view-images.css var mouse_view_images_default; var init_mouse_view_images = __esm({ "src/modules/native-dark-mode/styles/mouse-view-images.css"() { mouse_view_images_default = '.mouseView-imageContainer .mouseView-image{position:relative}.mouseView-imageContainer .mouseView-image:after{position:absolute;top:0;right:0;left:0;display:block;height:390px;content:"";background-repeat:no-repeat;background-position:50% 0;background-size:contain;mix-blend-mode:difference}.mouseView-image[style*="large/190dfb893cea33795a15054183ad4cc8_voverhall.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/58a119943b8dc4a132438b8c19f1b83b_voverhall.jpg)}.mouseView-image[style*="large/ea009182f66232f6fe9fb7d4deffe502.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6be8356f8d13da7f28ec66a26ff07a0e.jpg)}.mouseView-image[style*="large/458697ad732d2dc4538afd5f632fb935.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/769a63d5f99844c895646032ee00eb2d.jpg)}.mouseView-image[style*="large/1621464182159d39989e5e05375ebdbb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/245cdbfd9ba3474ba98e55433dbc7196.jpg)}.mouseView-image[style*="large/eaa62a6b0ad4ad3899b62011f4673be4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5f96943d0b6a55078d2c3960390009ae.jpg)}.mouseView-image[style*="large/eab3472c12afc591123255e2680a298e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aa357dbb43750cbd2918f5d44565b04b.jpg)}.mouseView-image[style*="large/6aed5c79250ef8b08a9affcc8a797e38.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8070317d9f5087f8f69e166c6fea7569.jpg)}.mouseView-image[style*="large/28642338bdc33f0ad19d06211dce6879.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cb268bfd600fb649e1415ca9304bd57e.jpg)}.mouseView-image[style*="large/9c2624bf47a9095b4f1b87722aaa527c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7a3917f44c09fb43c5e462f431d9ea25.jpg)}.mouseView-image[style*="large/f8a97eedb4e32aaf43fa934607442725_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f710ad9981b6d418c7ef7be7c859d60a_v2.jpg)}.mouseView-image[style*="large/88486b9f4add28a03f82057a7266f56b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/071cab700644a22c5fd39cbaea1066e2.jpg)}.mouseView-image[style*="large/11ace039db8d472583ad9c756ec907e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bc3bf1b5e2db0aa7890bc34227869683.jpg)}.mouseView-image[style*="large/de54aa865bdf4fb7d1efe58851781bf3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6ea6f6478fbdf7ac8060436db798b4c5.jpg)}.mouseView-image[style*="large/21fd56454296a65a35e7d703ced709d0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9aa762955417f16febdf340f8e104e0a.jpg)}.mouseView-image[style*="large/f8925d33694f6c18f05af5eb8951a89b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e71bf465f3c3c6d2b26c198be2f3025a.jpg)}.mouseView-image[style*="large/c3f754c13fd9a8b31c2c37fc956936b9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/77ae01f24c13f6cf72705fd8f63bebb4.jpg)}.mouseView-image[style*="large/8236dcc0758e85e17df71fa463834ac6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/06b70c91c42bc8c1c364f28384b56442.jpg)}.mouseView-image[style*="large/6b3ea153a7f0abaa3da3396c27948e6c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ede89f2aa6ddafa80a109e075648487e.jpg)}.mouseView-image[style*="large/4c54551348198d9ba38d75361197ac72.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b2a7d60acaf6d8861d55d37078941277.jpg)}.mouseView-image[style*="large/031fefe1b3f838db44c74a3902d35db6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/405d31d5a2d87de565c3ca3f3bf59d4a.jpg)}.mouseView-image[style*="large/56e1d15e770c0e8f1144e6028f3a119c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/be017b75df90c2fc883d7c5036c40ee4.jpg)}.mouseView-image[style*="large/e444d90bc61fab40c2c185b4f3d61597.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/325bc1971ff8bee6a4de7677a11e6f04.jpg)}.mouseView-image[style*="large/0c14e3ae46d5af777f1d0af2bf58acac.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4964853e8d510d64a966b8d8a8e623e0.jpg)}.mouseView-image[style*="large/6b847e84573d27d60eaa7aa24a4a5fc7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/997723584f448d30cb6e0c6993aeb2db.jpg)}.mouseView-image[style*="large/b995846866f9370980bc9abd5e18252d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/729e1098aec4c9e1097a6f9ba59ac276.jpg)}.mouseView-image[style*="large/2a53b165020f8fe5df14a0ad7dbfc3c9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4c4347ed5173e88238fa15048bd6bc0f.jpg)}.mouseView-image[style*="large/70dd176efb077babe79e4783441c2416.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4012ea9229b851472ddb1f5f6c4a6cf1.jpg)}.mouseView-image[style*="large/5b8219ab6158c646e11395c613f4c715.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9e0583264f767384efffaa733df6d589.jpg)}.mouseView-image[style*="large/bb4443e4f0deb94f2ea07e5301cbc9e4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aa86ae4f255ca8d9a5590758af7686f3.jpg)}.mouseView-image[style*="large/31bfd717494466bba7dfebabc1bf8a9a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/85835e487b49aaca20acfed85a8448b4.jpg)}.mouseView-image[style*="large/ab0b7b4d41835f8e29e2bcd7caa3c81b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/78d29b3208c73daa5ee54a399d3a1f83.jpg)}.mouseView-image[style*="large/3d0f32ff223d5e05112184dd9b7dc6a9_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6f9cfa6714d92117ac3aac950f208649_v2.jpg)}.mouseView-image[style*="large/7e4d74d18aed93126b4e0554c364dc57.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3182416b56ebffee66de1de1b2726d8d.jpg)}.mouseView-image[style*="large/e1139470cc75b9b0080b9a058822353a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/16019f7247dd0bc9a9a807f839fa9e2d.jpg)}.mouseView-image[style*="large/c26479252f29f909562ec699a5f3ba36.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c11729db55d9490078185b0a33bcc5ff.jpg)}.mouseView-image[style*="large/66d53bce9575fef6c5f42e213fb93ce3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1e470f0cbeed85e2f8e1a4e30a74448a.jpg)}.mouseView-image[style*="large/7a1829076d61d1db78d47ef6a528776f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8be1d2ed17acb520638b55240ab0cfb5.jpg)}.mouseView-image[style*="large/9d656c6cabf5cab689cb6ddcc94c9eef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/773c6a0f90a3bdcb9c498f557f4522b9.jpg)}.mouseView-image[style*="large/dfc4cbfd3273bdbeb6404d1533a9c43b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4549db4ebff34ced4b9e85a32c02c07b.jpg)}.mouseView-image[style*="large/f7e33232038f43b248243900303a5aef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e03a1f208b8702d062efe171a9ea9272.jpg)}.mouseView-image[style*="large/49edf6698bd99ad3bf748617ab97ad2f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ca0501e3013926a1a18b88d208a06ab8.jpg)}.mouseView-image[style*="large/97928387fe7cbbd08ba0abf763ecd504_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3facdfd25a69255473e8b0713b19017b_v2.jpg)}.mouseView-image[style*="large/6fa797d1abba82fc526a71b15a1b2caa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b3374b287fd4a151ca3c7da45d806a70.jpg)}.mouseView-image[style*="large/ad6d02a0661d1eb46ae0929c1c2331c5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c46639c4a62c13a2a1d7a713b4b56460.jpg)}.mouseView-image[style*="large/1a34c72743a79dc1a7b298588bc7ebce.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2eaf89c7c062e453cc8ef0905634daa7.jpg)}.mouseView-image[style*="large/994c3948c35992db0bfae13fd290d534.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/36de764fd4f33758c18c81b40b2891a6.jpg)}.mouseView-image[style*="large/c4f93790a47f15ca66233ba099c9f2f1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7f0257f8f622b4481f5e6c5833abb45e.jpg)}.mouseView-image[style*="large/a2ecf6defd0d66a4536725d0f548b45b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/53dbe2b92d9664f60f054bd5f757651c.jpg)}.mouseView-image[style*="large/ebb69a26c6c8d955f061a428ba0b5534.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b228899df7aab02913e0955f9604eb44.jpg)}.mouseView-image[style*="large/d2862ebdaa413d4a5b7d737ff8579ab9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a07de02bb3e7e22dbe1c56b8eccb415f.jpg)}.mouseView-image[style*="large/58987a6b2544e6df90aa9592ced10ab3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1a0a0a3d487d03e4bade8f6f173f2e35.jpg)}.mouseView-image[style*="large/ccb0b83a163bee0663c6ddf37bcef99c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/227bba44294587b3e708ccc5612d5296.jpg)}.mouseView-image[style*="large/f8c300941136da07ce65a5a3c431f86f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dbdea8ce6ff698ca6e05379de82df0d0.jpg)}.mouseView-image[style*="large/7dc1d109ff552e65fdcb6bfa1102b6fa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3dbf1232c0292d9ca3b11b2aad35bf3e.jpg)}.mouseView-image[style*="large/6205e24d31f350369887453c773db8b5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bf989ac1d46850da9bc28661560cd940.jpg)}.mouseView-image[style*="large/44bdb7486f7cb904b84805818f1ab038.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d3598281c7dcc42b5afedbb1dbcc292f.jpg)}.mouseView-image[style*="large/7d7e9073bd1c6f8f7478c69da35e8741.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e8389bf70bd3defccba4a3cff33e90e.jpg)}.mouseView-image[style*="large/dc706de3f67beee93b5f1792fa2a53dc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2015cb357916fb56a5e13a33b8a3c610.jpg)}.mouseView-image[style*="large/68e657a85f8752b610d7439f9431ca60.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f36a4900445095a23528ad491a79b58b.jpg)}.mouseView-image[style*="large/5c8bc373259ace1038074559d5884d04.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f1e0eb69b7f7534b9d9eccaf01a3d83b.jpg)}.mouseView-image[style*="large/f173012da9b0162403a9c682f4dfa404.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/37ce8ed74343394f9ffce0fa775dd044.jpg)}.mouseView-image[style*="large/0f3cf224bf98457f6b5bad91ab1c7bd2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3e7b9156da93678c3b456f15a277edfe.jpg)}.mouseView-image[style*="large/951958468a1a2d468fdc770b2a85e843.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c3a93314cec9081e5414e3dc545510bc.jpg)}.mouseView-image[style*="large/a49f969ad06ae517faf734454ec2b8a3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a8d67e2be1bd56cca2a3f21e8cd6e801.jpg)}.mouseView-image[style*="large/60625922354a7b85bc90ea1996d774e8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/27c8704c8275e0686b81a17fe97ae674.jpg)}.mouseView-image[style*="large/1326dd4f75cdb287adaa9ccb6a8d11eb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/780235d7d25a27779d9608da65c3a87d.jpg)}.mouseView-image[style*="large/8245fdcec002b1c913c71f9f632ff395.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/506014f63bbf67314da1c2850269ee9e.jpg)}.mouseView-image[style*="large/67831204d43958ee41baa819ef213389.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9f88f9c552f24abc9af80d89b9efe09a.jpg)}.mouseView-image[style*="large/64ba6515efd078ac9b37e6a537ebf106.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b35bb0878abf6559fd492335c947d85e.jpg)}.mouseView-image[style*="large/90c5d177068db5fa082e48e4a78102ba.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/24a251c8a230c67dd6888e42c1fc16c6.jpg)}.mouseView-image[style*="large/a3c06571bb99204205cd18e028ff7109.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a7eb1dd236dee22e6f4057d574659e9b.jpg)}.mouseView-image[style*="large/25e53426cd8ea4b94c2406d66e9d572a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ca8c1c4145610e30cbe58e16575d440a.jpg)}.mouseView-image[style*="large/0c1798c65c29c96d4b20ec2de25c48cc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bfa6d9b97ca2cae739de32d0caa6163c.jpg)}.mouseView-image[style*="large/4cdded85d1c1b7a74796245bfefaf86b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bcf926e4d0d6a6318c0963ba6a3a67b4.jpg)}.mouseView-image[style*="large/c74adf2802feed698c1a779fe60eb9ba.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/232b5459f624f73cfa41041e1fb15d2b.jpg)}.mouseView-image[style*="large/80a6d334885ee396b0cf6ce84aa5931a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d46ede606f060393ad08ad8c31863902.jpg)}.mouseView-image[style*="large/e9b7701b1f38126d334d46b38331b6da.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/37143c6b786749634f3e0cf348f7d61b.jpg)}.mouseView-image[style*="large/53b0083fecec5a0039d463f713f6a87f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/078a171695b6f4e9c0650de9cfa7943f.jpg)}.mouseView-image[style*="large/54ca25bd8763110356ea9eac6c3ae826.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/13020119d3342097eedfd9e95a52f27c.jpg)}.mouseView-image[style*="large/72a46bd8fa3f8d28dfe1b43874793813.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/93b59d41c92c5d78eb5174991c37ea72.jpg)}.mouseView-image[style*="large/e0af0f3ab7c6f57cc58d749a0759ed50.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c1efbb5c64aa309c8a84cff800cf71e8.jpg)}.mouseView-image[style*="large/5afb329efd783b92489fb2234523efa0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5ec2200bbde11f51c66a0444c7d168a1.jpg)}.mouseView-image[style*="large/676a2108ab7df71a64aeea1cfbf9922d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/20a55d1392011f2f04a635e833f4d1c6.jpg)}.mouseView-image[style*="large/768b5a01547c8ac58320ffbda8cceffa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e752f6026654e26025751090a14c99cf.jpg)}.mouseView-image[style*="large/c1c8c197bdd1caf8f66ab11ff5dbffb9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4bd4368f80194f509fce082c7554633d.jpg)}.mouseView-image[style*="large/05a41317eb297ade12c1ad6026275eb8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6e60c865e806eecde86b9b30568fab82.jpg)}.mouseView-image[style*="large/0d7dab7ed2f4b448872fa20c5f8b4677.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0887a72cbe46d402aaba53962c23f219.jpg)}.mouseView-image[style*="large/d1b972ab5a4829962c58798504df5c6b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b921b87bbcea162e1319a5711afeb37f.jpg)}.mouseView-image[style*="large/32a13ed1ece074ae7716c91de927c2e5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9d1673e5ffb66b7ec566e8171908ede9.jpg)}.mouseView-image[style*="large/37e2481ec0c14c0e3f443dcfb53082f4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c3b9b44b556fa2b3d06b366ce25ac3dd.jpg)}.mouseView-image[style*="large/2822be4892fd0ff082596f83ccb48546.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e4006146ebdf3a792aba57c4c688e40.jpg)}.mouseView-image[style*="large/f01578067c7840d038992756cbc4ec4c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/732747c08fc8f97a592f611767e3243a.jpg)}.mouseView-image[style*="large/edb777a8ca99a4698d0293a414d3e4d9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/62677d4bc1bd736e14f97f1e18a20f12.jpg)}.mouseView-image[style*="large/093c2607fb7abc2b24e4fe7123129771.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/51d53f99cef428e1d8ed1cd1473f9359.jpg)}.mouseView-image[style*="large/6ee5e6e8d9ebaa3f60902d44fc739a1b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ea5c8ce961834890adfa8ba1c4641a9a.jpg)}.mouseView-image[style*="large/a1912b5457650d2f5486c34f40e49e99.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9c3ba7aa736b02a412c9661d9cd86646.jpg)}.mouseView-image[style*="large/0b4f108d974c2be8b857fe0d0db8aa06.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dab7e72e3897fd8ec1ad050d7b0a17c2.jpg)}.mouseView-image[style*="large/06e8b06cbd169bfa4e5dba86ef470ba9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/144d1b5abf2ecd9b847e3c2c4be66689.jpg)}.mouseView-image[style*="large/d41d588b199eea0697f98891eab82b40.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b586cc299987ded0258e31c01c555459.jpg)}.mouseView-image[style*="large/4b988ca3968a05ea31a85ae88dd4f564.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a8fe096d53ff85f82525182056fca88.jpg)}.mouseView-image[style*="large/a3b60f7e09f4553e762e4b0ab8e39106.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9b57c2b25d28394c7ee90ff1b40ae66f.jpg)}.mouseView-image[style*="large/6e1c646e76f1ba46cf48e0f65c665123.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d30d4687a266f9737f0dec01709c7bd0.jpg)}.mouseView-image[style*="large/62c1082783de6542d08a22c834211682.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/59794ad05cf41182c588176ed593ae0a.jpg)}.mouseView-image[style*="large/d54ecb3c3140fbb984b0ac3e87fdfdf1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/19d1bb9496f8695c6d7840b3ac9966a7.jpg)}.mouseView-image[style*="large/949ec68249d07a797382d7d80b3f5cc0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1a5e7544712451b70c597877633fd50c.jpg)}.mouseView-image[style*="large/5843a3dfd87ae526d420d382ce240eef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d533333299a41f2ab3d20783c16b3fca.jpg)}.mouseView-image[style*="large/2bb8dc01f82c17ee3dd8fe7a118a17b3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4cd324c7b94bb3d00f7edf7febaca563.jpg)}.mouseView-image[style*="large/4899e5d40d68f47246e13a48f9373560.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eb7b4ea8e86cda2bba774412bf30b92e.jpg)}.mouseView-image[style*="large/2a32e515d92e50109ec634b4a6e58782.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f688d18923de0fe707f1ac83fd03d2ee.jpg)}.mouseView-image[style*="large/398dca9a8c7703de969769491622ca32.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0eeb74b8ed08e4c210dfdfc2f608b32d.jpg)}.mouseView-image[style*="large/8066b656cb0e4deaa2f870cb35abc943.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/015fe3983a6c88cd4a5ef385c54e113e.jpg)}.mouseView-image[style*="large/4227f92e83424a76bf82db110a0069fb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e50ddd612f8293ed430528416556b739.jpg)}.mouseView-image[style*="large/632a2d3c7ae1f3fea70bec1cd0ad7b82.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b890f91043c8370bf207dc845ab0fe6c.jpg)}.mouseView-image[style*="large/36fb3b93e3bb1ce24f0d113e4e040fa0_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c3a28fb2984aa9a9f251377d9da21f8a_v2.jpg)}.mouseView-image[style*="large/e164be1eab811d6d1969ea5fe98fdf7c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9ac051081eaf599cb18fa9ce6c7122a9.jpg)}.mouseView-image[style*="large/f92226378d197ac8ae0a416befcf63f0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3794fa8c5fb7357ee1cabd90c4ce5821.jpg)}.mouseView-image[style*="large/a5b424aff8fb0fec38b57d27a0f03e36.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aa251626ead2e27fc832ed1b4e167356.jpg)}.mouseView-image[style*="large/55a65361184ad37ca80ed5165ff5e97e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8d9148e16d4561745c8535ddc2c481e5.jpg)}.mouseView-image[style*="large/2732c1f2c2783615693a441a91ca40e0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cff10486189d762fb1fb7a6afa1d5ebf.jpg)}.mouseView-image[style*="large/23aa9a31566f54f136721616604bb598.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/46c22cefb6ce50e18ed13c1905c1de64.jpg)}.mouseView-image[style*="large/8727aa086c27b421c5336cb779c2c52c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/227ae2b6348495af262dbd4156a73ab1.jpg)}.mouseView-image[style*="large/ccf31a7a2e5a732a85d7a63dc00b225e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef7de3b2ee3fb373e9570fb65c3fa6db.jpg)}.mouseView-image[style*="large/7bfd2f344765526d17c7f2e88574b13d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c4c0ccbec666d7ee86b694679a192733.jpg)}.mouseView-image[style*="large/99d153856507ce2f1f73fb440cf4cdd3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fd9d887a956b3daea5eea47468f71299.jpg)}.mouseView-image[style*="large/9ab4aca6e208ad331600110f76ada1da.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a30cb6e101df6557ddacc0c8b141ecf.jpg)}.mouseView-image[style*="large/d7c7d057493f6cea70eb5b1f9aacc7e6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/003fec2750173b8327756cc2910d4ea6.jpg)}.mouseView-image[style*="large/3d5183d41471f853017483087a17dd83.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/82d91077ef703b5fc86fbcc6ec35a7c4.jpg)}.mouseView-image[style*="large/34c6a0675828079e652fa44b70ecc517.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/46e3ecf9105ecdf6381a0a2a827d0a3f.jpg)}.mouseView-image[style*="large/e25a01e940d9c64bae97dd0a07861a7d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/327a06e5c99f9d087aa80d411650961d.jpg)}.mouseView-image[style*="large/4078da55b58529793f030dd2d6bd3e1f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5b5108aea1289af2913a10789e31e735.jpg)}.mouseView-image[style*="large/faca5059a6f34499db9e8bd7c7bab72a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b7dc70a10d065fc4bc41654250b8504.jpg)}.mouseView-image[style*="large/9eceb2fb7f1278700994461e1c3de3b2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/18d1776bfb9bedb887111185dd6c71d3.jpg)}.mouseView-image[style*="large/cce7e6c48415173799004da273c7e0a3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3867ce7070254b14532d3860f4a435ee.jpg)}.mouseView-image[style*="large/e5bafc9e57c6199d7f8a14f3454c9a49.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fed8b7000e468ffa1101ab2a868eb432.jpg)}.mouseView-image[style*="large/b34ae1eae3976c30777bd3b09ba0182b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2fa9e68bdf2104e139d0f000d890fc53.jpg)}.mouseView-image[style*="large/4d9d0da6e38ef696b39ceaff3508e7f4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/500ff9c39ea1270a525061f0766ed274.jpg)}.mouseView-image[style*="large/5b4c217e3abb625d94e2d571003c533c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cc8dac393f0769c8553f6c85496eacdd.jpg)}.mouseView-image[style*="large/f3cd8afcf049b1ada429bc8ff92ebe80.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/61a342e35fc5a5073cce503f32765de3.jpg)}.mouseView-image[style*="large/28308c41d3ca73b8e2c747190583820b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2879a692e01a20aa3368680dbffa1ba7.jpg)}.mouseView-image[style*="large/7b05544ea2ee67e1f8fe8d62146115e8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6a188cf2bf1ea59b5fc033c3cd07aaf9.jpg)}.mouseView-image[style*="large/173c586c477b51fb54a23f239e0e401b_v3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/97fa62ad0c854b37cb2219fa827adc8a_v3.jpg)}.mouseView-image[style*="large/08c9eaff1f0b6aabc56e3a6c31d2260a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f3aa40a2e6caf244c45e7a08ea58fb18.jpg)}.mouseView-image[style*="large/a7eb52cd92bed783858ab89bd83a0f12.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/877fe48052fae227a0a787b3ba441db9.jpg)}.mouseView-image[style*="large/26355abb909948709b93e8954c827d43.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/24325d8b374c46d3536c920a7cf44ec1.jpg)}.mouseView-image[style*="large/378c851d006b065f008a68a48a8985bd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0cb90ea8f3c0e077d798628e13d374a8.jpg)}.mouseView-image[style*="large/3956a58413bc0c96af3d2083756cef80.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0ef24eaa48a348e17db571d9e4ae8b60.jpg)}.mouseView-image[style*="large/fa87da939744bbf7ad107816fd2489e8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/683c2001443d096a246ee62814667804.jpg)}.mouseView-image[style*="large/63807c2ceecefae9bfbde3a419f8b3c5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4396811b5691a8569633a87a57c36192.jpg)}.mouseView-image[style*="large/a08df5fdf34d009d80d5f46cc4e5244d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8edd567e33340e39eeb32cf13ccee8af.jpg)}.mouseView-image[style*="large/3f950890d8121ba21c5c9500ed6d0394.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a3f0e161dc35322fa0de47888d387df2.jpg)}.mouseView-image[style*="large/5c6a7b645bbaab0f678c5108638c8302.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/92c1ac83e10280dfd7730984ecb9ed82.jpg)}.mouseView-image[style*="large/86d4e3b76fa15fcbad07b13afcccae34.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/022e44694f918a6fcd8ec55110c6a0db.jpg)}.mouseView-image[style*="large/31335ae82ea8fe1c36784a0afc82daa5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b24e06fa0736d2dbec4537ef0dd041a4.jpg)}.mouseView-image[style*="large/d4917f2e7ee0ebceb8dbc0b03cf177e2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0ce01cd63f45244d0683faff7621b7ea.jpg)}.mouseView-image[style*="large/19c5b576e813360b196c9295d82c700f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dfea834d98d904371cc22db027da816f.jpg)}.mouseView-image[style*="large/b41c1043592f69bcc6038ec7fe6ab39c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d4c00a4d70553d4afd06a3ca28effff2.jpg)}.mouseView-image[style*="large/b63b3c2fd1e6b5bdf70bf9f111f4f372.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/293a6025a47d739125e1f5165afb6cd5.jpg)}.mouseView-image[style*="large/adaa5795d92a07c6a84bb41205637961.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/64608b58b270e4f01956c1208497f347.jpg)}.mouseView-image[style*="large/502fab62dd6a735b1d3c48e40243462e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/df9b132f61850edb580f7ef707baf1f2.jpg)}.mouseView-image[style*="large/2be46931f288097682fd9ceda5b7d2ae.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6cd0569a47d2a233c83165f50ddebf87.jpg)}.mouseView-image[style*="large/c62511cd7198118094c5d3462b3c8da5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8ec02945dc238a890c9d1a35bf9568a2.jpg)}.mouseView-image[style*="large/28759e755d6082d47805cb006ddd32df.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6f786c690c0f944d15d6aceed442756f.jpg)}.mouseView-image[style*="large/1693e4745d3001e9125004b3ca8f6c12.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0deada0e1dc42a7613de827c9d5711e3.jpg)}.mouseView-image[style*="large/ebd12c804cd8cb3c47a33a221532a9a4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/21c0468ebddb46605cba7cc010f3efac.jpg)}.mouseView-image[style*="large/1cec4a636365d34cc5903bc98356446e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b613605888a376ffea91850f3b8aebf0.jpg)}.mouseView-image[style*="large/ba16287146981142d9da5bde474b29db_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3a30189ce2afeb7f7e6d3b30d07c9890_v2.jpg)}.mouseView-image[style*="large/00ff51ef969530f78d0dfda251db8789.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a40b2e11b90d8e199d3d408265767e93.jpg)}.mouseView-image[style*="large/6e359f801d898ee752bd85d12128817a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/63a9f33f70e86d1640330d77930f5059.jpg)}.mouseView-image[style*="large/b9814e72b009d2df470eb061a529fa69.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/56c0e79946d4c0e281a4a0d590c64f86.jpg)}.mouseView-image[style*="large/6b4aa9b492737235084c303679ab4f8a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c885a51a807db03a9a62b6f1427fa6da.jpg)}.mouseView-image[style*="large/f4998d0c7b3cc5f15ffc0f1d6bf70211.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5d70bc7233aa775e973208d52286d7e8.jpg)}.mouseView-image[style*="large/c2ee78e138c7bb8d4ef078ce6b95b35b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/18c7b224b26d2a6cdeeb8ae21a78f936.jpg)}.mouseView-image[style*="large/9f1e68858d5a5affddbefc7b47cea6cb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dd8d64aa69539511326d1d6a6948c85d.jpg)}.mouseView-image[style*="large/dada88783a50d255d24abb85c93911c2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d9d05c7db52a1b6f5407730be96e99f2.jpg)}.mouseView-image[style*="large/1f43f147dcfb33499a24f4c3e8cf6f05.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e293ad2ff28af2ff74d1e9ace2d87544.jpg)}.mouseView-image[style*="large/6bb6ecdd5ac760e3e3de1ace7e2a2d99.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aa449455c9b31c89f7b819ba397b29fc.jpg)}.mouseView-image[style*="large/20f4d59e4cece08b7ed1a6eb5f31c7d6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2588e6692723e96b0fef6ef6ebedbb2c.jpg)}.mouseView-image[style*="large/87d8ccda6e35048067b2693afbcaab33.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c9cccf0359bb2473c25b6ac54e44a8e0.jpg)}.mouseView-image[style*="large/c25ced86b42e6caa4495f869dbb597a3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ec0c6638da3e6df7dd36705da9169bc0.jpg)}.mouseView-image[style*="large/f201291ac659a944d858a639175523a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dfcacdd5d0cdc320b016f4abb01b3ebd.jpg)}.mouseView-image[style*="large/a62a4e19b57366f10db91054c90ff3e0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/79110bc744ae2d00946be124f05fa7fe.jpg)}.mouseView-image[style*="large/9fc4ab467b5f023422ba581c11bc5257.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a972a43c195f8acf04ccb8a36204c2b9.jpg)}.mouseView-image[style*="large/c1ccb6f54d67099f475fb2159bfb3b09.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/76ad58852a42e9f0a69ea4d80564a137.jpg)}.mouseView-image[style*="large/f4c880a820e768601aa07cba00046843.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f4ed1d2636c3370e3b312843ba939c19.jpg)}.mouseView-image[style*="large/a57842f9b1ea0aa8d8627dc15a4d497b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5f4e46b268eb3f10a897dc66d4a003b1.jpg)}.mouseView-image[style*="large/5d8aac50c28b6a0b0b1e2d79acaeebf1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/841d2fd5b07786da20744c88e379213c.jpg)}.mouseView-image[style*="large/61c236bc58138c5b849ecedc7fc956b5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/83f994d71bd76a51dd824305e017486c.jpg)}.mouseView-image[style*="large/efc16aa79947b6c13146c66d3643af99.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8fd207a06ee999286340cc371b359fe9.jpg)}.mouseView-image[style*="large/ae4174c3dcdeb179be8f6f208a354043.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c7a7b79fc63e808f37ca61192e7baef2.jpg)}.mouseView-image[style*="large/3f54a9744a32a8b36818d67e1065a94f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0e793c84a0b5de44dbdb4dba3adf33f8.jpg)}.mouseView-image[style*="large/0477cca55fa3304053814f2cb1dd7332.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5b569f96981818944db206abeac540e7.jpg)}.mouseView-image[style*="large/add4b9d60b280c2d7e864661943822f3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fcfe688887c8fbbc459b2354e82088c7.jpg)}.mouseView-image[style*="large/e0c6139504dd26c1e897335f1a227468.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef6454c895e03ff32c95cf2e47e2de8f.jpg)}.mouseView-image[style*="large/3e90fed639cb9ba3c7cf533854a2ccd5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dd82b6a30b3778e1055c0f4b15e58cda.jpg)}.mouseView-image[style*="large/3b396bd6f07307181a28d400f9c2a932.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8ed88aa357941c0acbf5d88265429183.jpg)}.mouseView-image[style*="large/51b5cfb3d9c3a89a81496f608b88d1ab.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7a211bff70f1c0e4e9292a967a23a166.jpg)}.mouseView-image[style*="large/216d082aeba29139f6b4116e51bbf90d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/de97f9476116baa117286dc1754c025f.jpg)}.mouseView-image[style*="large/d92961f92b99ba314b02a5c3d6eab3be.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a1d3b862ee8ed9e73cda0dbf7fadf290.jpg)}.mouseView-image[style*="large/65a579ed8c9bed4a0bfc4adfefa9f90f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9fdaa24bebeb1e11085c1c3aca81678b.jpg)}.mouseView-image[style*="large/b6d75c0d2f8a659c06f33798fb17378c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0a305efac0adb20b1cc221b596d11179.jpg)}.mouseView-image[style*="large/d93b1df1c8e40c980eaa3f37731ad8ee.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/872a7c5314aac7f3dd950434a8cc52b5.jpg)}.mouseView-image[style*="large/05d3c7e1f6f32839eb732453fdcbf950.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7f5892ddb898c6348c39a29b7f9b1a80.jpg)}.mouseView-image[style*="large/9c15ebcaedb93d524f451043564f7ce1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1e749576251b89b07d7806a97f8c3f31.jpg)}.mouseView-image[style*="large/87fc9ee0eeb976bab4ff2606bb4d7a34.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2805e392e78b24d976c02325fbeb6524.jpg)}.mouseView-image[style*="large/5aa46f66dcab68730d19a7c7887ea24a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/40342986b68299ad33b5dc2d168674a9.jpg)}.mouseView-image[style*="large/4d56ec4d33f69b69e65fb732ac5929c3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4b12f3a535b73ebb1b7135e32ef41b81.jpg)}.mouseView-image[style*="large/93928643b6cc8df8d9b4bcac23e6fbe4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e7ca48ba39da1ca7c54a17ee163eb8f9.jpg)}.mouseView-image[style*="large/476f0a1682fad020c2a464d8d9847bce.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9bb21d9dd7a1f35364cd4d65b33a9cd3.jpg)}.mouseView-image[style*="large/47d9b25c3bd7e58860226e47fe56ec50.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8fb3d861f7048c8846cb5d33c8b9b518.jpg)}.mouseView-image[style*="large/7ccb767aca16456c83f3d0fb23f02905_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c6318b2a1deb8a1b23c6b57a2a1521bd_v2.jpg)}.mouseView-image[style*="large/bfb2608ea67310316f9f9339ecef0dc2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e8d7cfda5e3b109657992c5517c5c97f.jpg)}.mouseView-image[style*="large/b9cf48055148ac783de0549e20131c82.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2ad142c10b93c984e68d1bb61a059801.jpg)}.mouseView-image[style*="large/2cd35b6649d566f60f2a67b8c9a6dbbb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a5bdc951a90a824c7eec79eee37e3dae.jpg)}.mouseView-image[style*="large/63351ddf7e85786ba76b8cd0a8baf104.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e6f27d8c356af0e247a43b666b306ce3.jpg)}.mouseView-image[style*="large/b9ccbe5b20c9b1833093342051129bfd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a48f032e93fba6ddec30431c0914fd64.jpg)}.mouseView-image[style*="large/13b73d6b6e846e37e3981d797b9a839d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/479400d676cb098673daf13e75561f53.jpg)}.mouseView-image[style*="large/5412585648089f419488edee79e32531.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d05312e3b9f4b20d36ee52d63102c87b.jpg)}.mouseView-image[style*="large/90daef366477d87f7a10e1173fe713be.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/451f14e9e28092a212bbc59d248df9b6.jpg)}.mouseView-image[style*="large/35a702150edfe8ac1694c449367ba709_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2bb6349eabe3376e72acf32938ecdcd3_v2.jpg)}.mouseView-image[style*="large/b86643f0742f1eaca0c7fb6266ba7c47.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/87e4639afde1e4e285e81adf1f7510ce.jpg)}.mouseView-image[style*="large/6cae3a9e8f1b2cd83d58e576a9898c55.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a0784cbcac7626c0bfed6ef7f2f446a9.jpg)}.mouseView-image[style*="large/62d55debcab480b8be5691cc2b1fe725.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/492e3a3485cecddaf1cbaa5ef6ac4070.jpg)}.mouseView-image[style*="large/551859d5936d415cbdcc269f740a7522.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f9fe1b4225ae815af85c5e6ca1f09d53.jpg)}.mouseView-image[style*="large/4c85e84debc775dcec703f2c44538afe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6a0153e7ee834c73ac51e05c4fb0b352.jpg)}.mouseView-image[style*="large/04c5f549fc18401ef3ee152882b7e722.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/165be0a7be2c60f636946ab820b50fa4.jpg)}.mouseView-image[style*="large/2b6457cd603aac67460beb3c6088421c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a5b7fb14b1083739d63062675e183b73.jpg)}.mouseView-image[style*="large/2f2450f5403c7b1dde05137b3dd0e45d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/97e0a1b1f1beabb9bc38ee01429e64e4.jpg)}.mouseView-image[style*="large/ffad4e39c9ded9fef6317691692eff65.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d5604f23b41f545cf674837e5e451628.jpg)}.mouseView-image[style*="large/bad4957b6bafdfa5bbaa00e956651a72.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ebb7aeff004066f7017c7017bcec3f71.jpg)}.mouseView-image[style*="large/05fb096ad0d4a7e10c374c24b2ca61e5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aed572e9412abc12e887dbe55c56c87f.jpg)}.mouseView-image[style*="large/c983c475dd3f9098e98023970b1607bf.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e8b795a5e4f54cf9a32a6fe13a0c7aac.jpg)}.mouseView-image[style*="large/8ee06b3351df3657255a57c9c76baa9f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1a3ac6ccba59974a89c8cd504f7b4dc6.jpg)}.mouseView-image[style*="large/8b54560e27730a0a9999264abad68a68.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a56dd99f721b04a310846671ceb32fd8.jpg)}.mouseView-image[style*="large/0ecd59315177e27ed1b4098b1bf0fe0d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/303e32a1d7dabc12abfe6e08834e180c.jpg)}.mouseView-image[style*="large/3ebacc0451d06dd0cdb9154b0b55805b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b3af0d62cb8682ab3e342384b31fe9ab.jpg)}.mouseView-image[style*="large/2b9eb0bc84435509916133df1ed99574.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/973de4b73ef1d2e06b7e3267ffc2e509.jpg)}.mouseView-image[style*="large/9ab3e8115885277ac748e11b8049553a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4138b1150d15a6cb11207674e7125ccf.jpg)}.mouseView-image[style*="large/2e2970fb56d228f99ba371344bb83c16.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7a46f5fc7f97b9d08c3ad6c2b571bda8.jpg)}.mouseView-image[style*="large/3ce246e14606d0da81561941180ce4f2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ba73666b03fe8d4a0a4b5613bb1552d3.jpg)}.mouseView-image[style*="large/60ca1234d49b357f732a98d8ee748e07_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/76e8cc81c9a44fda64de62acfbf4ab47_v2.jpg)}.mouseView-image[style*="large/5a3fec9198e8f0ecec53f690e2378fad.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d82100d0884e0737782931908b4a9b94.jpg)}.mouseView-image[style*="large/5ddfab080dd67644e50253321878bb6a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ba690940c2352002930763ef55f5a27a.jpg)}.mouseView-image[style*="large/6ef437323a4c9a479f8487eb6a07dd9a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0b44089bdd75af0270f6cc6a5e5b0d0e.jpg)}.mouseView-image[style*="large/a4005084ee36ee9a239a1e79fe4dfc40.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a70922226177ee7e5b42fe287da1fd8a.jpg)}.mouseView-image[style*="large/fc93ceb879069d4f79ec166b76c5d2f2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/babb5d0b693225c2b1577f179b1446e1.jpg)}.mouseView-image[style*="large/8e9a7d2846657b1ec3f9e10e946adfa8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/02697d0762a1c470ada346026ca7704f.jpg)}.mouseView-image[style*="large/f24cfe1bcc4325a7485d3ff6c123a796.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5d96758485aad9e703b064268e3efce4.jpg)}.mouseView-image[style*="large/131b823f1f712bf956a83950dc324586.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ad0db73ef85bdeb37b65873a8dbddfbe.jpg)}.mouseView-image[style*="large/b39a9981f150737ecd0919e1b0bb5c61.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7af39a19072e2753786fe99cac5de41e.jpg)}.mouseView-image[style*="large/69e4f657ea3ab1c8f29c74671e93ecf9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/701342ad6b6f6b11cfe7bc337c217d97.jpg)}.mouseView-image[style*="large/d919d84ce455f404d3cb56ae8d6a0dfe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f24644488021f4b6a3344f31e3678bc0.jpg)}.mouseView-image[style*="large/e6b1206df72ff8343e41d69e1c793882.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d48ef095cb258dc42e40d3280abd2b4d.jpg)}.mouseView-image[style*="large/a8c9d656111f6af6836ed78d2522446e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/419a302d1613b9ba5239f307b8309aee.jpg)}.mouseView-image[style*="large/7914ae19e6b9f13300de4b3e7a952527.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eb80cbe8627c1b25b8da526f1072e8f3.jpg)}.mouseView-image[style*="large/fc24447de1f8224da731b91532dbc76f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c24fab710385f2e4a80d2cc418b120e6.jpg)}.mouseView-image[style*="large/8bef59f5cb72cb3b166dbf51b30eeb18.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9e30a79c45fec5f6f369ba7588677e78.jpg)}.mouseView-image[style*="large/870c05a0fa325ac9f021f8a5b8062401.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0c6fbe233ab14ed1c342eb631b6ab4dc.jpg)}.mouseView-image[style*="large/552861740a4aa726e9afe6215da532e8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4d05213c5ea07d938298b7ab70ed3aed.jpg)}.mouseView-image[style*="large/da148686a7099d2a8a417f5a740442e2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dab52ec9c5fbf0a0edbb1425411fa571.jpg)}.mouseView-image[style*="large/e76b3a0f30170289a833d0c50b9910f0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c22631ad109d6bf2472d67e370248df4.jpg)}.mouseView-image[style*="large/1bd695745775e538f1da0daf9bc6f200.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/374def8a70dd7c927e0f2808985bfc20.jpg)}.mouseView-image[style*="large/a4c9b3c3f65897033485bcfda666200e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6e6f72596d935c6588074cec74dc904c.jpg)}.mouseView-image[style*="large/65edab79217d97ce7b23e00a6de96ab9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/35088bbec15b5b89349eba8d9321d876.jpg)}.mouseView-image[style*="large/dc54a0bee804d8f7de56f4380146d78e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/80577319bfb8f1cff48b3d1e5b190a77.jpg)}.mouseView-image[style*="large/5d8a5541b965986f40eed8a1dc977962.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a08ee82e4317dc3f3f77365c00ef5556.jpg)}.mouseView-image[style*="large/033481fec47dc42e4161df5667b11656.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef4df6716e09eda4af6d91f80ddd4325.jpg)}.mouseView-image[style*="large/b2f48bbd29f3cd0c3a2b1b9616cacd73.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1dc1269fb6a9b517f99d849cb3779479.jpg)}.mouseView-image[style*="large/8b4c722abf92041d158255b5833191ca.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a790c3120d492d7b1112b557e5428d2f.jpg)}.mouseView-image[style*="large/7ce321373aba890425f6a8c254482829.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ff3e93efdc96c073ab0927a7ab6f995c.jpg)}.mouseView-image[style*="large/5647c11b36b9d81384c7bbd82e2420f4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/121aaf3fa894375f77ca2ec1441722c8.jpg)}.mouseView-image[style*="large/fac1e63e1b0b9a5c7a10a330ff112536.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b64885da5f20b2ebb8e6755f6c02419.jpg)}.mouseView-image[style*="large/77bcbfa6cd16c6d93557cd9a768faadc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d84cf34677508bc6434fbb3e80eadcde.jpg)}.mouseView-image[style*="large/3e08256ba194a5d9f9d75282b02be130.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3691fc84e19deda12cc125267fdcb0fc.jpg)}.mouseView-image[style*="large/b0eac6dad297c7b7cb1b95d33b99ad2f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8407bb9a5ed7f5c25c02b74a2fd601d2.jpg)}.mouseView-image[style*="large/8e93eff2eca356b5de9b814727107c58.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f5f56dd219789299fae7e0adba5f7acf.jpg)}.mouseView-image[style*="large/f754f38049eb1b1668b310e3e26f59e0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5b64306fb2d69547e57fb6d5095f050f.jpg)}.mouseView-image[style*="large/9e248185f91c8635dce8e1c6e7c0fe07.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5b83eb30a23241608e22375ece3040f6.jpg)}.mouseView-image[style*="large/83fddfd6098c44f0ee1100392467e59b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3843c54163458b4f3ae3ef7651b54333.jpg)}.mouseView-image[style*="large/2d32401cd153b3f3b22779308f753660.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/65e8d5cde0c19e387f1f0a5a65b5e845.jpg)}.mouseView-image[style*="large/2979708105093d745cedf4518934c13e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ecac3e30db08f3c546d168258e0de5d8.jpg)}.mouseView-image[style*="large/e580882a360faeb5c63dbda21d0423a9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c5709b87b8ca57508b600b9531c9db77.jpg)}.mouseView-image[style*="large/2955abb5ecc004abcdd0f76b0afb9611.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/af93750b31fab1a7fa70ed8afd300146.jpg)}.mouseView-image[style*="large/417e4d052ab3f9eafdc277ac02fbf028.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3a1ab49a98518c58aff21d24ca8925c7.jpg)}.mouseView-image[style*="large/273c8dd3e1d9410d06a377d927dc8898.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/021dc73b5f0a9b4b34406869efd9ec4b.jpg)}.mouseView-image[style*="large/9d0500cf07d8fd4b2b1afcca8f92d04e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6ea4af99e886b04da6c3ccc7a91dd414.jpg)}.mouseView-image[style*="large/14334fa8572fea95de7f754615cea131.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4dfbfa4052b5ffd50f361c50661b504b.jpg)}.mouseView-image[style*="large/78ff85e35f2382b0f44e0f846557c080.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/91c54923b5cee9542484bc8d88316538.jpg)}.mouseView-image[style*="large/ddabe2bc3acf95fb395db000d8c037cb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/350eb6df973aff15718b2c90327be94e.jpg)}.mouseView-image[style*="large/fb97307f826c0358d951f03c1fe96994.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/158a12edb7d0699b850aae9ddea62857.jpg)}.mouseView-image[style*="large/649f8af359f1388438ba180cb3a88fbe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/13031649cc1bda75c80fad4530c4fe9a.jpg)}.mouseView-image[style*="large/6463d38b8853edc5b18ac7431072404f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/72bc3abd5be5e9bdf71b68c03cb216b1.jpg)}.mouseView-image[style*="large/e821cf3225465c54c970ad58342fe39d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/65b808971a44e2beebf68d4fad7c5afc.jpg)}.mouseView-image[style*="large/778311e9cf376b2d1ebb00890abf9d7c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1fa22b286e18caab6e60131fdc75ef48.jpg)}.mouseView-image[style*="large/1bd1c827417472ce6292bc47a6eb422f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/05bfc753481a900333a28e044faa43e5.jpg)}.mouseView-image[style*="large/96f0df0bb2710f8fa1ff97b8bc24653c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d11e701e6d67d7d6739873863969b931.jpg)}.mouseView-image[style*="large/d48f05857c6c8961bb859168e0e5b009.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/18a4f902a38b600dd3685d6c7747acce.jpg)}.mouseView-image[style*="large/afa83384e105f009c02658821849e42c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0530b5a997933bcba9104d961a8c219b.jpg)}.mouseView-image[style*="large/442bbc81fab94a9ba46c790c45194c44.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bb61dd2658e53eb188376df9c5860e1b.jpg)}.mouseView-image[style*="large/023158f989829e5f9fa26bb4b2a245bd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/74779a15ca18e7cbe6fa9c94d2c67ad2.jpg)}.mouseView-image[style*="large/f7b29fc08f37672822c3190dee5563bb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eed36683d8179e8520ee675e1e23b3cd.jpg)}.mouseView-image[style*="large/f88925fda0758867a66184c1c6b453d9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/97f11ca986e230b8aaeded67a79e80be.jpg)}.mouseView-image[style*="large/b9ae98296039f0df4907b786822e84e8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5372f5804bf6ce4e086f36f3b783c053.jpg)}.mouseView-image[style*="large/64e03eaba107e3201faeaac768b65f0f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/72127a189fc2d79cb4665228ca74faa2.jpg)}.mouseView-image[style*="large/c2190cfc3593f34b27babed6d6944a77.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0cc75769bbddf63f7a271ace32a38ab9.jpg)}.mouseView-image[style*="large/1e884ebdb25865a9eeed5157339a3638.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/880931c9962c82d8a66ee4be64fc1357.jpg)}.mouseView-image[style*="large/63a48bf1b41bda01aa57eb93d5ed54ec.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/441d876c1e5bc1710cb7537e5a141c8a.jpg)}.mouseView-image[style*="large/7634d92798d3375326970d8834f71481.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fa47610722a1e87793a1ca5dd80e7833.jpg)}.mouseView-image[style*="large/17e3e8fcf5620e1e1ea391934b55ce9d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e5ee95da63101c5a9e938f6ff3c3de42.jpg)}.mouseView-image[style*="large/0b8955ddfab498c9b990e3b9a1607bc9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/67b693e05696b4f20760cb86893037ad.jpg)}.mouseView-image[style*="large/7ab99da46da9f254e5a4c8378bdcab2b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fbd27c518d6296911ec124cc6c25564f.jpg)}.mouseView-image[style*="large/7226afe7ca26ce5d9e9aa62af3675365.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7bd7dc213fadfb1805b048bf9c135e3c.jpg)}.mouseView-image[style*="large/2f722c871d3fb1a346b93a95af087b72.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a790dc19061c2f1df0dbe811d55d3923.jpg)}.mouseView-image[style*="large/20db7b5fca227f46064bcf73eea384ea.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/937606403a7135c89304e8164fd70151.jpg)}.mouseView-image[style*="large/d28c6c6f6ac85338b53faab593f91d10.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/72f4c77ef8f79a2b9fa038321220d67f.jpg)}.mouseView-image[style*="large/60ad90662589467f87849b5e7f898d0d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/96618f37ea33fead68d588f0ccfafb41.jpg)}.mouseView-image[style*="large/f1aad817afb4667de2a069dca27685c2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/65e30e021639f75656fa4672a2a8aadb.jpg)}.mouseView-image[style*="large/84021caa170a3443aa0b2b8c7338cfaf.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/347eda2109a5633d73008e74a00860cb.jpg)}.mouseView-image[style*="large/6e746d08d108dfebe3926b0421ee216e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fd0638f4db988c4226cdc887e9780485.jpg)}.mouseView-image[style*="large/ea5410168338b6ad0078b54d66091b6e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/38a0c1821ce893be20d9d2dfc56bcbed.jpg)}.mouseView-image[style*="large/8f2e8ccb2b801f369a81cf9e76a729d7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/55a44ec7027fc13149c6c3d0eaf43c00.jpg)}.mouseView-image[style*="large/47213fba5ee959da8c23767a9aaca9d9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/01af2ae4a9aeca9e61491872b52a7e98.jpg)}.mouseView-image[style*="large/c7a0675a026a2643c9437a7b832df615.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/46cd18a808bbed0499b1c9141adcd607.jpg)}.mouseView-image[style*="large/c052a851ea7d3f711e0c6261fd52029b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1502f7671efc9baaec7b35ac29f9a86b.jpg)}.mouseView-image[style*="large/5a3a52bbd15a9629631cd93bbdd408df.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2771c47c3d93cd3111582db830be2c74.jpg)}.mouseView-image[style*="large/9231a4ae15823dc8c627b1aad9b5503a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b302ca4d629968d532e3a6585431bc31.jpg)}.mouseView-image[style*="large/71cbc9ff37796eea192f440b8920115f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/51f18b7968ddeb301038501229ed1ab4.jpg)}.mouseView-image[style*="large/fe0a340255e4bc577a61a5e0ac02922c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9bec60549b27f18de7ba936485e04466.jpg)}.mouseView-image[style*="large/53a4d8cee30e3eefc18c0710c7f01cc4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0e2b47268eb3066302f9c01fb3c9cd29.jpg)}.mouseView-image[style*="large/ccd1114dd0ba838e78ed774bcc2c1889.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e5f0c1056f6bb549d3ee75981ac96fa5.jpg)}.mouseView-image[style*="large/614d94d159c7a1cf136f9a05464068ee.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5dc8c9bd54c1b125259f423333b65c82.jpg)}.mouseView-image[style*="large/e1268265c2ebe4a4e331b967b04cc284.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/59327ea11521bccd9a3ddc71062a3e23.jpg)}.mouseView-image[style*="large/267e79b15da95cfeb6d600bc81f1a048.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/465e3e4adcf094f3d2e64d105c569671.jpg)}.mouseView-image[style*="large/ae290eb2b12eeab17b9c00461669dcee.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/78d2cfcf28d3c079e3ec914f8fdcdccb.jpg)}.mouseView-image[style*="large/14432ee126fde43e990565b50d449fca.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/68726890a58def53d160433a4f675fd3.jpg)}.mouseView-image[style*="large/f9dfc4423181ae299e08fc973273d113.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fc68990ad46fbf34e947eb765ebf001f.jpg)}.mouseView-image[style*="large/7be516d7bad5aa751b75a10648df954b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7f3d6c87c38001bc80d1c48482a7ec65.jpg)}.mouseView-image[style*="large/4f43f6ac632c5febb66cb604a4a9f6b5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/faad9071f677ba9291b0b664f90cf083.jpg)}.mouseView-image[style*="large/e1a7e1508a387f748ed156c591972fd5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/78522b95de5136f8df1dd943f42df2d8.jpg)}.mouseView-image[style*="large/4c179820a2b852e10458186601711b84.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/36ee853055d1e9559efef5c2d93af7d8.jpg)}.mouseView-image[style*="large/fee2e0fce0eb8393c212a30deeaf6d99.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/addfe8ef108c85db2deab727fd533b7c.jpg)}.mouseView-image[style*="large/99d491bd62d6321d0759fa9f2eee64f5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7b6b40bef5dc176c02aab3da6f0bf743.jpg)}.mouseView-image[style*="large/9fbf22517565c666e17293574c9ec51a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8fc73368cf9a1948fdc0f5f890bdb445.jpg)}.mouseView-image[style*="large/92f7d92532f04e886efb3115d72f4cc9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9c8a221bfd5a67d3090221b911019f3a.jpg)}.mouseView-image[style*="large/89a1550d46bff45c86057846275ae7d2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fd170ef47f603b2ccedc1fb2b9b99eb4.jpg)}.mouseView-image[style*="large/d9258a400dc2f87ff5eed8d1c7c23bef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/65c47812727635db8538bb4ddf4e8bca.jpg)}.mouseView-image[style*="large/83ce422c5922692ba8f724e8c0802a9f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6c4c341e025f071f124266b3e3b87b35.jpg)}.mouseView-image[style*="large/d84216bdd72a0f2cbb0f1ec3b6094cc0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/364400b88b36b90f1995db5104e5ba2c.jpg)}.mouseView-image[style*="large/cb3e090f38d488394471401ed27f6810.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0ead7564a01f1d7bb20596798e21843c.jpg)}.mouseView-image[style*="large/a4505893735e9fb10747dd499db675bc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ea4b83dc3e3c3e0fd9bcada374b1ade8.jpg)}.mouseView-image[style*="large/9a91755da7c05de0445bd5acea17415f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d65a4fe0ea42c721708692275a0b89a0.jpg)}.mouseView-image[style*="large/add448b33ce69ac3e56b4777785dd24f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cf16e977657183410ca7e16f2ed05300.jpg)}.mouseView-image[style*="large/f904635c3c5f0905af0e65cf5ca9bd16.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dcd72016f79385046408654460cbd8ef.jpg)}.mouseView-image[style*="large/1623bd16d1744ab5b2bb9e6ffe411796.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5209b02fa4b15029f2ccc2bfe665542c.jpg)}.mouseView-image[style*="large/70a2db32ef4480b8caeb2911b9151c47.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3cfe93dc661b0cd553aab2b24ae02079.jpg)}.mouseView-image[style*="large/23aa99e72f27e32d783e49d2d07c6df5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6568edcdb63cca28ca1ce021174f9355.jpg)}.mouseView-image[style*="large/d61215e80875f883d4856f48c40e9787.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5f94439ad3fcddb1b3cd2eeed80c8356.jpg)}.mouseView-image[style*="large/57443d94550864be42da3facb3c43a91.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2f6ee02d04825634df5ec9b111d718f2.jpg)}.mouseView-image[style*="large/add0bacaf38172fe887b0ca7a6a9e0db.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/926870d464ed4d8444c6783bce0e37be.jpg)}.mouseView-image[style*="large/3034120e4e24c1da3e7086a18556345a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/414e4e1c7f6103d53458a248d4771d25.jpg)}.mouseView-image[style*="large/2d58d8602ffd0190eec965f1e1ceca1d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/447ef7915a64e30f3f83b1d25e03bfdf.jpg)}.mouseView-image[style*="large/9ee41f218ede1a0d3f1f571728fce1c9_v2024.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/00220be12dbffeaa5cffc42bfa67f6fb_v2024.jpg)}.mouseView-image[style*="large/2eb6e5cfe269671aef78d00ce7464fd7_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9b334242caea6dc67bd2166db133cc60_v2.jpg)}.mouseView-image[style*="large/ff056c8871ae8e50b8a5f51939c5ccb6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/28a3984536a7abeeeec51436e73f5c5c.jpg)}.mouseView-image[style*="large/aefc6f8807ec14b547a745060ad43dad.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/03d4a361c8b696eb31804838b1cc0558.jpg)}.mouseView-image[style*="large/d96f21b9342e74b5eafee3d0d217303f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0f829064d8de775f7ae06f85ae8a9e6e.jpg)}.mouseView-image[style*="large/0cf8d1b59b1108c0ae301fd1333bdb81.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/00187f45542027fbea98648b0de2087a.jpg)}.mouseView-image[style*="large/df26710624c29c5c0a6747d2ba6da7f8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2f8158223472fa5a409c7d18d3727f68.jpg)}.mouseView-image[style*="large/90faba7fbee7736a20f208893950df68.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1bfcd928f1abd74676bda5326d269ac6.jpg)}.mouseView-image[style*="large/e61ae66db3f760a99138402fdf938b41.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0acf0f897c554f3001120beced6f32e6.jpg)}.mouseView-image[style*="large/8159b52b5fde2e20475d61d2d8da5520.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fccbada1842fac23ab38cbd83c350527.jpg)}.mouseView-image[style*="large/32f26c665f54ca5ed0edcbacd33c8c25.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/270b9483aa265db550ead3c934bca03d.jpg)}.mouseView-image[style*="large/30c81974e8464ce994f6c021939219ff.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eda4fb81999b58d59c8a0d82d2e21633.jpg)}.mouseView-image[style*="large/a1606d846469bb1542fc21c05131ded3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/727c5366df097729789ae108a9061841.jpg)}.mouseView-image[style*="large/07affdb5f74dcc27deda19b7cb7d34d5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/80999c3fefcb35e3014606805f5f6c3e.jpg)}.mouseView-image[style*="large/4af32a54588d60307b60650a4cf80c9c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/90a790bbfeda0f3e528707d949617331.jpg)}.mouseView-image[style*="large/f3651f7e8547afd9bab7c29298cdb1b9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b0e93f664c0de7a41d4d704a2dad153.jpg)}.mouseView-image[style*="large/4b9c6f955b33e0a089349710ae90ca7c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3557e241262023344e00a64e4bba62ae.jpg)}.mouseView-image[style*="large/4bfc90e83f5e4b3443e56966ae3df84c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2f22f0131619a89104f53e658b669d02.jpg)}.mouseView-image[style*="large/16adff77a4aec4178dc92ffa327edcb5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/48e03b83100e4fce933fd0878d3fd603.jpg)}.mouseView-image[style*="large/fed087a95c071815481e611484b7faa6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/277c62fccb8834bfc94c38c85aac2735.jpg)}.mouseView-image[style*="large/c0aa26baa7a047f6ccdd42cd3da6c778.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3a27b3eb3dfc148992785404dd1413be.jpg)}.mouseView-image[style*="large/483495c9de12bfa6e3f0adbab94ec1f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/18e86a040bedd8d5f6bedcc768f3c0cb.jpg)}.mouseView-image[style*="large/6313d851de297812f5bf4b48c54a8d17.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/16fb3d5da246d4c8725c26efba8140ff.jpg)}.mouseView-image[style*="large/8009d71af1756012f42d9e1e53b92d67.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2b0e39bc4257e9454edd92e33951d502.jpg)}.mouseView-image[style*="large/40af184a2b23e983d2b015ddde2975f2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5091eaec6b2e5a338248e6c505fc0c31.jpg)}.mouseView-image[style*="large/269f15f7df6196f02ffaf8be312c57bb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/47b79653477a06c93cfcaa6d5f6e41b0.jpg)}.mouseView-image[style*="large/fe768bb5b1d19f5d12babe6502627a57.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c8bd075d75fc340c033b56f6fd56e620.jpg)}.mouseView-image[style*="large/4bc2480a1c0c4f51430853ca40aba638.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e7a38cd3be2ac4ae0c8e70603a7cbebc.jpg)}.mouseView-image[style*="large/c3d91aeb8d27ebedc0b2e9cbad052915.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d36746c322fc1acb8dbd7252051e4c47.jpg)}.mouseView-image[style*="large/eca9039df01f6067135ced9d87f784af.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/be5f3c379b1137c590cb3d136185cf4d.jpg)}.mouseView-image[style*="large/a1efb0c058266fd4ae70efc3ff9042b4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cc9845c1661899b92155e85763eab080.jpg)}.mouseView-image[style*="large/3d032613da95ca6adc871af8544e0ac5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0512afeac83c2496a8627102652bf6d4.jpg)}.mouseView-image[style*="large/468c3b1a4418e52cd011ebf2ba9e8411.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c4bb4ff3c42a336e80679fa23cb69c4a.jpg)}.mouseView-image[style*="large/b1177d0cd38818e90239625c974777aa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/05d9f5f2bb1e6f3b5746bb163125534d.jpg)}.mouseView-image[style*="large/97c7d01fe10366acaf6045283a989e46.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9059e35c563850821c599f0d876b2dc6.jpg)}.mouseView-image[style*="large/d888c3fb022dfbed117334310d19664d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3f2d885c3939ffc370d8d5be79e0b334.jpg)}.mouseView-image[style*="large/eccbb3ef1ba5d1302768b3e9471fbfc6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/afe61a8e6a16be22eeff02cb5cca7e1d.jpg)}.mouseView-image[style*="large/24b00cb615a12ca902dcfef91a14ea27.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b66a0bc77d0359c96b042a30ec489979.jpg)}.mouseView-image[style*="large/364a89b3a4a9681d4e486e9ac7e51be5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8ec9bfb2d40512c67dbf7d842aa480ea.jpg)}.mouseView-image[style*="large/c4679da4a42ba821c280d367b30b5392.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/42f30cc3777e5e19f100d2e28c7f4b5a.jpg)}.mouseView-image[style*="large/705cbdcc9bea88b3c0f8b0a866617986.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f4932e13285b74c5d9d653550a817f16.jpg)}.mouseView-image[style*="large/9d55dbd945e7f421e78e597e156477da.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/03d226cfc368e334c63037bb2534d2ba.jpg)}.mouseView-image[style*="large/4eeb05b9f74796ea6e7fe3e16979fb64.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/001284ca022bf0bf728fc46942a7d86c.jpg)}.mouseView-image[style*="large/10932e6a15d1b8f6e875477e05708dcb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ad43c652509ce717eb0f4ce4e1b60b43.jpg)}.mouseView-image[style*="large/da7a23eb98d059e8511a8ba7123c2542.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1024d917587eab873b5ffca99beacc37.jpg)}.mouseView-image[style*="large/f47552bb75290fd455d32eeee5c2639b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bdba89e12fee707ebf19d1b2d9f47a0a.jpg)}.mouseView-image[style*="large/53ec6b9f89d0a2a5faa01e55644a0588.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ba3e40b4dc291f0e0f247df1dc5806f8.jpg)}.mouseView-image[style*="large/26d2e54439feb047ae45bfcd12512c26.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/13ed437264a5d1a9faf0dcdfc80bc92a.jpg)}.mouseView-image[style*="large/f7f33fb5c5da3f76114a3c141692aa84.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3f8c82e4c976b4e22e04ef42ead3dba6.jpg)}.mouseView-image[style*="large/9e0327a454cd65da9b9e261677bb456d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ac58341809744c5fedcfb2ea7e63bd0f.jpg)}.mouseView-image[style*="large/c98e34b0932c036bdc594eb457968122.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/678e0f70f159a0710b8e5c37e1578978.jpg)}.mouseView-image[style*="large/0e4b8f3a91cf4cd2d92abe0d32762382.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/84fb2e10a769fab711df1bdf2e7c9c73.jpg)}.mouseView-image[style*="large/ff5bbe5e82d556bd1d45c6faa75fedc7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/106609a245f8cc3cf8daee479a9512c6.jpg)}.mouseView-image[style*="large/30d400600664363ed8a5f880524378b6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a741eef3fe3e9042d045661e5052e097.jpg)}.mouseView-image[style*="large/6756b321c19c204d68cf6aff040fe987.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fea226df461ed95f889385470bfe3259.jpg)}.mouseView-image[style*="large/d6d42f07da8a250c8307023e499a0ca0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e1c3a600d43497ffed7466d506412a1a.jpg)}.mouseView-image[style*="large/0aa8b5a4770c400a91c9b079edf4c87a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f7eccf5d6743a03b661041a2c5712373.jpg)}.mouseView-image[style*="large/17d999a3d7802d8b5e3fb4286ada2eed.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b7fd8e7ed0cdfc0a88e519e9d4ae64a2.jpg)}.mouseView-image[style*="large/1d5f399fdc3d6a4e28d5156400405633.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4d0734915b7cce8698f06d28c19c2d81.jpg)}.mouseView-image[style*="large/268e74115c78111836e103a27eeae803.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4721c50c8b30a65da837b7f63d0f6e99.jpg)}.mouseView-image[style*="large/650b5b1a69caf17c6ccddb1efd09f1b3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/573b90ca892407b2bc2421885756b484.jpg)}.mouseView-image[style*="large/36a8d9bb27c4110c097c5f99a1f3367b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/98ddf52043c6517f015d604104f9c6b4.jpg)}.mouseView-image[style*="large/9d94684560efb0da0b2e826eaf67bca0_vupdated_shadow.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/15b7d4cb03b4315b59c043db9cd2920f_vupdated_shadow.jpg)}.mouseView-image[style*="large/56f9cc957b37c06ef192de272062876e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c289871d60c61032f724253584f3672c.jpg)}.mouseView-image[style*="large/decc6b0797ec82346cf32daa158f7ad4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c3eafcad1adbe94411ef2a677e5e06f0.jpg)}.mouseView-image[style*="large/e265d54c17800e2de7bb577b4a4cb091.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e33bb4f4cdaded043f8a9fd0215f5c16.jpg)}.mouseView-image[style*="large/ed24c63e625412b4b8a9448eb2091611.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/774913d45875495378c97229a641ed69.jpg)}.mouseView-image[style*="large/fbb9095fd3ec98648bfcbb205f3a2d35.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e0812ddb551a01349cceef7471e02809.jpg)}.mouseView-image[style*="large/25ff0942504d1eea450d2064ae811d92.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b214f0c55fb16e6f97b2ee23ed94712.jpg)}.mouseView-image[style*="large/87ea600aef5252383a5aac906ca2c919.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7ac9431420d32caee9e18aa4f59e2093.jpg)}.mouseView-image[style*="large/1589e5ab0cb13345a08d555476eee635.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3fe0023ef96488a9742641f0ebf42653.jpg)}.mouseView-image[style*="large/ec48ae6fb58997e927d03b64b424729d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e1ae490d64b8b18d31401b2b1f1b4874.jpg)}.mouseView-image[style*="large/86109aed03f7c3dc05532a83918f31ac.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1b198a131fc1c0cee9e4ea31ff0a25f6.jpg)}.mouseView-image[style*="large/108c9558b4c906343462d4a4e0ab2755.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f4c2d6fd40100483771867c98efa6706.jpg)}.mouseView-image[style*="large/d7627cdb73d6fe2dabc88e57ab5ec508.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5193c9dc9fb479ce291866492edad55a.jpg)}.mouseView-image[style*="large/7803b85a44bab21a8883ee492f01e65c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/43ffc96197d86e0f664393bcdcc6abee.jpg)}.mouseView-image[style*="large/e3446b2b6477893157ff561f98d9d2b1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2e91da7eabcbfd3641e68aa6f195b93f.jpg)}.mouseView-image[style*="large/3053868256a9bee2dd256a67dacaf80c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d7c1cf89a63133e4de4db6ce9353ec63.jpg)}.mouseView-image[style*="large/af66e74e9d6d3ca9bc40456c5bd5c747.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9336b754e4575f88c614df96026a5a2b.jpg)}.mouseView-image[style*="large/6262a54b8365c20387ed61f23e240169.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0c9d8b541e90a4d5909e4878c0c0cadc.jpg)}.mouseView-image[style*="large/da5db90a963b020e1f40ddb71f175833.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d92c807e1a2da8170b1501897a7c850d.jpg)}.mouseView-image[style*="large/6b065f6766f83cdb5b19c4ecae76f8c6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/970e5bbbd4d07014a3aeb30de974fecb.jpg)}.mouseView-image[style*="large/df139e9c340f0d507c538983e9eb4c1e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6cf97e5a774c85cd30cf523577fdcc40.jpg)}.mouseView-image[style*="large/681a929785eacc0190001a3690c4fbf3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bb96c518cb855e8d223c28dba052599b.jpg)}.mouseView-image[style*="large/eee161a5508062139b685db2f642dc41.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bd7c58952250c14dbe7d893f40685ac9.jpg)}.mouseView-image[style*="large/57e8d7fa91c09efee76c2247af3e21eb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2300e9b192aa16916792df5694bf7695.jpg)}.mouseView-image[style*="large/07aa02ccd24e44acbaa84041a94840c2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2b158049c8f2d77876f9f3cc8cfad5d5.jpg)}.mouseView-image[style*="large/e55379599c00db2f97251aac9e84605e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f835e510b3e8f2181af1a3725fef79d2.jpg)}.mouseView-image[style*="large/e9f8b0a7dd16efa3d35ecafac3f8b0db.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7211f2542920d383870fc9d98dc765cf.jpg)}.mouseView-image[style*="large/48b884dfa3c774486fe731d4a46d125f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a60de819711cdce822bb6753b45b8f9.jpg)}.mouseView-image[style*="large/9452c80945f48ed1c0c0532a34637e03.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d2fb702679e1c0e0dd8470a4d54625f6.jpg)}.mouseView-image[style*="large/91d9d601fdbee778a19fcfa0eec59c04.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e423c3a67eaf0e81579c63e36eaa90b2.jpg)}.mouseView-image[style*="large/5b79b4990444e3150ea7e76d296f3d6d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/83a091839da477a128ad35f8c5438805.jpg)}.mouseView-image[style*="large/19ff02542a99a694968a7054fbafcfcd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/13ef7239c21e53f4ed2458c1156c0fb5.jpg)}.mouseView-image[style*="large/903d95f47d65c091d2f94ad16455c03e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e12da87531b769891220e6d067f5884.jpg)}.mouseView-image[style*="large/11ea56cf7b04c6e46f433ec92a7ffd51_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bdf64f2aa5c9f5f22b4d14b12589ea37_v2.jpg)}.mouseView-image[style*="large/b36bf1f6ca507932d0b6842e4d03b89e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1ce4d95637e6f66bf0172d973764b1b8.jpg)}.mouseView-image[style*="large/557469028be3c699a62669f4d10064a7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c5a9177050fe2f5a1f62b2c35e7c1b3e.jpg)}.mouseView-image[style*="large/defb2793303da76030841ca5dfa914f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f9f0e3ef1461c3fd80c8e777bda1893b.jpg)}.mouseView-image[style*="large/822f83f05fc628bc5be8e4f00094c951.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b02c4fbd64a69762ac8cf77a4fd3686c.jpg)}.mouseView-image[style*="large/02262d962180f79a6984482a70349a71.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6e06dc6945962a270f7cd1f0ec05e596.jpg)}.mouseView-image[style*="large/a89b98af7f851fc5076d676e99c0f713.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/30c9b77c21f1480370d11c54d3c2a3c6.jpg)}.mouseView-image[style*="large/cd650fe0216c2538a12c2e6f8c8c7f34.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/029b1b47573086954eb6e90f9811e582.jpg)}.mouseView-image[style*="large/e12a8b7002d367f3ad61a65fe1abac05.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7c80d493523c3cdf7d86bf869c69660f.jpg)}.mouseView-image[style*="large/1f37c8b02b095e353ef61e2a7a715493.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0e613569e86151494402515ff7cf45b9.jpg)}.mouseView-image[style*="large/45ed1978227c7b0ecd38cc5934de37ce.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/523e6899c0ded6d3c5ba51ae75540aa8.jpg)}.mouseView-image[style*="large/6d6d9c63762a5907ace1dd16dab04431.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/68059d4ea06210a6801e1d36b9c81f56.jpg)}.mouseView-image[style*="large/b963d9990abd67edad22027c7a2095d0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d0ea0dbb354760d81e8de339054ba96e.jpg)}.mouseView-image[style*="large/a339138a6425bf192188dab1636a9c94.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e50f415b78ff3392ade05d6f96a29604.jpg)}.mouseView-image[style*="large/795cd44b0f28dc054499e76269a69fb5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2ad49db81ef29739b789dc4741f89b36.jpg)}.mouseView-image[style*="large/d8dadfd9a03078231a1314a4e43f17bd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2913ef8f915459cfcad8cea3f3feba37.jpg)}.mouseView-image[style*="large/686582f56840f939c6521d4d8b87fd9a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/84c2994c1078f45c44eec8dca149210f.jpg)}.mouseView-image[style*="large/2a3663fffa568c81006110a8fa929e24.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/734e74724c253addc5d36f4f6dfa7655.jpg)}.mouseView-image[style*="large/cc1ac0c2110c311d1777306c976fa799.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3c5ba3ccf1a30b9d712122be81af837a.jpg)}.mouseView-image[style*="large/14ccb91a36c41713d8b6b0e618789b47.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/629192ce42596f5b8d7688d5d7d92a59.jpg)}.mouseView-image[style*="large/d79621d5cb93fe6090ab8f01927a1fa4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3c71dd80a0da6790ba50ab4d39af8a62.jpg)}.mouseView-image[style*="large/04aabb5788aec3648ef933f73fae578b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8f403a4bcb359ea81d1ec1c6f4ef1023.jpg)}.mouseView-image[style*="large/602858187e7244339325d8d159add504.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e4cfd269067360adc2c143c56831f542.jpg)}.mouseView-image[style*="large/15af54da7113c4e28c5c621eca167f0c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/721b838a6e0089e4f25e898f6c22b2f6.jpg)}.mouseView-image[style*="large/51ba4969f44b680fe91da505dbdb47e6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7ac4e950b744bb4c731cfbe4d0f39159.jpg)}.mouseView-image[style*="large/e3a8c31041ef2ad6bc4acfe439c88d10.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8068f52629f36435da91fc04f5573d37.jpg)}.mouseView-image[style*="large/e6d94eb1cff4b8c278400e651df4da79.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dc649e000d6356e0599b11b3924ef0f6.jpg)}.mouseView-image[style*="large/c6bc86f2e73ca487afba28a9d74fc0c7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2c194f96270af6dd2283f1a8d72e64fb.jpg)}.mouseView-image[style*="large/dbee478bf7e603919d3766de3c2b7a9d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e2a964ee34e8ca18416711b3591de73e.jpg)}.mouseView-image[style*="large/02990e9ede61a07d53e0822c34913586.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b6cbaf4373e8e138b4f9bbf0a9cf4847.jpg)}.mouseView-image[style*="large/a7f8cf5a4b7cf10d072c587b6f490342.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2a41127e5f4463b2352125089240a3f9.jpg)}.mouseView-image[style*="large/1d1312300ad7a87e0b10ac6cc367f2f6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3719b0cbc5fb0f6b1ce492bc30e1e1d6.jpg)}.mouseView-image[style*="large/15f741e472abe752b31610232f5e1c1f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d2ef0a79df0045d30a98bab45e4fc5db.jpg)}.mouseView-image[style*="large/b41014e687298fa28acca1bc4143f9a2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a47ad3f89c79cf642cba3263c3a76189.jpg)}.mouseView-image[style*="large/ad8e22fbf91fc46a3da953d9307459c0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8f8a6d3d8a67ed7826e4aa878ec46ed9.jpg)}.mouseView-image[style*="large/e5c9704df52adfd3dd745bb16ba9f77b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/75359c55f8d9e9bfef81dc4d02e1f045.jpg)}.mouseView-image[style*="large/7175cdda00e9cc81d932cec2fdba2343.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8d81c8320e0c86607c2ecb29a7c186cf.jpg)}.mouseView-image[style*="large/98c80f868c58d2086e8cbf0204a97a8d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/20205d1f450c3ccfeb111aff10f802fc.jpg)}.mouseView-image[style*="large/c94b689d80e44916f4223eb77a883b5a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cad619596bb1eab737e41aba62c406cd.jpg)}.mouseView-image[style*="large/737a6530b9f30908d8a2dd6196c5ce29.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8224ffcea6b0742147441ae293af33c1.jpg)}.mouseView-image[style*="large/2355d3254f6e95faa69b8e6a4eec6a2b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bd79da4c598a4df1627f58846f988dcf.jpg)}.mouseView-image[style*="large/df3f4db364a44d35a486f82d42b88048.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/42f5bcee1f67ab4beae3b3559192c3f7.jpg)}.mouseView-image[style*="large/657acd20a3ab0bc1aa3398a14b0cda39.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6052bbed4773a72aaddd248edf6f78a3.jpg)}.mouseView-image[style*="large/2c4daac87d28573b118424251f70ebca.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7e6bbdb92634e033e56a7bcdb7fe45ff.jpg)}.mouseView-image[style*="large/03dd25746a2731def5df55c026e234bd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7145a30dc73d08a58a8396f38038fbf0.jpg)}.mouseView-image[style*="large/87409ae301430dce32478822326bdfc5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d50b570132f626de1d579a1fae8cf2fa.jpg)}.mouseView-image[style*="large/4f9febf5f9f85c4db805814864249bc3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8549fe0640f7aa80c414c9e3ed4bc3e8.jpg)}.mouseView-image[style*="large/62f8c755d732d2be65dd672784fa5b8f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/35db6382458b6bd7d5fe7e06a3aae8f7.jpg)}.mouseView-image[style*="large/187e846d4f98d72ad191aad2d52fb0b5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/20200ab627e9a1a85392d0d2a1f646d3.jpg)}.mouseView-image[style*="large/5571b738c737ee4339fb649a676f397e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/99cb2eb134d69187d502eb514e137126.jpg)}.mouseView-image[style*="large/72d3fcce1060494ee99869746b299230.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/72af9f81ef614b641a1984c5d3f2c512.jpg)}.mouseView-image[style*="large/0acc5e48d5f21befb56be4096879c99a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/630bea7ad674263ec1a8006fb1af96be.jpg)}.mouseView-image[style*="large/b238db36459dc26f33c0e0e7ec1aaa85.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/86cbf1fcaf0fb170ed044da7e6340614.jpg)}.mouseView-image[style*="large/491a986a42b1841eca27a0639dc3ea3b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f4d11897a3f158e5beebeb8bcee43c89.jpg)}.mouseView-image[style*="large/7d22c779af97e1ffaa233c89cc355491.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/02a2b9ed90049b2bc55770bee04dd66f.jpg)}.mouseView-image[style*="large/200344f69c60ee7ff00b5e88912a6c5e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/98322efede2e845933afedd12fab8456.jpg)}.mouseView-image[style*="large/3232fb0636c6ee4045a1784a2ed80637.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/75e41d834d6f550ad37145202e9bdd1a.jpg)}.mouseView-image[style*="large/046e3e344e1073f24aa0a528794e3dc7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/68ce48ebd0b0b30a62d0424828606980.jpg)}.mouseView-image[style*="large/3c105c74b3b0e245d26553fd46b9f363.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cf5c8487f3ab00c8c51283d1c58165fa.jpg)}.mouseView-image[style*="large/44fe36643b7848273da02b2e29e1da67.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6d2e6a6dceaf3d915907330607e06f6c.jpg)}.mouseView-image[style*="large/2efb58a442ed082be1a7cbfd722948d1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fc07fd5dd6ad60f252bfa8d7f6df13e0.jpg)}.mouseView-image[style*="large/b10deac0d5b341cdfde9483f7a61b247.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/db11e86f84aaa03a8cba1cb6596e3d09.jpg)}.mouseView-image[style*="large/cc9cd4099b051a27ffe237a3d325675c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6e88d189c2ad2b293a5df55d6990d124.jpg)}.mouseView-image[style*="large/6a57e70e9ca779b47b0f4f21eb65b8de.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5be996dc2d089685bcbd33921db2a065.jpg)}.mouseView-image[style*="large/132443b94e985fac838b7d11e88b7590.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e384186b51f3cbfe6cb73e75b97f763a.jpg)}.mouseView-image[style*="large/f779b9c15fd7446dff90f2659f7830ac.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b52e51cad6cef2c850d5931539f5e80d.jpg)}.mouseView-image[style*="large/0285e4a64a390479f2b6f6eb72ba9902.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a4b645feaca65fe10bc0e4b93ce544ec.jpg)}.mouseView-image[style*="large/ad60908ccb5deb5711a658d5be64da25.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b341bceb25d714b3f59504a448bcc13e.jpg)}.mouseView-image[style*="large/8526bb3145cfa1cc65600dbb2fa09f22.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/876c453b68927292efef34a0c3ef4180.jpg)}.mouseView-image[style*="large/658093277389189908a0227bdc41fae1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/db2ea9b07e474e66a892cd51d63ca851.jpg)}.mouseView-image[style*="large/0c47e709fa0fd463adb1fe18f3988002.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5407ef20b7f11ab49217054c7e0d52da.jpg)}.mouseView-image[style*="large/667e6df751ecfce2209c374d505fb641.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e906ee66e9ccd0d9ffcd21f902e0df27.jpg)}.mouseView-image[style*="large/24e3e99ac56f99048735214c8b9889f2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d2e640a4f24a082fa6455b710ed50dbc.jpg)}.mouseView-image[style*="large/5c9bee1d579d8fbe7e63aa2e356bbb37.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b2a27f25aed2adabbe1626aa61853efe.jpg)}.mouseView-image[style*="large/a6a039184a8f4dae0b2c46995f12e40f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/649590bf7ad24603317262b1310b9d08.jpg)}.mouseView-image[style*="large/f980644da10c3e1d5b9789ecdccf014a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/58a5accd2d9672520a5d3f360edd67c0.jpg)}.mouseView-image[style*="large/4ac55bdec62354527276e5f80fbfe72c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b8e7f0b64bfff3da1e91fd12d9778f17.jpg)}.mouseView-image[style*="large/25b6d9cbc4ced27917fed20094c9a37a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/03ddfdf28e19b4a513375aed8b22fb12.jpg)}.mouseView-image[style*="large/1f55eed4ebdbb15743b0f7f28c19a70b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c0da41e00a41d00257024a6ea122666a.jpg)}.mouseView-image[style*="large/56c721f6c0277edd998c3051e033f782.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b20214f2ebb6aa5899a617a829534edf.jpg)}.mouseView-image[style*="large/ab5ce1deb57da049b11d154cc7032c83.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b02f180af721bbe0b3d7565b0617f020.jpg)}.mouseView-image[style*="large/4591421ae7e06ccf5549c7803937f568.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a464fab5a7480f1970476b1911b8677d.jpg)}.mouseView-image[style*="large/96c6ca9aaf527ecccbc89698ea254c52.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/91931f58d136f09b9f8ec2153ffdfa9e.jpg)}.mouseView-image[style*="large/b441f33a5aad1fe8e2cc700474ab7c90.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2cd5a511690c232fa84e9dd0fe05dcc2.jpg)}.mouseView-image[style*="large/7dc9d51c8a024f3a8fdac50dff9febba.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7c411559b49163800d4c9458522d33c4.jpg)}.mouseView-image[style*="large/fa801f8cd9f74cb99c1df17422518e78.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/693f4313b25a11ca211860df012a5d88.jpg)}.mouseView-image[style*="large/81b78af9ec01ce4778d8f41d563f665e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/32e5a5798ea5c6aabf295dab71e2b699.jpg)}.mouseView-image[style*="large/35d45313e17d157d2a000028f83f6845.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/91b8af7d114770d46f9977aa2cab580b.jpg)}.mouseView-image[style*="large/5fed8053307b685bfba2c97975346702.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/57ca431ff9b24d8c32ae4638cfb4ddfb.jpg)}.mouseView-image[style*="large/3b7607fafe62178faa4bdf7f098e2f17.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e057fb441e5cb7dfc537b2a32bb1113c.jpg)}.mouseView-image[style*="large/e97395cfcd4ec1e44c53f793fe097652.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/668e42ab1942c84320d1b23eba17ebb4.jpg)}.mouseView-image[style*="large/81fb9f8b8fcb32abae9e4a220f2ce167.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e476533ef85b408af39120d33d16751a.jpg)}.mouseView-image[style*="large/5085f577b4eef19105bf14a49fa2b17c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2f1863bd2f56a483973b31bb3470fc5c.jpg)}.mouseView-image[style*="large/af1187f25b19cc50e25bd633f56c9494.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9d70d0d5c4f302ce67e1c10a8c633e7d.jpg)}.mouseView-image[style*="large/770e738e0010487cea8c3a383ef6eacd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/91fbbd429b20c88965e7d63275e27e93.jpg)}.mouseView-image[style*="large/14a3e0910d598a2c6ae4c0a1e9c903b8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/88dceefe0cf1ac3cf5f8261c6b040bc9.jpg)}.mouseView-image[style*="large/b3b94bd37899a51b51aa693247c82c4b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fa7d1d65213072bd74ff4d90a9c34418.jpg)}.mouseView-image[style*="large/55164fcf51341bf4baa2c90e01a7f62a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c4a057305fe01bf4fd1193083a0638e6.jpg)}.mouseView-image[style*="large/9b295c22d46f769caf26dab01227d4cc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f90b686aba9b67645d23aeed86aa8f77.jpg)}.mouseView-image[style*="large/2b600bfe5a7ae459033239a40a3e5c67.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4eb537625658e1b847f35af29a160c90.jpg)}.mouseView-image[style*="large/ecf1268b08eef8476f7836cf81b3258c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef499f74f49a58f255c01812afa972ad.jpg)}.mouseView-image[style*="large/e164fbe4a42dde7e936037ea076fa0e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d169638a3987a5144ff7cd42a98d789b.jpg)}.mouseView-image[style*="large/b2947caaad589e2d40cac14ddbc105f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1d0c14ee89a2187f9ea7c5d166b6bca2.jpg)}.mouseView-image[style*="large/1031991e9099c638d54b2b71a9f98e97.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/27cbc5b2220b6140a6c624fe9afacfcf.jpg)}.mouseView-image[style*="large/0040e427d97186bf062b52297c3e0680.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eeee90ad97c39827fa72fe903980f284.jpg)}.mouseView-image[style*="large/25d5de934b4ddbf149f628f7e33e5464.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/33ef121c4fd49cc10feac0d35848a78b.jpg)}.mouseView-image[style*="large/61230575ff372e9037fb5d5881b0ae90.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b563e8155e6873e356afd3eae31224d2.jpg)}.mouseView-image[style*="large/b2ae40b6900fa454912c9f8eb9c610ea.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3852f17cbe5f677882158b6cb0af3eef.jpg)}.mouseView-image[style*="large/6f972db0dc65e2bae7000319593f022e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7c0dfcf4223f6357349ee3788e66c19e.jpg)}.mouseView-image[style*="large/60c2dd8ef4b212781e6dfce00449cf49.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/31e8a5013709cab404845a7e2a09462e.jpg)}.mouseView-image[style*="large/37cf1ff069a35c9813f426b4cdbed968.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/07240ff602199f2bea09b66f92102559.jpg)}.mouseView-image[style*="large/7ec0ebe7b2db22465b0b9b832a3ce2a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a29488a938ac8964aacc35ab7831aeea.jpg)}.mouseView-image[style*="large/d20684aeded59b79235c42c97d44945c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d3337f948e8143f210bbfb70d700facd.jpg)}.mouseView-image[style*="large/8e1747d0274e2ea77c8672ff5aac6a0b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/758fabba04d46f7b24646aceb5257734.jpg)}.mouseView-image[style*="large/c0342502eb899b9563d1b8d55c6a67e2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/718df5a2f6f9bb91fb6f4f0ee6495696.jpg)}.mouseView-image[style*="large/8a3678b6d75150741fb54129e9eb9938.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/280c9d148165cb9664d39a5b4a5d9a3d.jpg)}.mouseView-image[style*="large/4dc1d0381e0d408f01b2e5bb3252f087.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/33294dbc7ff526e92857f83a9afffe9c.jpg)}.mouseView-image[style*="large/428d25bd2b6d282122892d31bd1d8cfb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0c7659500164f0ae2344b519b1fad618.jpg)}.mouseView-image[style*="large/c1be8713a81e9c764eec08b46c9aa94a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c1be8713a81e9c764eec08b46c9aa94a.jpg)}.mouseView-image[style*="large/60d6149558aa5cece0d926f4e4480998.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/15e2102105cc5f89d874696531a403ff.jpg)}.mouseView-image[style*="large/d1e512b8d8612274e7adf130326f4087.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1681452140a050bf1f4eeb8fcd1cc646.jpg)}.mouseView-image[style*="large/69964183abadbf809cee9842489a65a0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4d9a7acbea55b32cef52e842fc54da0f.jpg)}.mouseView-image[style*="large/ba6230293357c716f860040cf8a9574b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1e03a5e501f8c78eeccee8b7cb5ce011.jpg)}.mouseView-image[style*="large/157b3062b9321b8d16c0233eae598ce6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/840332176441ee21881f5359fea8763c.jpg)}.mouseView-image[style*="large/54fe05b9af49797c2ad63dc7c2f1f5dd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d80d48b1e8f1b1cd5292c7812a816822.jpg)}.mouseView-image[style*="large/ed4a14e90b66bc8142f9bbcf380a480a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/591f53b459c03d250ee281a8db90c1d0.jpg)}.mouseView-image[style*="large/d1c79ac2c294854699afc9999249e575.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f2eb5374ffbf8e13c276d617f682ecaf.jpg)}.mouseView-image[style*="large/b9e90fb6acc19363d3ec89e0a9eb42d9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eea4230bf916b9f5d017d87588c64780.jpg)}.mouseView-image[style*="large/b6e1d484fae2f5b3be3ce94307aea800.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/772a3a8e4b5b80d9fcac66f9334f147c.jpg)}.mouseView-image[style*="large/f676c1fb0189a1dda37a031ac04b63c4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2adec34276798f7b036b8eea14b4f02a.jpg)}.mouseView-image[style*="large/c086c854dc7232df94650b4f1208a5cc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7ac5b7788bad3c92d82e82b8010acc94.jpg)}.mouseView-image[style*="large/23ec81942a92b415509c2fe7434b13cc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/26ea3f0a62420f872074c8c5781c2564.jpg)}.mouseView-image[style*="large/c064cd09d9f0bdea7e11b7fd2b1598aa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/af6ab813b30c870e2cc8e4705ca677c5.jpg)}.mouseView-image[style*="large/3dae4571eb51784fdc9645aad9277883.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bcb30681822bcecc4df4065a48737c63.jpg)}.mouseView-image[style*="large/452ea5a42013b63c87769cc96f80e8b9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/452ea5a42013b63c87769cc96f80e8b9.jpg)}.mouseView-image[style*="large/f129f92b2b5f0f4c4a691e57bc3ea533.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fa9499822e7976dcb58c3e7e446e2d45.jpg)}.mouseView-image[style*="large/9f13bcabf5db3505891b6b7c814969f0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e65f3fdfe5d336a807766b50397497dd.jpg)}.mouseView-image[style*="large/9443fbe266710548c6fa3faf855eef1d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/09207be457cd9cfd6764e4022d14ef68.jpg)}.mouseView-image[style*="large/32bb0edf6f5b5ce7d57db0cb567b1e13.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d756d2ab0d156183661399a1c80ced05.jpg)}.mouseView-image[style*="large/0e6789e4f654021e090cf72b114e3b32.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4451e397ad522a4e96f8eeef8c9f046f.jpg)}.mouseView-image[style*="large/9342c5f4878f6a9b5b10bb24ed7cc782.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2f9fb3073db448acfbef6c30c78ae5e0.jpg)}.mouseView-image[style*="large/4bacc29eca08006559ed08010a630309.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/10e5e827ffa61bfb95bdbef605e16187.jpg)}.mouseView-image[style*="large/c08a7ccfdd51c26ce2c8195727f0a54c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/26ff51b0ede33cc65743d410cc7515a5.jpg)}.mouseView-image[style*="large/9c72de4cbe2b5de9a7b5967770abb5c4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b788ac262db9969542fead1551222a55.jpg)}.mouseView-image[style*="large/2b1d0b293c8aded5e613c9b17bf6778d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/30f0fac04b9f15c277cd3045cf60c9e6.jpg)}.mouseView-image[style*="large/9f2bfec3592750fce68ed7891840f04b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e548a5ed77369cf78e943ce2c068d5ed.jpg)}.mouseView-image[style*="large/e3b3d4ea6d680c9a846590ebb158dcf6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/34b340942187b0196cd395c528f4e15b.jpg)}.mouseView-image[style*="large/7db809e5f7b432971a30590d223c1348.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/733625e5d067290021a79a5f6925ba10.jpg)}.mouseView-image[style*="large/dbce0b61d4e5672220c11aa3c80af5b6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/040fb62f8d1ca69d673f405eef7c227c.jpg)}.mouseView-image[style*="large/8321a69719e1d74fc0b49580571ca39b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/10e37b1041daff3ec31248bbc8f11e4d.jpg)}.mouseView-image[style*="large/115f9a268abde20a4d802ecbcdec7d36.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/115f9a268abde20a4d802ecbcdec7d36.jpg)}.mouseView-image[style*="large/9aa02c0b7c24a0a835caa5510432521f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3327340fca91ad60cef5fbbc0397dba7.jpg)}.mouseView-image[style*="large/b0d89847d0c1eb1be3285a1b47ab9b7d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/443c79f9f58bfe98b56366b47f58dcf9.jpg)}.mouseView-image[style*="large/f44798fc2abd4950a9817a0064789127.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9b7d5870cd58432bcd62c61e188f773b.jpg)}.mouseView-image[style*="large/603209675c0293d45c02aed06557bfff.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2ec99cb20aee5c2aa02abb34a9ebd645.jpg)}.mouseView-image[style*="large/cb3460f878bbce83cbd2755729b036aa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c756c33f9ec43cb8143feb65268de5f5.jpg)}.mouseView-image[style*="large/f2a0433df6c09d4096ba68bb346e48c6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bf52b24395d7d5cfeb671b2751a7e407.jpg)}.mouseView-image[style*="large/d7e1ac141457c461102166fb21f010b7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/46ce32eb58383ce5b599324efbf0ce80.jpg)}.mouseView-image[style*="large/ebdbd71cab4841358b8b09cef0bfe2c4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1a2e303a111455504601c91938a281b3.jpg)}.mouseView-image[style*="large/bc4b1dbb481e2b378672e712b205de31.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bc4b1dbb481e2b378672e712b205de31.jpg)}.mouseView-image[style*="large/79b2ef7094fbf1a614d45bff0b4f3ab7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/79b2ef7094fbf1a614d45bff0b4f3ab7.jpg)}.mouseView-image[style*="large/ddcc55157c499b92d821f2bf04aad54f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ddcc55157c499b92d821f2bf04aad54f.jpg)}.mouseView-image[style*="large/258c71e2a5eacb5c9a35125da3606821.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bb06c3aee6071c4c9ce1184d4b506fb4.jpg)}.mouseView-image[style*="large/a10c7ec971b0f01f5514086b29f3b3da.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cba53cd69805121b9ae3ca3e00891731.jpg)}.mouseView-image[style*="large/db5eb303686e2b7de73ce87cb12b329f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/464c4b69ea85bddb25e1d82c92e66e3c.jpg)}.mouseView-image[style*="large/b4915fecad429b6769063e6dcdb6fab4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b4087fbd545314738e59d46f9a58b8c5.jpg)}.mouseView-image[style*="large/6f60058220b95a5a7e1f4e651161ab5a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3a026d4c19a8453826d9d636b2d14439.jpg)}.mouseView-image[style*="large/33e209d606c31fa74c3011db79af48e6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e8b26bf06935e3cacca3e55b184e7f26.jpg)}.mouseView-image[style*="large/2ee3cab466edea7d1b5c3e0b6a9c1097.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d3ac59af6cb092193337d0c780dd692e.jpg)}.mouseView-image[style*="large/96fb047d8e1922d722352a3f9bfe9b5d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/126ce51b24e9b5d20df4fa49483b1ac2.jpg)}.mouseView-image[style*="large/bb68f39ca0a871603d55d73cf57331d5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/de3b4a29fde46a0107a441caa8be9705.jpg)}.mouseView-image[style*="large/2a4f1cdd20fd676f1057da29304b887c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/28edcb7028f037e52e16b94e4b43938b.jpg)}.mouseView-image[style*="large/1a7923fdcc83fc32a1f31483d5abd4f1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/641078a53fecaebf41fdc3d4a9bf3742.jpg)}.mouseView-image[style*="large/4a7bb7fd5337269c022d61b1a364893b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/94def662988fa6a3e939892cd495323f.jpg)}.mouseView-image[style*="large/39239b7d19de7a7c46d2c1edf8bd0e5e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bd0a9d2a4b0032d53b5c63be83494771.jpg)}.mouseView-image[style*="large/5103a8dedff5de7f002ca7de822f2f11.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bf708ba6f85336fae438aecd0ea15c5f.jpg)}.mouseView-image[style*="large/5aa4209e319660e17e644d60dbb149cd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3842e2544a15ffe23e1cbeb2e0c4548e.jpg)}.mouseView-image[style*="large/f4bd9f46b8afe2b4425433dcb1dbee3e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/81a78c055629f4d8e1cdf86db50c01ba.jpg)}.mouseView-image[style*="large/c8cec05526504e43efb1cb4326b8e3b7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7cc9d7b540bfba982185ee92544f94a6.jpg)}.mouseView-image[style*="large/03d50522d682125c433344d2d141d269.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a2cda5405bc60160b6a126ba89a413fd.jpg)}.mouseView-image[style*="large/181a80d07aae22f1ecb2391c454b6fe5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d19c501d3bfc659731b63e7802b44699.jpg)}.mouseView-image[style*="large/9ca7c95e4ba317c240b3134ec4e8dfa3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f7aeeaa9e37c57784a33f77d6f9082db.jpg)}.mouseView-image[style*="large/1f63e70e4f191814c8693d1ab5ca941a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/26bdc8456003ff5b32849773b8b8367f.jpg)}.mouseView-image[style*="large/d6785e1568a4eb2e8e028e53eece6802.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d4c9b1682515164e2c4181cd7c39dafd.jpg)}.mouseView-image[style*="large/f54df70283a2a4e4589ddf04850ee2b1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8e43b7e219432ee29c4a7bc889c70e79.jpg)}.mouseView-image[style*="large/d53346b4f62b9f80c416450532c33f00.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cde28da76f2f690370067e48a769bee2.jpg)}.mouseView-image[style*="large/b1235889ae6478d15357153ba0cd6269.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/436aa722293a91c3b735185296ffc294.jpg)}.mouseView-image[style*="large/2d80918f77e1a0327b613f8ae6c3bc21.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/734a954abb9d1a472afbf2b0e5ade1cc.jpg)}.mouseView-image[style*="large/93061d300f36e8c2d755e69e09f4cb86.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/82a56d91abd18a032e866974f30c6436.jpg)}.mouseView-image[style*="large/cfbdc985835437994cd780a5f073511b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/052a1329bb11709ef5cb50540d56e93a.jpg)}.mouseView-image[style*="large/d0f3e382e92fb44cea09adcc100bf88f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/04fe237743c901f6d0f82f6d6f654043.jpg)}.mouseView-image[style*="large/499ad57f8c74e849d9483daf71708066.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d7369aa6f17ee9ca327e2c7bb3958d6e.jpg)}.mouseView-image[style*="large/7cf2e44521f32609759b783753a9893a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3cb6d11e1b989ae2f6636064479d49e7.jpg)}.mouseView-image[style*="large/dd5ef837a4799b8a626de31e426678c2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7eee97a33c18bab9d5c4c213146821b9.jpg)}.mouseView-image[style*="large/d79362b37ba3b1c010aac134fd338dee.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3af79cf182d63740008efec889c956d8.jpg)}.mouseView-image[style*="large/6a979d6269174fd40c55601c5236f6c6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d5e8cf6f9833157cb7d3ef5f1c79e68d.jpg)}.mouseView-image[style*="large/db81195c0ef8e2bc01fcd53ee30d0ab7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4bab51633fd655c237b9bc3920f1cc12.jpg)}.mouseView-image[style*="large/ea2f71f3c653ba6c010410c6ded81b4b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7cb3565390e392c43164adbd6dcb5dec.jpg)}.mouseView-image[style*="large/7782fb1a35fb479b1f0743bdc8ab8c1d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/61771c87ec5eb7f7cbea6cbb60b25626.jpg)}.mouseView-image[style*="large/af01aa3da36bc1308fca69c9eb98cf8e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e528c92121ae5d9bf8f6fe9e42d9dd75.jpg)}.mouseView-image[style*="large/bf6f651148f153ac71f359deeca70f79.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/529b293136602be279b967cd296ecd98.jpg)}.mouseView-image[style*="large/5914648951bcab0fa501de4c0a35d1fc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/963acf5d4f4bdea077d073b5fdbf0a37.jpg)}.mouseView-image[style*="large/24900233d65c2ecbd88452362959a578.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f561a537d229b49caeca6a391a146ab2.jpg)}.mouseView-image[style*="large/2af1e09804f7cee20b8902156235ab4a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7e6bd4d064b7852c15398b342535e114.jpg)}.mouseView-image[style*="large/d8dbce0d84255413f894acd3082b9fd1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ce01d6dd7641292a170757a2a2013ee1.jpg)}.mouseView-image[style*="large/974d45464380da7504561c217c146499.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5f16e2e8d5697b9d13f287e3f3c831a9.jpg)}.mouseView-image[style*="large/3fdc7342e8cf28fa54ceb098b52a5df1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eb30153efda9b6eb9ff1809db896f370.jpg)}.mouseView-image[style*="large/7440e1e8379e305dc8392829e8f67034.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e7776ef435b7f712b7da0800a3331d0.jpg)}.mouseView-image[style*="large/f9fc2d09de431a80393972a2761f2fb8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/941596e5eb31e54a4e8e9293236e94b5.jpg)}.mouseView-image[style*="large/7e311b4452a18fe3202d172d1c6701cf.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d23f7929ea3ae10cf44de598fad3617c.jpg)}.mouseView-image[style*="large/2f754a8f466b550c13014752c55317ec.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3ccd6591cd511491c1007a79daa1a043.jpg)}.mouseView-image[style*="large/7662c7bfcc78a55cfd3fe79bed73ab36.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e5019740cc82f5c28861ae65b19b5b61.jpg)}.mouseView-image[style*="large/a54800dc900c4ddf158d2fb3d3ef8bc5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dd4053e19ab11ef485cd369b491f9219.jpg)}.mouseView-image[style*="large/55be2bf886046d91fc0b962f55847bad.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5d7a92d091ebf755969586e1cc6d9e51.jpg)}.mouseView-image[style*="large/9008eb47846716417a756838bdb262bc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ce5b9a65e980c34004708df7b9be957d.jpg)}.mouseView-image[style*="large/4dd2fb9ca7ea9437c13ab863ddfc7989.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ba993cbce96a46a30417c2b0676f972f.jpg)}.mouseView-image[style*="large/d75ca303d26c19e76ea145eef1398d6c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/92522869309517c82b822254025a5de0.jpg)}.mouseView-image[style*="large/54d24128a34843383fb6b460b6e5e559.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/420613f64a058da17211d0ee66bc83b8.jpg)}.mouseView-image[style*="large/f98f8d36c9c09307f60d5139d2f55086.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/779e1fe8759881dd1e839ec8df7fe0ea.jpg)}.mouseView-image[style*="large/b2b2e5b037060a407090293835738c5d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1f39508a0db66e53758672c1ced7a695.jpg)}.mouseView-image[style*="large/6f00c40b38c6b264a200e24d903d95be.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7f7416a68563346c8d4a46f952261a9e.jpg)}.mouseView-image[style*="large/afd4f7c3f084bc970393ccace60862e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/82a2847cbcfaffe2d25512877142d6c6.jpg)}.mouseView-image[style*="large/00f08b06fb53c95c86d4183bc74de170.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/502f4413793e92ebac0779ea29cc5931.jpg)}.mouseView-image[style*="large/0a9180703ef2a943819949eff8efbb51.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/43e4001476b2f60cff48700b6f7c2001.jpg)}.mouseView-image[style*="large/9cd4d061dc634c3ad52c644550771b61.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5f02890f9fc8e3126fdb7e97a7021f70.jpg)}.mouseView-image[style*="large/506f3a6e8f981144d5af40ec6cfbf3a0_vbiggest.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0866e6f4b1ff5c7f268541bbbebd7f7a_vbiggest.jpg)}.mouseView-image[style*="large/6414d61607f194dbac62ccd878465a36.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b33b5acc24d6246ee2aa08e9df45188f.jpg)}.mouseView-image[style*="large/d60ec0ca3750d5d04286f8e5145b8c50.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6b14abcf52f1737bc96fb7da9354d315.jpg)}.mouseView-image[style*="large/6c9fa2e77b44dfd8a695fc0c4e77b954.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9b70491cd91cf763bd3e2f7651a1edde.jpg)}.mouseView-image[style*="large/050171dd370f52744de7ac0263507cf6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/884321d6aa95d2336e6b669234b02011.jpg)}.mouseView-image[style*="large/23b1fedf5d5a8f39257518d731bedb92.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5a4ad3b6bdb31b3a2b90302bef23bae3.jpg)}.mouseView-image[style*="large/917a39a95bad0e1f721c68355a7b4240.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2a31acb5fd60fc5f01b413da1dcb241a.jpg)}.mouseView-image[style*="large/4ec6fea966a80f270453a255c5e7705a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3884748cf7aafbdb4870cc7fd87f5e07.jpg)}.mouseView-image[style*="large/4ef1e58b67a3f5a7ade078f50b0a4e2e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/95be0a2088c4b206060651cbd8965ba7.jpg)}.mouseView-image[style*="large/275bc4c3a4079d85177f3b4cd29601e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/38c6d3da2a4f3c1f908b6cd90b6a22e0.jpg)}.mouseView-image[style*="large/646ebb71d82472aaf69d9d5f67b96ddc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9a1de5398f1805679bc4626e92f0a566.jpg)}.mouseView-image[style*="large/23c93c82a09e3306e5de1423d3ac06d7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dcfc75e7a7987a651aa56939a876eaa0.jpg)}.mouseView-image[style*="large/e501d174f694dfd8021f1dee72af8c9b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/656aa5e54a277fcefc9cbc45e08bbf81.jpg)}.mouseView-image[style*="large/69221f1b1a5a42c28fd89ed5eca98bf5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/984717cac17d4becc2b079b7746acb58.jpg)}.mouseView-image[style*="large/100387cfc26641c6f185753a0ac072c8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/804ea5031b0886a4b016d0cc2e1ecca0.jpg)}.mouseView-image[style*="large/f8cccd21e5ea3ca93509937e03478d84.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/13582daeb02c870db4bd26266098ab15.jpg)}.mouseView-image[style*="large/50f8f5abf12f31594f91b3db18d2fcfc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b62277811c6e8c3dfe1815a4d6f68bbf.jpg)}.mouseView-image[style*="large/f52b0a771fe78d28c4ec7fdd9485168b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c971b9c8af452e05be244c3bbe0954e9.jpg)}.mouseView-image[style*="large/c27d98de7fb20dd05299439e7fde4337.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e7b71354e8b26afd672573bc5e467575.jpg)}.mouseView-image[style*="large/dd3d5ce6470602ab58c765fee53186a1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6f47ca8ee6d9e4d0f1da840d22bef714.jpg)}.mouseView-image[style*="large/c572c2b76ff6a8fbf049aab522b4f69a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6ecb62fb16ad820b97e72c6d375c22f0.jpg)}.mouseView-image[style*="large/a726833dcf58df7414260aa4a04e13fe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/882bd2fe2a3ea0598804b794762678c7.jpg)}.mouseView-image[style*="large/f4d71c5b0e0fba17c3d8b4f23aa2c513.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4148d3b0d319bd802be37f9a8b38f87d.jpg)}.mouseView-image[style*="large/db953cc9eda0fe4ad19ee11674f36880.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0e04dd3d6b6bf38d48c26c2463905c73.jpg)}.mouseView-image[style*="large/62a434150b36151d44ad672697ab86fb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/acc97207c024677a6c3652e974f24035.jpg)}.mouseView-image[style*="large/79f439787fd676f5794e4f4a0ba8a33e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fd9c9caf293b0e7026fc0dadefd62d6e.jpg)}.mouseView-image[style*="large/e0638e2b6480ec2f0c1871e5fc9cfc6f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/18fa6a775c0329dd47bc5a1fdb5952fd.jpg)}.mouseView-image[style*="large/df06ee3b7487a04d38594dd8cd32c5aa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c6e99d16ca60bf6fa6112b66b0ae497b.jpg)}.mouseView-image[style*="large/ac72ec36414ce63667ac04f6c9329966.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a256423124db41cd8400b6d7d14cecc.jpg)}.mouseView-image[style*="large/75fbe930afc446337814a6a9c065cfdb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a12f75a93877f164e530b85b2a030e56.jpg)}.mouseView-image[style*="large/ea6a8e43480df6778da2269bbedacb00.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/afb0a98181d74a001e63696b1b716c19.jpg)}.mouseView-image[style*="large/e154a27db990bbe590060d5561b603d6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3b24b365518fdef2522054f1185932dc.jpg)}.mouseView-image[style*="large/1769777e16d99c30921c2290dee5984a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fd060f893a2d3704d01a73334463f6ad.jpg)}.mouseView-image[style*="large/3f1b0ba824ecf3eecf938ffbf9862ff9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c50ac0922d2a6ae1abc715d549620a48.jpg)}.mouseView-image[style*="large/662dcc10758f7b7b3f26b29e05b86675.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/06fa4561e5c2846833a0bf0512b7bfd5.jpg)}.mouseView-image[style*="large/56e134c3e68fdb32dba887cac37885c8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0cdd5956f9a76b182176dcf352170399.jpg)}.mouseView-image[style*="large/f1d7605e8733ec13ace755c70481fe93.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/73a1f57994fd6d3124aff8f7f01c7739.jpg)}.mouseView-image[style*="large/a489844a8c7fdcf2c263adb3959b9ae0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/30de6a7ad4fa62673c78555fe73ebfbf.jpg)}.mouseView-image[style*="large/090f9e3cc47a989dec4f72baa6b6cbd9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/19b2f52f2686a3cacb889af17e2c88cf.jpg)}.mouseView-image[style*="large/c570077ff4816583f376358a3f369e73.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cfc69a114692c57d1fc69abb4178af85.jpg)}.mouseView-image[style*="large/24f3c5a2527b00979893c25937e9768b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/85404c4ab37687e46655628b39837801.jpg)}.mouseView-image[style*="large/a60ebf68b8ef6f883e2a3e49fa1fb678.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d82bc2ed07633c1c0a7a633e13b48150.jpg)}.mouseView-image[style*="large/c988d3bb580584642e53b190560b9451.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1fa73684be6032a2212b8ded37cc565b.jpg)}.mouseView-image[style*="large/fb58021b0c37b2661985271f697f7611.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/610c149eed34b325472e2d77e2505672.jpg)}.mouseView-image[style*="large/a4caef722587f02459b5f00e40db01de.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/96630aae2172cf3ffb9f2a448265f23d.jpg)}.mouseView-image[style*="large/f751c94fe2c208dd4eb236da98eae594.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9a2afe62cf31e651ba73750507d95b64.jpg)}.mouseView-image[style*="large/29cd671721b50d9e9ca1321533dda9e3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/427908374e548df8e8027c42504a18fa.jpg)}.mouseView-image[style*="large/2145c78c60e52be24d254095f47d5e7e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/144736ca872b9fe5c36515f59c36dc44.jpg)}.mouseView-image[style*="large/e6ac19d6666955efd3f86a37e5e252fb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/22b09380487333f3c8ac914490e58606.jpg)}.mouseView-image[style*="large/ebfd59dff39a541b8cb67c7386ea3091.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b6e0d73e8fd7ccae112086d41f24423d.jpg)}.mouseView-image[style*="large/3462918e5f8ae6688a77217766e290c9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3531dc93c2afc6deec858a59dcc55316.jpg)}.mouseView-image[style*="large/b1dfedbff1f23d9151972f10cbf92a17.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/55b0726c1461b5b23c406309cac31d70.jpg)}.mouseView-image[style*="large/ea1fb9e5137f49f6decd7e7a23edd415.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f1dff204fc99b67d3c58ecf90651478f.jpg)}.mouseView-image[style*="large/cacb0f1a4edce2387e9002f2d0de8c92.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ee1cd569eacf9757d8e969699f60f3c0.jpg)}.mouseView-image[style*="large/0097ba3a71d9fd020bed5111cc33c288.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9f8b3e959390f3d3f835c34c107acb93.jpg)}.mouseView-image[style*="large/5871b982e8b2bcc1940ad4073d46d266.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/51a96d30c36ffa678fd9bd6283ea2142.jpg)}.mouseView-image[style*="large/1a73168dbc81b57c966406a9016ce798.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/954c45a9a1f32481f0b1a3db0db1b4f5.jpg)}.mouseView-image[style*="large/db49f2627a88b046e44fc5fd116cfb94.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/841f6407acc70fbbd9e8a67c8f75b39b.jpg)}.mouseView-image[style*="large/7c0acb76988f49174d9ee4c8fa4f82f8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4d1c9b6247155741cd58b0a7415b38b4.jpg)}.mouseView-image[style*="large/ec9207e99bfd2c534e197c743b3cdea3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5defa9077339a51843f0878ee2a13d21.jpg)}.mouseView-image[style*="large/4ff52e29b9d2969e41731b8328e47aa5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8d651eca33594c1b897dd75a4eb0c04c.jpg)}.mouseView-image[style*="large/09ec20c70c3b4cedd473770ce7a39f18.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0c96e507bc8b3c59711bddfc6a9dd00b.jpg)}.mouseView-image[style*="large/af2e30a9528c7e8ff97131f299e55632.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1f5de24dca5e3010810d0108b216c87e.jpg)}.mouseView-image[style*="large/cbbb82b26afb85a3ec71269943fc70d0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c8fa5562e821e8fdb27829ab1a676766.jpg)}.mouseView-image[style*="large/7c8cc4990e4a2f6aa97a8fe904c3571f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c141a09719520b137dbbd90ed1726299.jpg)}.mouseView-image[style*="large/4617e66fc23740132838505636370ddb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c38e5e150ba8e254b38932f04aeba34a.jpg)}.mouseView-image[style*="large/0fecaf5702944d4278ff33915c6d3bf3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/01fc8490ebe57cf8fe9f3ae8f7f9476c.jpg)}.mouseView-image[style*="large/62485f06894a33c3543bc15bc1291d6b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/830c931fc89f9790cf0fdb6fd2e43358.jpg)}.mouseView-image[style*="large/4c652146acfc8751775900331e5c90e6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1f14d12aa8632febbb79c0d0dc265a14.jpg)}.mouseView-image[style*="large/89af333cb2577406c4f83e9d45f18335.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5966160ad0c39d4f43f1936fb76b90a4.jpg)}.mouseView-image[style*="large/ce2b224df33a19e48343a2ab47d3c28a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e104a2321abc234b9b44e910c495716e.jpg)}.mouseView-image[style*="large/e987e40df8a2ca3496032b0f8592aa8f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef9c041ffd61abb98c82fc86564903b0.jpg)}.mouseView-image[style*="large/a5a4538e000580257d9d4a916bf98d9f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5647d4e67d845a44f2e3d7b4e73681c2.jpg)}.mouseView-image[style*="large/42ca6b407915b420dbafab8fde58f29e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b0fd48b25b60e7db1be00f8222595837.jpg)}.mouseView-image[style*="large/a5bb14e0edb4648a79f06e5a1e8b75c0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/376fe790ec1c00907026c6538e3a421e.jpg)}.mouseView-image[style*="large/3bb2a8f1bacddcf316f8f8a5fc51e56b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0f5ed57259fd6ef747e312a5efac035e.jpg)}.mouseView-image[style*="large/dd312d5f29ba2f94d93c2f25ddf00b99.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/56543773c4a68069681432fa4cf1e521.jpg)}.mouseView-image[style*="large/eb8b09e72842a8046c0bdf20a67944fe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5704d6072cd7307a9ea0a0cfb1219e03.jpg)}.mouseView-image[style*="large/fc5181075f34f5f55ee8058b036d1b79.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/57c61073844247e87b956bd7014f2e4c.jpg)}.mouseView-image[style*="large/ffe2741c79563bd52f2af017fd9ce251.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/de3bddb4803b0c823f1a87b9290adf8b.jpg)}.mouseView-image[style*="large/e13493030ef551cc9f46108604baa7e8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d076b759bec9a5ec7f2a557698527b09.jpg)}.mouseView-image[style*="large/6a6110f9ecc3c24315716218fb4567f6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9956d79013705ca8fa7ddfcd3052c18f.jpg)}.mouseView-image[style*="large/72af42e14e929e51fa2e702260bc86a9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/81726e9131d6eda4bb4d26026272878b.jpg)}.mouseView-image[style*="large/ff6585008782d183e70dc41f5a5981bb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0bfd0702924248af6ee58a374413b38a.jpg)}.mouseView-image[style*="large/959e56c499fca05665a0bee7d779715d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4c83645358de4d4b7fbf2aa006a6785f.jpg)}.mouseView-image[style*="large/038528a422e2537760eb887013cc2cbe_v2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/445baca71db137b7abcc10f288aed53d_v2.jpg)}.mouseView-image[style*="large/40832b62cbfcda60c535839910a2b86d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1b2a4c8ad2b661c29c1b387e66660307.jpg)}.mouseView-image[style*="large/69c7cc2b57d34410b34b267d74a43602.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eaa61cc51fefade20313abfc221ab861.jpg)}.mouseView-image[style*="large/9a68fc45d02bc95447d020a7c0c64b36.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9a68fc45d02bc95447d020a7c0c64b36.jpg)}.mouseView-image[style*="large/e26b8dd175f1f080feca37aa9593451d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eb94441f531e66e9df7c59a517c3f934.jpg)}.mouseView-image[style*="large/153d5d1e697ed8ecaf9156a8c0c3c442.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/36e2e69f07f6d08ef1c78d5cc87e8f3f.jpg)}.mouseView-image[style*="large/00655d9af142e5618f2eb1f15eee9780.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3c1903645452299e9832d546124a8330.jpg)}.mouseView-image[style*="large/deb580d4ece4f23fa8d4b09c9640d0ef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f1155f2807c6c63848fecbb58b432395.jpg)}.mouseView-image[style*="large/b62e8ce571eb18516d376c4e63e1eeea.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/16038604b460462af253ae5fd28eaa49.jpg)}.mouseView-image[style*="large/2b648c5a516e08df9d8093cefbd6db4d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d8947f5a64f217372d439260591da79a.jpg)}.mouseView-image[style*="large/ec96053342b79189c56044eea009985a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ec96053342b79189c56044eea009985a.jpg)}.mouseView-image[style*="large/e66d1d4862296d3e78b6a002b1e56469.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/636abee4e22dfaf0c26a059db302423d.jpg)}.mouseView-image[style*="large/7b2ffa0a04befbd7624a801a850ecccb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0ba31e7ef95f51bc933ea204c063bcf1.jpg)}.mouseView-image[style*="large/41e3774c3c0718fc1f10f50df19e660a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5b1e7f86485ab9527f724f109c0d6338.jpg)}.mouseView-image[style*="large/86f13cb8ea0b88e6ea6e5884e26d04aa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/53f4807db9a2829648e6c9263399e888.jpg)}.mouseView-image[style*="large/ddd487047b3c00490a6079b7bc513ff3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/13f2f454171e9e82840bd9317dd3a102.jpg)}.mouseView-image[style*="large/328eb7c7850d5739cc98ed8642844584.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5726c5f166cade6762ebf5eb4a627314.jpg)}.mouseView-image[style*="large/2f256a9b03a5918a1b09cf3b6ddf7314.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/52e1fd28af22297c85d2dafe75062556.jpg)}.mouseView-image[style*="large/8e4905f168fa14e66becc3b97f6e52a9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0c93b9ec69851cb5091554d1effeea54.jpg)}.mouseView-image[style*="large/9da0f03bd7d2da90823a0f5cfb6ec8fa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/be9efbce111369aa09ba96032450e7f5.jpg)}.mouseView-image[style*="large/241988fde03cdda5c1f83423f53be716.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/42d55f400611d051e5af6e9b27aaf0d6.jpg)}.mouseView-image[style*="large/69398a2ce2ed9bf36c6c13405833c1ad.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/791c9e5d64133f0af9b4d3733a75472f.jpg)}.mouseView-image[style*="large/46502cd6a3e80be6f5d65c779fe1467f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d4df78585747388d064ae0f9a30f9a2a.jpg)}.mouseView-image[style*="large/83aa713398b90c4528fe00e04ac2cd58.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f4256ce7d2057c0487fc13bbe7925eb1.jpg)}.mouseView-image[style*="large/dfbfb7987d93563bb57f9a7ee5b4aca5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2f7c9fb1fab696a7875ebb3da9222ee8.jpg)}.mouseView-image[style*="large/164b1f80362f059ba4e048f5f8e0a366.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/09e8e9f6c6935756986ddac6b53fc2bc.jpg)}.mouseView-image[style*="large/a9d8ac9929eec54a83ca3b96d9526fef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b61fd9ad29d0c9741088cd1aaed550ba.jpg)}.mouseView-image[style*="large/4e7b293781ecf19f382be495aff74d11.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/771c4d633eb7e50f7380325322873a95.jpg)}.mouseView-image[style*="large/f32bb1516955174cde383c37c6028622.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0f8b175d13f983b71cf638a252867d6a.jpg)}.mouseView-image[style*="large/14c0b4e103497c1a1f67372978aab4a9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9e15674ca4d67e981e0402e467a5b8ee.jpg)}.mouseView-image[style*="large/b7fa9761dc33b4c8b25ed1e1f5b0aba8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d770f03e058275b36fd0449203994dc9.jpg)}.mouseView-image[style*="large/bd5e25aa5f1f418c51b6daba06cc9813.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3824775eee918813368a896b22cc13f6.jpg)}.mouseView-image[style*="large/0795b14cdccdf8abeb90cf6814c54411.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/31718e40d50ba385955d2466a48a50f8.jpg)}.mouseView-image[style*="large/674d28c2d46afac0b82711c87f2aa8ed.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c6dc2cdb409ff84ab58d059f9cb901e0.jpg)}.mouseView-image[style*="large/cec2c3aad79d17d563c217cec6626937.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5cf5da5f135b8a1b397b33f3cd770396.jpg)}.mouseView-image[style*="large/125b3cffb7610b30be288a453acd2ed5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3655cdf56b434da3196d0ff989c94dff.jpg)}.mouseView-image[style*="large/ed83938bd6ccb14385e673f529575507.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d3424f7609126218fdeabebfa8dba6a2.jpg)}.mouseView-image[style*="large/5a800528ca4ecaa61f6b094562488452.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8787c52438ba7da00435af35deef60c4.jpg)}.mouseView-image[style*="large/d6a4e314dcae2d7c40d7118454d18e73.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0e7d9fdda94fca402a79f14cbc38a854.jpg)}.mouseView-image[style*="large/462c7c71eae6b7095d1e0868b2aa1d38.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/96ce9a3afc8c2d1502469f56eb9fd1d2.jpg)}.mouseView-image[style*="large/a7b3a79b38f23212170ed6dadcd772e5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/64f98f30ff495f735811627bf7002b31.jpg)}.mouseView-image[style*="large/73de0ffd1c2789b1c2fa30476f939cfe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bf375257879e0c314c432cf9002f5404.jpg)}.mouseView-image[style*="large/cf0a59f9a2874e31161743ff5417ced5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e6678e550aac0c5512c36eae2f4748bb.jpg)}.mouseView-image[style*="large/7984f85a9046b85a9068ae340b0cfccb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d1ab1000f3a88b797a27753a94ce1eda.jpg)}.mouseView-image[style*="large/ac051ad7c241d85307d734f9bcda80dd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9920b41e58075d4c6cccebfceafc849f.jpg)}.mouseView-image[style*="large/2e23882ec685bf5bf507b9868b751a74.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ee4821e8725e5902884d41303f82f293.jpg)}.mouseView-image[style*="large/d69d2c849bef1225298a2cb08a66bae2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5656ecc4bd9e9d133164b33509b9c64e.jpg)}.mouseView-image[style*="large/984c674a4877a19f921275a86bd76e64.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cda867ee9e4cc333ff1e0aa72eb02f70.jpg)}.mouseView-image[style*="large/bef9c872cb6ad34cae5e6de0e9482b10.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fbe4e0d66f07259cb69babb894848cb2.jpg)}.mouseView-image[style*="large/a8d8b740958a6929b9f8916335b99b1f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b9016a29201ee9090f1554a6a14b7245.jpg)}.mouseView-image[style*="large/64ea45bb7601aa1f8a30a939ae76b2fb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/af4b41662f05bda52daa7a9cf428510f.jpg)}.mouseView-image[style*="large/fa21504acde369bb1168a1844d4655b8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/315df3cded086fa71ef6501199fd5cc7.jpg)}.mouseView-image[style*="large/beb2cae21d2c08f75d144ee16dccf8f3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b593a3d1d0ad435cb66846d1c50e17c2.jpg)}.mouseView-image[style*="large/bec8d89b2b21110fa6fa7ca05425040a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/da4429532484cb0507dd6815e20fd282.jpg)}.mouseView-image[style*="large/4b2f57899e420057e43f61b6699444e0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/935a70cab83d073c0cd80ff09bdb379c.jpg)}.mouseView-image[style*="large/c5eada0da99326a05522c5ad5d42e491.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3fa9f40f82715f41d02da9c60cd0e133.jpg)}.mouseView-image[style*="large/2cb1ddb28e52b5317dccec634821d7fd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9b92fd72d5397fda92789c33aa6c0526.jpg)}.mouseView-image[style*="large/dfe05a2eeede39837b5e9b0cd9ee5761.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e26ee8ef3eacd88ad6786a4a89144a7e.jpg)}.mouseView-image[style*="large/f17a0392ff780cb805f820016a8609f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/acc11035f151d6f38690e0381b6e3a24.jpg)}.mouseView-image[style*="large/8171b6b88cbc152e976425d5906e8c50.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/421a659d17bd76d8617051b5b6aaa689.jpg)}.mouseView-image[style*="large/03bbdc62369bdae2c60df1d037ccf408.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/57c10eb166f75688cba303414c8239a9.jpg)}.mouseView-image[style*="large/b0d842fb0cd9e6123344e5f2a4c6e471.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ed481036bc77eefaf5731e11aaa7a413.jpg)}.mouseView-image[style*="large/2843f02d815000608eb3913a186433be.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c24bf2db2f354ef508d3a59ce7fa7316.jpg)}.mouseView-image[style*="large/6304280a9df666d9804484bdf5b03f2c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d2e2c8d2656ddf86c3d54cfa9e3b9c26.jpg)}.mouseView-image[style*="large/2b945ccf08e8d6e1ad77ed553091079f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/af8136563ec3bd3daa1e71001afe8f6b.jpg)}.mouseView-image[style*="large/55dd9216670601c3cd493eba5bd1e742.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/21dbb51ea66b44623fe36cfcf31bf052.jpg)}.mouseView-image[style*="large/0bcedc9169552473b9d28454eca65e76.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5bc4b1f90b4f7e0cbef49edc16278898.jpg)}.mouseView-image[style*="large/3e6488b2bb4cc924e7bdecbbc2d2779b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8903f2593cda34f5a7914c1f11723ccb.jpg)}.mouseView-image[style*="large/701908ef93d419ebaf402000429ff242.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c69a992e1deea11a635a00f02a65579e.jpg)}.mouseView-image[style*="large/43a454b02e4f2eeb77715e6aa9f60310.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/07673e413e3c57438b20e06b70965d39.jpg)}.mouseView-image[style*="large/e53af89d78b37d5f0b5034e21ab23565.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d07dcdc7583a7b5d7ec62206ddef27de.jpg)}.mouseView-image[style*="large/7171131dac32d2836e86f1b5685aec2b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a557c5f1b0e1ed8c6f1005d1a0174b7b.jpg)}.mouseView-image[style*="large/2cb398d3e826a01886d12099450492a8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9f64e81163e92e102fbe7aa62cdd23aa.jpg)}.mouseView-image[style*="large/991f1e19acb8e9ff52dff539b5295003.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/696cf94a24e3af2cef980fa482386663.jpg)}.mouseView-image[style*="large/3eb02badfa5286bab3c50788465da8a2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1d50b821afcb0a140ed7ebcefa756c31.jpg)}.mouseView-image[style*="large/4306f04eed2d2ecbefafd6d8d7f81314.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/310a78578c3a8986dd8baa0b3553ea77.jpg)}.mouseView-image[style*="large/95587a5c74c98c55c1ff8f67882f12ee.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f753455c2c580a7d24b6bebb1102de81.jpg)}.mouseView-image[style*="large/5dadd9c76b12da75af55ba60e8779bda.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b6075d8118001a6395ab7292888d2f01.jpg)}.mouseView-image[style*="large/d71e0e762e90f6e57cb3f9db229eeed4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6f46a60d78810e6db23023b003afc9aa.jpg)}.mouseView-image[style*="large/f377e48da71cc9d9721569c8539dcc46.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c8f153a745ec8797e13bcb2750adf125.jpg)}.mouseView-image[style*="large/abccc0dcdd2507db16f1447a8eb0eb60.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8679b5a96e56e436539e28a82f6f0d95.jpg)}.mouseView-image[style*="large/7f910bf65cd9aad2efc53387413928d6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef87bf2c29e9083ef2744c335e8d84dc.jpg)}.mouseView-image[style*="large/c76538476df867de53a53a8423b2d64b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c7b299ee0f51406b061f8d29b4f3b344.jpg)}.mouseView-image[style*="large/05d44a4f377fd57bbc3b717c4a3fb08a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4798c0c174d9b475c823053f85255f6f.jpg)}.mouseView-image[style*="large/63077415a71608549c7741f5621b23e1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/527d2db38a3ac92db53055f210127e0d.jpg)}.mouseView-image[style*="large/9e3852fc83059854cee2a1b2b2e4e0c7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/87e00fea0a7cf8f8206a75065b423d45.jpg)}.mouseView-image[style*="large/9a39d3f0ed9fb3a3396b1ad64658ffc8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8060ace7f029b6970670b7e02f180c62.jpg)}.mouseView-image[style*="large/5e38b891d2fd7a60b736176eb4ddad8f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/97a69191dea52118da28bbe45e67d09b.jpg)}.mouseView-image[style*="large/e211f2bd172b3da6d0234e0689364a7b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/07de40b2bac728100fc9fb4294819ad5.jpg)}.mouseView-image[style*="large/6b45bdece033f78da13ae43a24964c68.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/98c2016be6802b48bacac4ee22cebb10.jpg)}.mouseView-image[style*="large/b146907720379a2489c78ac41058c551.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7654e1e7ec1f47a49e4b115e161162f6.jpg)}.mouseView-image[style*="large/06a6f12642bc1fb3f98ba0fa09384cd4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2894781ad94255c1fb96ede68fdd395a.jpg)}.mouseView-image[style*="large/9a6656550e941599b0a08c3800a9cdf6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/920da9cf009207278e4609e1e025e30c.jpg)}.mouseView-image[style*="large/1a1dec00623201c782b178e76a8ebd86.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/73fab9ede93c285c7d769ca1d7cd1c7b.jpg)}.mouseView-image[style*="large/60bb4d151c90f70ddcd9ebd7ade82c08.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eec554881427ccdbff2ef1e9ae1b7b33.jpg)}.mouseView-image[style*="large/0f3aaa5b15ddaf40a752c3eb1e3f611d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a09c450d78c593bd5d54d11178a2b523.jpg)}.mouseView-image[style*="large/95661afc1ebdc58fb11edcc4bfdbf121.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/53f39b51e35706a75ed650d5bbc8bbf4.jpg)}.mouseView-image[style*="large/b9f09ba035f7092304f932cf25fc59af.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5062a66a396de0124dd2b80a9b580907.jpg)}.mouseView-image[style*="large/7d1a957eb8f26a989427c0c9c7e7981b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5072caeae48114ca2c7f2f6583e9e026.jpg)}.mouseView-image[style*="large/e9bf71b3be31b0fc0613207050dcb423.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/40fc9158ee428245f28e8726f3b9a3c6.jpg)}.mouseView-image[style*="large/7aee80405d6282b451d6993d17af5cc3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2acb088e7b58b2e0fd5263e14f3497c1.jpg)}.mouseView-image[style*="large/8a07ab1422c2786553af6a9e2ec663cb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f3a6da7510ca190be0ec57a93e64c6a2.jpg)}.mouseView-image[style*="large/2fff780b24a3982d62687a8f4c34a2f1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/110cbb187ac281629fbf4f998265b74f.jpg)}.mouseView-image[style*="large/2cd369b649dca5a9c2abd3aab84166b0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d75175857b8ca15c8a4dfe6572fc82f5.jpg)}.mouseView-image[style*="large/301e42f9a3b438553e0eb3f314f270c1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2acfd7f1d47dd1ed25003d770776c039.jpg)}.mouseView-image[style*="large/0c147ac969d349cca68a837403af2363.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8db570a063e18530a6149744458b5997.jpg)}.mouseView-image[style*="large/51270e4b97a1ca02ca63653bb7775891.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7bbb95184870dde2fa68653dbab9716a.jpg)}.mouseView-image[style*="large/f69503abf9a8287b32acdebf406f6a8f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f2d6285dea9c2add63ece5af34f95af9.jpg)}.mouseView-image[style*="large/8b215e94fff83025de40156b31aea9a5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9d58061ad7d2e46a5d855b2a1d912dca.jpg)}.mouseView-image[style*="large/cfbe0e00b08e2855ebae23fb928e28e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aeeb1730ea0df85a0bc562b6ce016d5e.jpg)}.mouseView-image[style*="large/e5f1e36e5e9249774146972b89fa3f27.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/79f2082e138d5c0f3041228858ef95a4.jpg)}.mouseView-image[style*="large/50edcdd2003945d0c12e560297c48e9d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/60ea5fb449541125a8b92aa254b62fbb.jpg)}.mouseView-image[style*="large/0c8de7e07bbd9bc4e823cd753f266fbe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e70b45911220f6fb50266a401eec5eee.jpg)}.mouseView-image[style*="large/7eb5f30fa8c87d51458d2b410caa34c7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ac765b8d65aaa80d6fea4f1a9d793825.jpg)}.mouseView-image[style*="large/067548e3c61f47f227f81a4442fd96e7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a3f9e13840eb91543618a7b22ccde693.jpg)}.mouseView-image[style*="large/0a73c83be705c2dc6a162d03583f84f9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/61ce5ee9340ba4a378b5607c36e73080.jpg)}.mouseView-image[style*="large/ec4607b8b7d2d6d78f0cc0f8af38a576.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bf893ffb86aaeb1839906bbcba77940c.jpg)}.mouseView-image[style*="large/44c435651325253f258cd83bdc137e5e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c83f036f5363b0bc0ead942328a97b26.jpg)}.mouseView-image[style*="large/b40562fd9f86380954f8311e636938b4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b40562fd9f86380954f8311e636938b4.jpg)}.mouseView-image[style*="large/155d71a9e3ff7efa7007dd94fa4feb8b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/74f254c8dcbd66f457f71afcf594ba57.jpg)}.mouseView-image[style*="large/4c2298070b5b19635cc4e21b3e44a530.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6f98791315a60cc791700be63d7b22d9.jpg)}.mouseView-image[style*="large/df2b28d3f9faecf4d5ca18a77ac3f90b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ccbeb61e31c99b6d71b6754b5e661709.jpg)}.mouseView-image[style*="large/b219aac5de533d8beaad328fe218ba2c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/571690e97a138e33df1936a38be5c67e.jpg)}.mouseView-image[style*="large/9de83d55821ceb62d4d608448b5fe35c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9de83d55821ceb62d4d608448b5fe35c.jpg)}.mouseView-image[style*="large/88fddfc1e67799d24a8e156c9440c3e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a3bd7be795df212c7e557442dd80a0dc.jpg)}.mouseView-image[style*="large/5e4917fe63b57938984e883aec1ef087.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5e4917fe63b57938984e883aec1ef087.jpg)}.mouseView-image[style*="large/671436d63980a60c02a32ec42ad985d3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/671436d63980a60c02a32ec42ad985d3.jpg)}.mouseView-image[style*="large/cf476f4f9ebfd8bfd9be8e863a2bbbc7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cf476f4f9ebfd8bfd9be8e863a2bbbc7.jpg)}.mouseView-image[style*="large/e65b21ae44418790e876e2032e7bd7f5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e65b21ae44418790e876e2032e7bd7f5.jpg)}.mouseView-image[style*="large/8d9f9ef1d178ea12e035d16a6d5acaf3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8d9f9ef1d178ea12e035d16a6d5acaf3.jpg)}.mouseView-image[style*="large/edd03ca6f014550a8e067ac937bbf494.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/abf47e9b0cea9ac3f26ef53fe6513b4e.jpg)}.mouseView-image[style*="large/63842b0a6db0d5fbb3e3fba4fed31e9f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/63842b0a6db0d5fbb3e3fba4fed31e9f.jpg)}.mouseView-image[style*="large/b93d7dfd75cca45719f7216a4672d0da.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1d8688c61653a4677f8cb5a7c8dac942.jpg)}.mouseView-image[style*="large/a2ac4a42236d6e06f320e726991e4998.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8eab9d33e3553b3f9911ed29ee72cb8a.jpg)}.mouseView-image[style*="large/200ab37e2e9c09c4b0581aa632448e75.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/253a4682c31ce0343ac51aceef769fd2.jpg)}.mouseView-image[style*="large/996394687b92c25da44da989b96380bf.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b38e2a016b5cb1d962ae7f41a867798.jpg)}.mouseView-image[style*="large/8a72ecb7051e5c63c95f87bf0fd15472.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ffa4b892c5a7f36862b996d625be98cb.jpg)}.mouseView-image[style*="large/8a7363c79fb0f20a36a44bfb15e4d9cc.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a7363c79fb0f20a36a44bfb15e4d9cc.jpg)}.mouseView-image[style*="large/b5e16d08dfa513d28d61b1f3338e798c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b5e16d08dfa513d28d61b1f3338e798c.jpg)}.mouseView-image[style*="large/2f00b4b9ca0019a28d77287a6c11c897.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6570947882f0cbba88cff0ab0a1d9445.jpg)}.mouseView-image[style*="large/1eb1d5df3e0cdd418c63e23a65f66513.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3b879d5269ca7858133df58524257a72.jpg)}.mouseView-image[style*="large/900b29df4f2f23ef1356d4a4e53fb225.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c20e985e6488d5384b013b817a0b4222.jpg)}.mouseView-image[style*="large/71c3f0e113385235f345adc7373b7d07.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4c5862287d97274ee5b4eee0a4438f28.jpg)}.mouseView-image[style*="large/6ad860b4214d649c542f609c86550228.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b61573003265a3626dca422b8d4aea2.jpg)}.mouseView-image[style*="large/b6bc1a4dcde2aa37a6c8afbdc83c0868.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4491789396f6407f86755fa0e3bf1360.jpg)}.mouseView-image[style*="large/7e1d5cd3b84aa383651f4169e2343b40.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bbb5f3c1b62354c1be9ec8b3d161a0db.jpg)}.mouseView-image[style*="large/0b06624fac4838db5458cd147b3fdd63.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fad5a443b874fe69ed3666c3df03311d.jpg)}.mouseView-image[style*="large/869a8ca6f94f0013ee1d084c5421e36a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c5a44515d883169e946e1048c77276be.jpg)}.mouseView-image[style*="large/abdceba659c39d7485410574708dd439.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f38c011f1a36e7675846149a56075162.jpg)}.mouseView-image[style*="large/2845ce60de6c19df3827403df24af2da.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1a520f7db0a1b5980ba7765c627ea9fd.jpg)}.mouseView-image[style*="large/0cb274999de172a6cbb8600288f2fb7a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/38aedb780d56e6f4976e0c46ba2366a1.jpg)}.mouseView-image[style*="large/c49603684216c42bb129da79a1397c07.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b15361c9cf622bc47f794cbf0c7e9ae1.jpg)}.mouseView-image[style*="large/c564437b4e1807ca14746b249fb09676.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/735a7337bc0dfdc324dfd6e94bc994d1.jpg)}.mouseView-image[style*="large/0fb7af5bede840a6824b3faaeec15db6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3b773196dbe378e79b835400b8bc2b9a.jpg)}.mouseView-image[style*="large/4daca8b1cb3a544a7e8519f73265d967.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/902cb1f8c566e23125bca4fb50728d22.jpg)}.mouseView-image[style*="large/dc640eb4e1eeb815841bee03da6766df.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7ea8509221a62ce9f6137f1b8fb78f10.jpg)}.mouseView-image[style*="large/996675f2d926c216da9f77e42023a626.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/819f8f982fe72be38bc7b77d2bf64dd3.jpg)}.mouseView-image[style*="large/946b08c343b287329e72175168b43db6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f404a050daa9cb1d3cdd549271c0b9aa.jpg)}.mouseView-image[style*="large/15ac797b0b17a198f49018d275c3daac.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ab788c3da3044cb41a76cab75cadf761.jpg)}.mouseView-image[style*="large/d7df056fa458b0cf5498d79ce5c08eca.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dbf15331e92c58b186b01d0985975e11.jpg)}.mouseView-image[style*="large/50d2bcc4a039411eb98e7315c748603b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2d7d2a7bf4f3fe14d6ff13ebec43c41d.jpg)}.mouseView-image[style*="large/16e279bb2b3226245d1f6236171cd792.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dce3117ed9026835ff17dc2a0a056d92.jpg)}.mouseView-image[style*="large/41b24547455ef07bd928a883af1b21ac.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b890b05ade2f052541835e88556512b4.jpg)}.mouseView-image[style*="large/f92b8e33348f5c0f60bde6a2828fe264.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d214d81b21c83e0335bb5ea8bfcad86a.jpg)}.mouseView-image[style*="large/ba94e32da3984dbf7fe8b1688cfe58b8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b6776a497c2f9e4c942f994b0c225f92.jpg)}.mouseView-image[style*="large/0bd9e137e158ea7398e23fc15a90e896.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b8413bfef0e833aa4b0f21574659dfdb.jpg)}.mouseView-image[style*="large/bd569baeaffd9468cf0f8b7f09c1922e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/db90068de5d4c565dd8b5a9f57860223.jpg)}.mouseView-image[style*="large/837a479a522bc5747ed5e96995b1ecba.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b906e4c196a0f97219665e2cb08ad043.jpg)}.mouseView-image[style*="large/1f0b78304afeb6e6f4eb8121d1a50254.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9b369b50fb3bf2ea185a1d20244cb0d8.jpg)}.mouseView-image[style*="large/9c2ae80d3cc5571778d9347ef11817f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e6ee46b5ccc29f0a7e85156ab2b29446.jpg)}.mouseView-image[style*="large/6ec4e0e35c02e6f3b290a10872700b64.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/71d5d376f561430b0b119523543917e6.jpg)}.mouseView-image[style*="large/ae7832e393796abacbf63cf0cd319ba0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/30fd125e1a0169308d3dd6e0aafb4143.jpg)}.mouseView-image[style*="large/f2f6819fa428d30045926065c445eb7a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9af1027f3bee7d932fc0e49706e9dd05.jpg)}.mouseView-image[style*="large/ae7da84cb5fa7f0d8b1da359d71e704a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/82dd6a6c1d02c508b9178afff4732769.jpg)}.mouseView-image[style*="large/63589daa90866e1000c32718f89ad301.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fcf2a61a52fb43ee6174f9741e352529.jpg)}.mouseView-image[style*="large/773cb216161c5db66c1ebb7668e705ca.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/43c76ab8f279bc141045bbe38b18be17.jpg)}.mouseView-image[style*="large/252de34bfd7cdce020ff921f4e2d5c68.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eb8eb58a829d5b8f321604d19ee62025.jpg)}.mouseView-image[style*="large/09fd8e56a7f5e3e8ebde466111dc8b04.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/164c7042c757105c31bbef8dc270389e.jpg)}.mouseView-image[style*="large/0eae1bde7e42e2f06b78656ccae98d0d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5ce8b46b5deb2e3695eccb1de4974dec.jpg)}.mouseView-image[style*="large/104aa80d6456e1bab8f99b0364fecfaa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/23d2213812d2b52c24f32de238b15033.jpg)}.mouseView-image[style*="large/ab894193b19a3d3f92151fa5fb4e32f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/377688931837c27d7b70defcc80a1799.jpg)}.mouseView-image[style*="large/bf7205e7b8909bc0999507a20dc525fb.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e786352f9d1d4e8d12d3f524ed81379.jpg)}.mouseView-image[style*="large/801877f41e7283d08b1910f09b893ac5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c32a8760b0acb13d8a44126e405976d6.jpg)}.mouseView-image[style*="large/27c4934d3e9c294fbbe7d9741a323f55.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7041751a31d396b49360f7190ded46d7.jpg)}.mouseView-image[style*="large/13d138ff9a5cf553a70db74a2ebf5cb9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7b9a8def34e4795637b83c1021660ad3.jpg)}.mouseView-image[style*="large/c591bbf236797d03259d819282702190.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/96a6da44bb78092487e1eb8922cfb212.jpg)}.mouseView-image[style*="large/ca2adb5d0e01a43b55dffaf0685e1180.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9fb2249313806ec6ae5284d474acccad.jpg)}.mouseView-image[style*="large/7fb3cf00754a4afca60581aab2b41875.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/24a59cfb3b6a56be778b24b04cdf9436.jpg)}.mouseView-image[style*="large/08b19e72f7893d7081217c4f642e8ee2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3ff779365db69c43eb427549934ae462.jpg)}.mouseView-image[style*="large/3e34b94eef104d099d0dd3c2166baef7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0dbc988470eb1d6157fe122713daa521.jpg)}.mouseView-image[style*="large/17d20b2bc41e97b512973d546ce3dfe0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5ffd1ce25891fa3c07a1bd69c42cb9cf.jpg)}.mouseView-image[style*="large/174d8f3dcd0634f32e42231a783b41ca.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/452e2de6f2ee9b6148f772b143233556.jpg)}.mouseView-image[style*="large/07dca3515ed9599a1dadd4632ef8de10.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b905258b049ce13fd1d12896d305d27.jpg)}.mouseView-image[style*="large/0f270123bea017dcd2da91c434be3ec8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/704377f7ba5b0cde077b84ab3d057b4d.jpg)}.mouseView-image[style*="large/0728af969f3412ce8dde28a72754033d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f297f3fb27b3d3f75ab7363e02a4bcc8.jpg)}.mouseView-image[style*="large/f994c5114acac849fe4b7fa7b7cb8aed.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/82d54eb2635d5d44e662ffd7a7750f84.jpg)}.mouseView-image[style*="large/c9b8a315b1eff7b49c12f69b3f16a025.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/389c08ada77b3f73e157aaa33857659c.jpg)}.mouseView-image[style*="large/0b6d80032a5c469c1833da3ef23534a1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d5202ac72b06b61196750e04eb5b94f9.jpg)}.mouseView-image[style*="large/99257bb87332f960eb7ca008df937d65.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/978aec53b7df35e047fac0b4e251dd62.jpg)}.mouseView-image[style*="large/9fed704f3b9ddd69d8dd82acb8076f24.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4f4a43782e485d7648a7a747128551c7.jpg)}.mouseView-image[style*="large/46ca8b23991d21b3f5a55c2f9923002e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b9f0c42ecfce3a8dbeb35ad79a6515fa.jpg)}.mouseView-image[style*="large/dc40465d6442fb5c74187d63e0c13422.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0fb32c2f3335af524cb284a4ee105bc9.jpg)}.mouseView-image[style*="large/a8bc6657e02de47ed705d78580927dd3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a8fd7f20e4f47835dba42101a0f05384.jpg)}.mouseView-image[style*="large/3d5399b85e6fd6f908a98f0c5b3ca927.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0a9ba460c5318e54a9cb249ab64e5c4b.jpg)}.mouseView-image[style*="large/5c198149ef8ff6f3d589140c365192dd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/41dbb6cf9da893fc898bd4a85c4224ca.jpg)}.mouseView-image[style*="large/eb3adab7c7cb68aaddd3f1e300fa3cff.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9e333a4d91141cc6495da3220c27a04d.jpg)}.mouseView-image[style*="large/d9f9799e1115e93673171dfb8f393cbd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e123622e6f99e65cbe0f8de9edc598b5.jpg)}.mouseView-image[style*="large/65e819640ae4bdcd2c0132afd22eff22.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ac35d8cafbd9b14add6f54afabefece9.jpg)}.mouseView-image[style*="large/de5d82dfb71d83d599ad48f9e33ceab0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f290f3e2ad0e5da85c43be48f688324c.jpg)}.mouseView-image[style*="large/b104d385f0830d2c2fd98fb28cf027b9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/089f521c967cc5fe09ad9fe30519bee6.jpg)}.mouseView-image[style*="large/f81326842904d84bc2a95116140b3335.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/68d5a7996beaada1581cfa9011eb6a0f.jpg)}.mouseView-image[style*="large/ea111845f66bd2ca366c92eb3f9fe840.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/88c6df029ff8091d0cae6a6bfb9db715.jpg)}.mouseView-image[style*="large/6378acc44a45611130167db079b49a80.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5a93f8b2de117b682d1bb45c92afc20f.jpg)}.mouseView-image[style*="large/1e16b48a4abbf3a4f9f3238fb2459625.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7d130862c2556dfafd304b149c9b6cf0.jpg)}.mouseView-image[style*="large/421c8c131bd06e7cf03d8812f99f42b0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d6296dda98be01a8cc270659a9746b5e.jpg)}.mouseView-image[style*="large/64a0c73efab69ad5cab64046370de10d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e693bdaa90947c169e92593821296ca2.jpg)}.mouseView-image[style*="large/b6b6542c4d2d3765c01e4a6fa81279e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8b19d61dd100f81136e165a334f7c989.jpg)}.mouseView-image[style*="large/720e7a2ae370cd4bc47ec909124b5660.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/42914e4674d6f186a520959974adbc9a.jpg)}.mouseView-image[style*="large/3844f8a2f9261e640d62fb71ebe37700.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e47b59a4fa864c67d8041028bdf6c7db.jpg)}.mouseView-image[style*="large/37c435ddc761f157a3063206345fe762.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2a26e07c1b7e05d8538e7c670d3583bb.jpg)}.mouseView-image[style*="large/14cf86ca311f1ae17e9332935957719c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5e7756817d729d21281edd8e40b26c2f.jpg)}.mouseView-image[style*="large/b18c79598fff41058a0c3225e39ba5a0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0eaebdaf71f8d8677cf46a2a991ce4e8.jpg)}.mouseView-image[style*="large/d4b44688c96c8fe162616bee780655e7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a076347c0240aca6e89bba0b2e3781f8.jpg)}.mouseView-image[style*="large/a76e8f5b6e405c897e8e155c49903d80.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5853bf8b5b1be72a2fa7d010ce4b5205.jpg)}.mouseView-image[style*="large/f9ae634975b08116e3a0d133e9e4b8e7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5baa10c05a08eb0cb8fc2ce89993845d.jpg)}.mouseView-image[style*="large/89fa9bbab52aa4a592006284b66be168.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bfe3a227db10bbfc1e4b3c05307bb928.jpg)}.mouseView-image[style*="large/bdd3a5df5c3b3ccc05dd0a234705d1a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/395c15d00d64bd55572d6fbe278d17b5.jpg)}.mouseView-image[style*="large/2cf7702e45d2973b3640141193cacb14.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ba33b36f146d0234228fd7855780ff26.jpg)}.mouseView-image[style*="large/cdd38b17fcf7fdc93286294af9f3fae4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a9382f04e55f0dedd0fa05dabbacd10b.jpg)}.mouseView-image[style*="large/b786fe19237223022fbc4c25f8b155f8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f77f5e6bbfbb48aa3612a06bf9b2ee0d.jpg)}.mouseView-image[style*="large/db6c36ab07572aa1d5ca2dba5fa537fa.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d8f784a97c2586f1742c4be8a9b0ad6b.jpg)}.mouseView-image[style*="large/850970b7456116924bd909c729a63e31.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d33b4c715a885b9ed01641cca60b3492.jpg)}.mouseView-image[style*="large/692fb8eb54df94bb9665d84f04b79036.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a4bb0f2681f87443d66a81bcbc984be5.jpg)}.mouseView-image[style*="large/c10ece5bb26ab70345e63b78733a8151.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b53fb306d685e9dfee20bd912cad002a.jpg)}.mouseView-image[style*="large/da8eb8f0d2ae4672e6992b9d2021a81a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ec8c5daa455df068f1dd7cf3991d7e5e.jpg)}.mouseView-image[style*="large/e81b959fda7583af142f549515dc7556.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6f9cd5c14bfdf576d8d889a86a2c3045.jpg)}.mouseView-image[style*="large/b6c67026637f946c4deb5c64e1e23780.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2a78b5eba4535b2b22d31aeb26d4a50c.jpg)}.mouseView-image[style*="large/e8927e20fcac5069560edd5040197cf8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6b1d1d0763f01a0b9a14d22a3dacd7fc.jpg)}.mouseView-image[style*="large/f15b5f066f88bb61283f14e156277f48.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/45c7f0c6b97a45327c154234aab090cc.jpg)}.mouseView-image[style*="large/dd46d391503cf75acc3ad151c86d0b4b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/45f4d3731b11ece9b032124a82aaef34.jpg)}.mouseView-image[style*="large/c2e882626713294452301fd1dff64222.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/695b57c7c1ce3ced58ab56895d5c3fa1.jpg)}.mouseView-image[style*="large/ecfa07d9b901da422799de5fa6186327.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/23be4ce9b8205c0e566fa79e6c53f549.jpg)}.mouseView-image[style*="large/e5b91eb627497c98b8c961e0f4ed8790.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bc50e047b9cc8b082727c2209dd64f52.jpg)}.mouseView-image[style*="large/0ea3d298d2f48c33eaecb546c68fe539.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a0231ba4cea175286f1f8e21c05430dc.jpg)}.mouseView-image[style*="large/612f7133b7a9e98304adc08de5f090c4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/97cea0777964f977876312b63cc2ce7f.jpg)}.mouseView-image[style*="large/68ab104f9b65619fd103afda1893b8c5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ef59067765aad805df70a605268d006e.jpg)}.mouseView-image[style*="large/62a75bf8f9c641fceb2fe576b26d7ae4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1bc1579b2106e57dfca7535495b6d383.jpg)}.mouseView-image[style*="large/365631de10adf7cfd664b6b6d78a804c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/315b25d2e64f4b1cf4380cb8a6550a39.jpg)}.mouseView-image[style*="large/3b24a05eb747058e2c1df5956c5afaff.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/52d144af2af5bf0aa3e3f30e68b18130.jpg)}.mouseView-image[style*="large/eb55c8d8cc0c41be91aeee8b7a5ddab8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6690a9596ecff2fc9ad4a0732dc6341b.jpg)}.mouseView-image[style*="large/eacfbf2f69ff054f82ed774242fa832d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/674aa897f9a89b70747cf118f4def73d.jpg)}.mouseView-image[style*="large/a8c672a58eb319a21395a37437e7fc71.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3b654b59b0dddd0627611ea75e355a91.jpg)}.mouseView-image[style*="large/7adfc8121bc65d2e086d05114bbd2cac.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d73af01bf69c5be9fc9eb83db605e5ae.jpg)}.mouseView-image[style*="large/e75300d65937ad2a5048bcb8f1fca96d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/273f95c842390798474d083931db8796.jpg)}.mouseView-image[style*="large/3c3a1ac9d5a5bd4e11edacd5eb8f9098.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a0b7886ac16b38928886e066d32c9edb.jpg)}.mouseView-image[style*="large/9028c5d7d2e9b8e3c9dc3aba93c57c43.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b43e365089fe7ffa14ee7b3c4a66f02e.jpg)}.mouseView-image[style*="large/e492e56cea75e19a62f7e44d9893ea1a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3487e2db27a0f57f394f5952c8361f93.jpg)}.mouseView-image[style*="large/9da8a4a19cae47f85c5397d570640798.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bc27eb0baed9273a35d60c042dc1c398.jpg)}.mouseView-image[style*="large/592c84afcf33c99dac525dfbd3226e67.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/dd7fd39dc67d43183f1d45dbf71faa7c.jpg)}.mouseView-image[style*="large/efda8ba56e26dadd7772da835633b83b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/65742f6066b14640f1f132a83acdf901.jpg)}.mouseView-image[style*="large/322c8bf2cddda0872aee39375d289633.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fe565a1101c15c924d97e9871c3a820d.jpg)}.mouseView-image[style*="large/f68582fd821225f962900bead1c1c4e5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/332ab65d149ec503fde491dfc79bc830.jpg)}.mouseView-image[style*="large/dcda03d53101c0d278a3ef492637576b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/df8861e3bd84ff6de787193f9fd0bce0.jpg)}.mouseView-image[style*="large/774e7444b96772f615f12e633897ec8a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/14e50f19a6ab9ced9f7846055361361f.jpg)}.mouseView-image[style*="large/92891b97577cf7372cfb5a3da7997dc7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3a842c2b52d1d6331a39494a3eab8bd1.jpg)}.mouseView-image[style*="large/efad1eb9097cdcd51c8f884ef6dfc26d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/651ac33aac937514e1f06817b21e563d.jpg)}.mouseView-image[style*="large/3934d224ac84034aa5b8b20872dd8d2d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/113e12136b385d9e788a21e2e4be2b2d.jpg)}.mouseView-image[style*="large/e7b09d9c6c3178970d71f2285a9821f0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0d8cb9cd61db937dc3d92becf9ec2695.jpg)}.mouseView-image[style*="large/352b8dfcc5e94b66d48dbee0be34454b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/815eb7978e210d5fcbd1b05946ad405b.jpg)}.mouseView-image[style*="large/5e9a92a956f353094826aec0c262cba8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7c7c3c84a6d6d25e1a3e7a3de8a335bf.jpg)}.mouseView-image[style*="large/6645c44e0e91f577b78deba38e4463fe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/015ec81e7abe98bd4cae282446d56f41.jpg)}.mouseView-image[style*="large/b26e9532573465154539b54265d1bd52.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/11b688268637807d381e7e06401f0c2c.jpg)}.mouseView-image[style*="large/a039b9115b7dba1e86f02065ff0aa57f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/df6bf85bd41551f4b50278091f3175d6.jpg)}.mouseView-image[style*="large/2615b50ca8fa8652088df539cb2a4eba.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8715cbc22886709582377125ae859311.jpg)}.mouseView-image[style*="large/f4c1edcd75c558deeebeb636dd3bdeb4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/543ad9061e8cc28de8fe630c204ff56c.jpg)}.mouseView-image[style*="large/b282a9644f51f7c9c96f363810eed01a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f9be421aff2ccfb3ddd958e9e86d28cf.jpg)}.mouseView-image[style*="large/9ddf77f3fad0c33583260539ef82d704.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e7bb97a9ca422447127c00c859da4564.jpg)}.mouseView-image[style*="large/7c59ca52624d99a62a340199b072d5f9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5cc9860ab2731825b84f87e07617ca05.jpg)}.mouseView-image[style*="large/d7a6b381cc24ee0a537a9d88c93b51a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9bf4954333b5e43522bcfd8105ee3314.jpg)}.mouseView-image[style*="large/05583f7b7722bee907ee88a12bc25063.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/99e6cb1c1d6da9536c6f159ad94397a4.jpg)}.mouseView-image[style*="large/6430bbe1eb0641b2d4b2d569674c2f43.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a4ff9d0c31f78716790523f9814299e.jpg)}.mouseView-image[style*="large/e1056eaa49d781baccd0ccb0ae76a3a3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4802365dfd44b796e53eab1f88add5e2.jpg)}.mouseView-image[style*="large/419298181554ceab4dc372404369f25c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7e46afd3da5f32e82f79c7c58c15c3f1.jpg)}.mouseView-image[style*="large/906ca38cf87444300be6ddaac86ef83b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/310b520d33ca629202da69af31abada4.jpg)}.mouseView-image[style*="large/365584180bb11f76c68b04c0d97f4bad.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9cbbfd78561a7db94606a29ff8fb5432.jpg)}.mouseView-image[style*="large/6e190fc09d171c6d6c7ea012bf0c7486.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/42a61f948aea54abba8731e27c83fbb7.jpg)}.mouseView-image[style*="large/e7803ede816c4fb99eb09f847f05a8f8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0295dc8acc1f31726f80b296021fe821.jpg)}.mouseView-image[style*="large/765b0f4602026ebc7133bdc48e63718e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/92e9b1620c1fa59642edb9abec9fb819.jpg)}.mouseView-image[style*="large/29f003d88246c54d62b597a96651c040.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/360f7124a235ce65a948d48362b2f7fa.jpg)}.mouseView-image[style*="large/ca9694eb6d1a476e3da4d80cfc906a85.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eae3072ddb2bcca72f9aab3ad4cb80ef.jpg)}.mouseView-image[style*="large/60413ceb81cd1779baed1b0740c3d7a5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6ad8d024c4016d1a8e0f6251cb9d8124.jpg)}.mouseView-image[style*="large/9d913883a317d3d8ce97209c3e66b9f7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c62bf7b9aecd4067a623cae8cb61fbaa.jpg)}.mouseView-image[style*="large/8665bc624c22ecf604cc63b86e559481.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a08ae22f37bf5f1f9edc0de6cc0624c2.jpg)}.mouseView-image[style*="large/1898a9f5f9c8901e5ae5f8a7601e7d0e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a14e13a56d3326a9ed8cdb5dc730a3b2.jpg)}.mouseView-image[style*="large/e3fd9f1eedad8695969e1a72856e3496.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fe0579fbc19e4d15ab9236cdaa9fb784.jpg)}.mouseView-image[style*="large/4954ac90aa6cc4918f4a2de443e0ad32.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/053ffc606964ab10b3a5eba97ff148ab.jpg)}.mouseView-image[style*="large/7a9ddd0e5bfe7a14bcf986f358cf4127.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/bed80683e3930ed6b54bdbfd11cc85d7.jpg)}.mouseView-image[style*="large/6174f61820bc92707a4ea7a77be826a0.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c0f2915baace2c65ee0f6d330241ae96.jpg)}.mouseView-image[style*="large/23f87e78243232a2f51b3dcc6ef6d6e9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/125c81bd3dfdbf9052b18ad7e6ff58f9.jpg)}.mouseView-image[style*="large/8ebfd1849210f6f60ecdc5df2ab24503.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4fc3c6896d22c9862b23b9c03c94e393.jpg)}.mouseView-image[style*="large/6d28ed16ca2b616d101b0eec31d5bc8b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/71917fa8a05df17e88d4d28ad3c278cb.jpg)}.mouseView-image[style*="large/7e835d4bacb2c0890cdae6b71d8b78bf.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/077f1eb7b2ded8899859e0e0ce228cbb.jpg)}.mouseView-image[style*="large/0d80bea4669e0f2e4aaa86ac8be85853.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/acbfcafe23f97611127c5764bff39ea8.jpg)}.mouseView-image[style*="large/6a3dbf9a520606990048e1eb5f442dfd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/595de6b445b708003a03aff8d7d2a6d1.jpg)}.mouseView-image[style*="large/23e8d9cf8b4b9c5f065649542dc2a435.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/476922e0cc561dca976d08418164e46a.jpg)}.mouseView-image[style*="large/2836affa543c1316a74b1e605664d11d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eb213198cfea563c1f909b4fa952370e.jpg)}.mouseView-image[style*="large/e8436e83eed468719abb6a016c745efd.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e8436e83eed468719abb6a016c745efd.jpg)}.mouseView-image[style*="large/cfb2d6f12fea6d445227276153fde54c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cfb2d6f12fea6d445227276153fde54c.jpg)}.mouseView-image[style*="large/39df9964b600a2773945495d86b6e82e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/763f0e742babbc19fc79cce5e3f96829.jpg)}.mouseView-image[style*="large/d9de8618f9910afdb73b0d8b8eb049e2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/c7a5d1bf08f1941f1cbbe308bf5cb1f1.jpg)}.mouseView-image[style*="large/50c2386e43fb6fd4a573703eb947875f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/aa1078d53fa503c86551c3f55a9448c0.jpg)}.mouseView-image[style*="large/a77deaa02ea4940f0243f065e7219189.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5c5fa91b95b987b15277dc620ea4048d.jpg)}.mouseView-image[style*="large/b9186fda27ef5cef30ab9496d0326388.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/852b70ee9a8f956ef594f0cea08d8515.jpg)}.mouseView-image[style*="large/0063c50c398ba3f6a09dd43d4a809b4d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b24013d59b413505e58c8331535f381b.jpg)}.mouseView-image[style*="large/2d3415196767084a9b12a12a8ae22ded.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fd88a22e1a472ac18362bccb2f55b940.jpg)}.mouseView-image[style*="large/33337415d66accf46ef5a8126b26a05e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/cf31f3729dfd6b9d15bcabdffa3c7d51.jpg)}.mouseView-image[style*="large/8acd68b3df5d53651bf93cdddfb66542.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/32503b8efed24b7843b74bfc016d3757.jpg)}.mouseView-image[style*="large/9aa1998d65e830a454ef4b3bb53ac0ba.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9aa1998d65e830a454ef4b3bb53ac0ba.jpg)}.mouseView-image[style*="large/a03d4adbfd4314ad27a1b47f519f213c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3b5ddf582c25c14dd27f7e799d88e5f4.jpg)}.mouseView-image[style*="large/e9ab91f9eac59e75e42ec1a146ed0f94.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/5b03dfc4753624dc69bb3f65b2c5fb2b.jpg)}.mouseView-image[style*="large/ce941c372427972a02445e7afb516a99.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d055855a2d198dbcf0aab9b1d5ab2ab5.jpg)}.mouseView-image[style*="large/0667c59da142e4eea64424a6f07b664c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a7fb2d07ce47118bc33bce7f9561b1bc.jpg)}.mouseView-image[style*="large/a87647abc45ccb1a2c493d0292943aa8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/71dd7efe735ff996df16839e2134ed41.jpg)}.mouseView-image[style*="large/22f153c8478d40c097e8dc207008998d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/59b18cff48fac3f93ba4db7343961d2c.jpg)}.mouseView-image[style*="large/e84781c8b166c10626458e541a0c004a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8c0f503031cfc5b57c45dd6070bdb843.jpg)}.mouseView-image[style*="large/f5f02c3f9017eeb2b0f7d2e327a351b9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/a9896588c61e526e1d4ab10f98c8336a.jpg)}.mouseView-image[style*="large/db73501056f23ed3ae8362b570ab891c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/fdf4ad587e5647da1a7ce9dff990637a.jpg)}.mouseView-image[style*="large/16a8fbda97e07e007d655ab541dfae49.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6c07ad29e5e4acee520a000c9b1f8e79.jpg)}.mouseView-image[style*="large/d3d75c5cd1768f0995ca1982b2f8fd56.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/09b3ba21efa62252cc8ce8422218590b.jpg)}.mouseView-image[style*="large/84e0e1ee0acfd496463f410b9302eebe.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0787498b1c315dd892cbe36e0d9ea5c6.jpg)}.mouseView-image[style*="large/6e71207a10639fc5630eb0858470e2ab.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b78f84f21df147d70c0d06c1190f6487.jpg)}.mouseView-image[style*="large/b7d15acdd8b6e6b47644da982c027e23.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2a38678c9bc10ba344e965523e402cf0.jpg)}.mouseView-image[style*="large/61c00767668702f9c148b496fe143e69.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/deadf5c26c4b1a07b9444e8ed2ed0ba9.jpg)}.mouseView-image[style*="large/135dd7dcb41940c30d872982675b5b89.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f4be5ba2dfc08ac12f2ef8271394159f.jpg)}.mouseView-image[style*="large/7546fc30816028928eba6cc5113bf462.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/384873a789a21a72adaefc11747489c2.jpg)}.mouseView-image[style*="large/8e703a7c3d1f34f16d784fcef1325f95.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7382f7f0d21d1974f3675853ae0eeb37.jpg)}.mouseView-image[style*="large/d364f3ee91022ceb66d8ad26a480f0a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8be6ce45f7fa7d98375e6ebf1b504890.jpg)}.mouseView-image[style*="large/c47561f0cb754a4e44db7855cf6d6dd9.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6c81e741e21986982a70637ff7f36010.jpg)}.mouseView-image[style*="large/65f7cdba7073dad67292bfd2e2a4a611.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/067de9723f000d867e5e84e9a078fc35.jpg)}.mouseView-image[style*="large/b6056a16c803bd470b25d82a79e044f2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a4d00e0dc12d81ca2786456c318c454.jpg)}.mouseView-image[style*="large/fde197a7e247c33f23e36df336e0284f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ff55b84a8129b5b86febb2eaa139f6f1.jpg)}.mouseView-image[style*="large/0c73002ecd03897731918f3906ec65e5.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/11d8395d8ba9da1c72abcd7d1647906c.jpg)}.mouseView-image[style*="large/ef2cced77eddfa0db9268b18e262a4b8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/71add63994206e22047348108dc7cbd2.jpg)}.mouseView-image[style*="large/7f4317ae40d254889630c940ec4905b7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d654c5c71286602d846312189d244241.jpg)}.mouseView-image[style*="large/220133f014c67b04efd6277e414b9f26.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d2ed0d53600d6e655a4a61eb380aa48b.jpg)}.mouseView-image[style*="large/7fba8de76a63350dc420140e254015e3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3e0597fe36d664d9d0ccd23cea4156ef.jpg)}.mouseView-image[style*="large/aa2ad00f4bf0fe41b24c85958e798925.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ce261736490a35688324350cd05ad989.jpg)}.mouseView-image[style*="large/bd46c7bea748e78a3348f23a667dc25a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/300a8eceb35007ec3890a90bcdc19138.jpg)}.mouseView-image[style*="large/6f1d1042063e71c70d81c50227ad2fd7.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/739c83ce0096f2f952b467f0770c20c4.jpg)}.mouseView-image[style*="large/b46d565b79aa5add310d628016de8aef.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/670dd916e041a4c7eefd3d785a9b588e.jpg)}.mouseView-image[style*="large/4f71c9d7d11a55bf7462ce17724e4cc3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d559335c0a5a785cac37693f8d300f4f.jpg)}.mouseView-image[style*="large/0d92f27a3fd962a3f4fab1afa9c86ef8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/225bbdfd57b10033c0f25536be78a838.jpg)}.mouseView-image[style*="large/97fcfa55f3d9a84f068c9ac3da516ae1.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/be955707208021f982f2653e2f79fabc.jpg)}.mouseView-image[style*="large/4998c88cfe2e30c538d71554b98a8a09.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/120d2aac4918e3e3940aa30542ad8173.jpg)}.mouseView-image[style*="large/3487541f722987151dc7345eacb3c856.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4559de431370539fad165800f567a3da.jpg)}.mouseView-image[style*="large/497d910b39925c077bf56ced8c9aca0c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b751d1f0d4cdd06b8d1b25cfab7e55d2.jpg)}.mouseView-image[style*="large/cc6b00a2c93dff67b23000ea834e41d3.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ffa78727b04b18ccf2b43c42d4169250.jpg)}.mouseView-image[style*="large/752de0806ae14ff875099c0d1d4707a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/752de0806ae14ff875099c0d1d4707a6.jpg)}.mouseView-image[style*="large/822fc9714fab69a4fc50810682c57997.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/822fc9714fab69a4fc50810682c57997.jpg)}.mouseView-image[style*="large/6281c1391e1617fb3eb7fa156ce2b5a2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e679492e571d8524bc9a68c64250d116.jpg)}.mouseView-image[style*="large/1d00c0b28e67e711c426fc0029cb43ae.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1d00c0b28e67e711c426fc0029cb43ae.jpg)}.mouseView-image[style*="large/85651e6a984d10fee6b318162fb95a1f.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/ead716ed96ca112503f9cd7af2b10a9c.jpg)}.mouseView-image[style*="large/5eed581b158b5ceb51d88ebd371415de.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b807c5db7df1295ac283865bf80477ec.jpg)}.mouseView-image[style*="large/2c57991dff827c1876e22dd15f55d1f2.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/2c57991dff827c1876e22dd15f55d1f2.jpg)}.mouseView-image[style*="large/99e5d64f4de4b6ce76a516cec69da497.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/7b566077f669c065c01ae46dbf043837.jpg)}.mouseView-image[style*="large/3ef562ba3da2dfd58e34cfed4e299975.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/72576ae2535478700235dad4c5965fdd.jpg)}.mouseView-image[style*="large/c46807e563daa4f64baea750b657f02e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/1953187160f518af5dd4c4d9d84aadce.jpg)}.mouseView-image[style*="large/315a20359f057c35056989b8e199ce2b.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/315a20359f057c35056989b8e199ce2b.jpg)}.mouseView-image[style*="large/6848752df03064c9821be3968c418419.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e62fa02f11de68dae0a6e491dda1425.jpg)}.mouseView-image[style*="large/6cae7f9939705ef820949199e1a8380a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6cae7f9939705ef820949199e1a8380a.jpg)}.mouseView-image[style*="large/9507777ab19c3bf46069d794c73ed60c.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/9507777ab19c3bf46069d794c73ed60c.jpg)}.mouseView-image[style*="large/6c6350b7dc221ebdddfc8ad01bbcf7be.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4c1502965a257e60191439fde56081d7.jpg)}.mouseView-image[style*="large/0adb73c91bdbf2bd10b4b09e802d3a42.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/8a8a126ab60b2ee66f8f3c8270e76687.jpg)}.mouseView-image[style*="large/2ea675717d07fb43a2a3886de7847306.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/f2a0ccac84512feadf4538918e069e85.jpg)}.mouseView-image[style*="large/88e27fac290cd2eddd786ab1b8cded25.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/119719a04e4396f491b940c62a2ce4fd.jpg)}.mouseView-image[style*="large/4fa92a9ff47ca9fae036c91bf3ed231e.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/eba779b5ed1beff60cf4e622e46efa01.jpg)}.mouseView-image[style*="large/197cd8af0585f668044c99164c5919ec.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e93fa50f77c66fff95ded1ee839b1581.jpg)}.mouseView-image[style*="large/dbc9f5c1043c51cc96219580cb077353.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/11ab10725bc8ad6bbce0ef84f7afd959.jpg)}.mouseView-image[style*="large/dc33ea418692fe28d0f1c0f0cfc29718.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3d658f75d0eb82a62bf0936312ee9419.jpg)}.mouseView-image[style*="large/e1586d6ba218b0cc0f57ae7d5d5cae5d.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e1586d6ba218b0cc0f57ae7d5d5cae5d.jpg)}.mouseView-image[style*="large/af92b244731b0a1566c8126843f96e72.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/af92b244731b0a1566c8126843f96e72.jpg)}.mouseView-image[style*="large/3db825d0f57436fe09cff7ea4db8b8e4.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3db825d0f57436fe09cff7ea4db8b8e4.jpg)}.mouseView-image[style*="large/02c2844dac0a6aabd86dbbe1ce752805.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e5be580d01f1f4986db1b07ca455a6ab.jpg)}.mouseView-image[style*="large/9547d36c229be59f214bc4e1494e8b2a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/6fc4741c9c8cbc7bd239d8b5c40f61ec.jpg)}.mouseView-image[style*="large/d7f5d6dc18cc6743d3fd5b2658b002a6.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d7f5d6dc18cc6743d3fd5b2658b002a6.jpg)}.mouseView-image[style*="large/d7dd6ac669e55ac6563aaebaa401184a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/d7dd6ac669e55ac6563aaebaa401184a.jpg)}.mouseView-image[style*="large/e71b1a6d2ef65f8acfd12e3314be1565.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/e71b1a6d2ef65f8acfd12e3314be1565.jpg)}.mouseView-image[style*="large/562a88fd89bb67e43dd604d804b8da5a.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/3ffe66d358f69d1fa8572e2d1449a422.jpg)}.mouseView-image[style*="large/0c651db5922e5fc6f4f4964a8417dd34.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/0c651db5922e5fc6f4f4964a8417dd34.jpg)}.mouseView-image[style*="large/4e10483b705eeedc2436665f1d53dce8.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/4e10483b705eeedc2436665f1d53dce8.jpg)}.mouseView-image[style*="large/b2760432ac20f844beb3c1d8fcbb9a29.jpg"]:after{background-image:url(https://www.mousehuntgame.com/images/mice/silhouette_large/b2760432ac20f844beb3c1d8fcbb9a29.jpg)}\n'; } }); // src/modules/native-dark-mode/styles/mouse-view.css var mouse_view_default; var init_mouse_view = __esm({ "src/modules/native-dark-mode/styles/mouse-view.css"() { mouse_view_default = ".mh-dark .mouseView-title{color:var(--d-text)}.mh-dark .minluck-title,.mh-dark .mouseview-has-mhct .ar-header{border-bottom-color:var(--d-bg)}.mh-dark .mouseview-has-mhct .mouse-ar-wrapper{background-color:var(--d)}.mh-dark .mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd){background-color:var(--d-alt)}.mh-dark li.minluck-item{background-color:var(--d-alt);border-color:var(--d-bg-alt)}.mh-dark .mouseView-categoryContent-subgroup-mouse-weaknesses-label{border-color:var(--d-bg-alt)}.mh-dark .mouseView-statsContainer-block{background-color:var(--d-yellow-dark)}.mh-dark .minluck-title,.mh-dark .mouseview-has-mhct .ar-header,.mh-dark .mouseView-titleContainer{border-bottom-color:var(--d-bg-alt)}\n"; } }); // src/modules/native-dark-mode/styles/overlays.css var overlays_default2; var init_overlays2 = __esm({ "src/modules/native-dark-mode/styles/overlays.css"() { overlays_default2 = '.mh-dark #overlayPopup .jsDialogContainer .content{color:var(--d-text);background-color:var(--d-bg)}.mh-dark #overlayPopup .jsDialogContainer .suffix{background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark #overlayBg{background:var(--d-transparent-30)}.mh-dark #overlayPopup .jsDialog.bottom{background-color:var(--d-alt);border-radius:0 0 15px 15px}.mh-dark .mh-improved-travel-window.greatWinterHuntGolemDestinationView{background-color:var(--d-bg)}.mh-dark .mh-improved-travel-window .greatWinterHuntGolemDestinationView__environmentName{color:var(--d-text);background-color:var(--d-bg-alt);border-color:var(--d-border);box-shadow:none}.mh-dark .mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment{background-color:var(--d-bg-alt);border-color:var(--d-border);box-shadow:none}.mh-dark .mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:hover .greatWinterHuntGolemDestinationView__environmentName,.mh-improved-travel-window .greatWinterHuntGolemDestinationView__environment:focus .greatWinterHuntGolemDestinationView__environmentName{background-color:var(--d-action)}.mh-dark #overlayPopup .button,.mh-dark .notificationMessageList .message .actions input[type=button],.mh-dark .notificationMessageList .message .actions input[value="View Profile"],.mh-dark .notificationMessageList .message .actions input[value="View Profile"].ignoreRequest.ignoreRequest{box-shadow:0 -5px 8px -2px #ffae00 inset}.mh-dark #overlayPopup h2,.mh-dark #overlayPopup h3{color:var(--d-text)}.mh-dark #overlayPopup.tornPage .tornPageText p{color:var(--d-text-muted)}.mh-dark #overlayPopup .jsDialogContainer .prefix{background-color:var(--d-bg)}.mh-dark .inventoryPage-confirmPopup-itemContainer{background-color:var(--d-bg-alt)}.mh-dark .inventoryPage-confirmPopup-itemTable{background-color:var(--d-bg)}.mh-dark .inventoryPage-confirmPopup-itemContainer.received{background-color:var(--d-bg-alt)}.mh-dark .inventoryPage-confirmPopup-suffix-quantityContainer input{color:var(--d-text);background-color:var(--d);border-color:var(--d-border);border-width:1px}\n'; } }); // src/modules/native-dark-mode/styles/page.css var page_default; var init_page2 = __esm({ "src/modules/native-dark-mode/styles/page.css"() { page_default = ".mh-dark .pageFrameView-content,.mh-dark .mousehuntHeaderView,.mh-dark .pageFrameView-contentContainer,.mh-dark .pageSidebarView,.mh-dark .bg-color{background-color:var(--d)}.mh-dark #mousehuntContainer.PageCamp{background:var(--d);box-shadow:none}.mh-dark .pageFrameView-column.left,.mh-dark .pageFrameView-column.right{background:var(--d-bg);border-color:var(--d)}\n"; } }); // src/modules/native-dark-mode/styles/scoreboards.css var scoreboards_default2; var init_scoreboards2 = __esm({ "src/modules/native-dark-mode/styles/scoreboards.css"() { scoreboards_default2 = ".mh-dark .scoreboardTableView-content{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .scoreboardTableView-table th{color:var(--d-text)}.mh-dark .scoreboardTableView-filters label{color:var(--d-text-muted)}.mh-dark tr.scoreboardTableView-row.viewer,.mh-dark tr.scoreboardTableView-row.highlight{color:var(--d-text-dark)}.mh-dark .scoreboardTableView-header{background-color:var(--d-bg);border-color:var(--d-border);box-shadow:none}.mh-dark .scoreboardTableView-header-title{color:var(--d-text);text-shadow:none}.mh-dark .scoreboardTableView-content .pagerView-container{border:none;border-top:1px solid var(--d-border)}.mh-dark .scoreboardTableView-content .pagerView-section.previous.active .pagerView-link,.mh-dark .scoreboardTableView-content .pagerView-section.next.active .pagerView-link{color:var(--d-text-muted)}.mh-dark .scoreboardTableView-separator hr{background-color:transparent;border-color:var(--d-border)}.mh-dark .tournamentPage-tournamentHeader{color:var(--d-text);text-shadow:none;background-color:var(--d-bg);border-color:var(--d-border);box-shadow:none}\n"; } }); // src/modules/native-dark-mode/styles/send-supplies.css var send_supplies_default; var init_send_supplies = __esm({ "src/modules/native-dark-mode/styles/send-supplies.css"() { send_supplies_default = ".mh-dark #supplytransfer .categoryMenu a,.mh-dark #supplytransfer .drawer{background-color:var(--d)}.mh-dark #supplytransfer .drawer .tabContent h2,.mh-dark span.mhui-supply-sort-label,.mh-dark .mhui-supply-search-form label{color:var(--d-text)}.mh-dark #supplytransfer .listContainer a.element.item{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark #supplytransfer .listContainer a.element.item.pinned,.mh-dark #supplytransfer .categoryMenu a:hover,.mh-dark #supplytransfer .listContainer a.element:hover,.mh-dark #supplytransfer .listContainer a.element.recipient:hover,.mh-dark #supplytransfer .listContainer a.element.item.pinned:hover,.mh-dark #supplytransfer .tabs .tab .image:hover,.mh-dark #supplytransfer .tabs .tab .image.empty:hover{color:var(--d-text-dark)}.mh-dark #supplytransfer .listContainer a.element.item:hover{background-color:#d8f0ff}.mh-dark #supplytransfer .listContainer a.element.recipient{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark #supplytransfer .drawer .tabContent .summary .box{background-color:var(--d-bg)}\n"; } }); // src/modules/native-dark-mode/styles/settings.css var settings_default28; var init_settings29 = __esm({ "src/modules/native-dark-mode/styles/settings.css"() { settings_default28 = ".mh-dark .PagePreferences__title,.mh-dark .mousehunt-improved-settings .PagePreferences__title,.mh-dark .PagePreferences__section,.mh-dark #mousehunt-improved-settings-location-hud .PagePreferences__title{background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .PagePreferences__separator,.mh-dark #mousehunt-improved-settings-design-custom-background,.mh-dark #mousehunt-improved-settings-design-custom-hud,.mh-dark #mousehunt-improved-settings-design-custom-horn,.mh-dark #mousehunt-improved-settings-design-custom-shield,.mh-dark #mousehunt-improved-settings-feature-ultimate-checkmark-categories,.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList,.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting{border-color:var(--d-border)}.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting:nth-child(odd){background-color:var(--d-alt)}.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting{border-color:var(--d-alt)}.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-better:before,.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-feature:before,.mh-dark .mousehunt-improved-settings .PagePreferences__settingsList.PagePreferences__settingsList-mousehunt-improved-settings-beta:before,.mh-dark #mousehunt-improved-settings-design-custom-background:before,.mh-dark #mousehunt-improved-settings-design-custom-horn:before,.mh-dark #mousehunt-improved-settings-design-custom-hud:before,.mh-dark #mousehunt-improved-settings-design-custom-shield:before,.mh-dark #mousehunt-improved-settings-feature-ultimate-checkmark-show:before{filter:invert(1)}.mh-dark h3.PagePreferences__titleText,.mh-dark .PagePreferences .mousehuntHud-page-tabContent.game_settings .PagePreferences__settingNameText,.mh-dark .PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__settingNameText{color:var(--d-text)}.mh-dark .PagePreferences__settingDescription{color:var(--d-text-muted)}.mh-dark #mousehunt-improved-settings-location-hud .PagePreferences__settingsList:nth-child(2n){background-color:var(--d)}.mh-dark #mousehunt-improved-settings-mousehunt-improved-settings-overrides-override-styles textarea,.mh-dark #mousehunt-improved-settings-mousehunt-improved-settings-overrides-override-flags input{color:var(--d-text);background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .mousehuntSettingSlider{border-color:var(--d-border);box-shadow:0 0 7px var(--d-border) inset}.mh-dark .accountVerificationRewardsView__step.claimed{color:var(--d-text-dark);background-color:var(--d-green)}.mh-dark .accountVerificationRewardsView__step.can_claim{color:var(--d-text-dark);background-color:var(--d-yellow)}\n"; } }); // src/modules/native-dark-mode/styles/shops.css var shops_default2; var init_shops2 = __esm({ "src/modules/native-dark-mode/styles/shops.css"() { shops_default2 = ".mh-dark .inventoryPage-item-content-description-consumedItem.error{color:var(--d-red-dark)}.mh-dark .inventoryPage-item-content-description-consumedItem-image{margin-left:0}.mh-dark .itemPurchaseView-container.kingsCartItem .itemPurchaseView-action-container,.mh-dark .itemPurchaseView-container:hover .itemPurchaseView-margin,.mh-dark .itemPurchaseView-container:hover .itemPurchaseView-image-container,.mh-dark .itemPurchaseView-container:hover .itemPurchaseView-content-container,.mh-dark .itemPurchaseView-container .itemPurchaseView-margin,.mh-dark .itemPurchaseView-image-container,.mh-dark .itemPurchaseView-content-container{background-color:var(--d-bg)}.mh-dark .itemPurchaseView-container{border-color:var(--d-border)}.mh-dark .itemPurchaseView-content-description{color:var(--d-text-muted)}.mh-dark .itemPurchaseView-action-container{background-color:var(--d-bg);border-color:var(--d-border)}.mh-dark .itemPurchaseView-action-goldGost,.mh-dark .itemPurchaseView-action-purchaseHelper-owned{color:var(--d-text-muted);background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .itemPurchaseView-action-itemCost-table-cell.cost{color:var(--d-green);text-shadow:none}.mh-dark .itemPurchaseView-action-itemCost-table-row.error .itemPurchaseView-action-itemCost-table-cell.cost,.mh-dark .itemPurchaseView-action-itemCost-table .itemPurchaseView-action-itemCost-table-row.error a{color:var(--d-red-dark)}.mh-dark .itemPurchaseView-action-itemCost-table-cell.owned{color:var(--d-text)}.mh-dark .itemPurchaseView-action-itemCost-table-row.error .itemPurchaseView-action-itemCost-table-cell.owned{color:var(--d-text-dark)}.mh-dark.shopCustomization .PageShops .itemPurchaseView-container .itemViewStatBlock-stat.title,.mh-dark .itemPurchaseView-container .itemViewStatBlock-stat.powerType,.mh-dark.shopCustomization .PageShops .itemViewStatBlock.horizontal .itemViewStatBlock-stat{background-color:var(--d-bg-alt);border-color:var(--d-border)}.mh-dark .itemViewStatBlock-stat.success,.mh-dark .itemViewStatBlock-stat.success .itemViewStatBlock-stat-value a{color:var(--d-green)}.mh-dark .itemPurchaseView-action-itemCost-table{background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .itemPurchaseView-container.donation .itemPurchaseView-action-itemCost-table{background-color:var(--d-yellow)}.mh-dark .itemPurchaseView-action-itemCost-table a{color:var(--d-text)}.mh-dark .shopsPage-otherEnvironment{background-color:var(--d-bg);border-color:var(--d-border)}\n"; } }); // src/modules/native-dark-mode/styles/sidebar.css var sidebar_default5; var init_sidebar5 = __esm({ "src/modules/native-dark-mode/styles/sidebar.css"() { sidebar_default5 = ".mh-dark .mh-improved-map-sidebar-goal-image,.mh-dark .mh-improved-mice-sidebar-mouse-image{box-shadow:inset 0 0 0 1px var(--d-border)}.mh-dark .mh-improved-map-sidebar-goal:hover,.mh-dark .mh-improved-mice-sidebar-mouse:hover{background-color:var(--d-bg)}.mh-dark .mh-improved-mice-sidebar,.mh-dark .mh-improved-map-sidebar{border-color:var(--d-border)}.mh-dark .mh-improved-mice-sidebar-title,.mh-dark .mh-improved-map-sidebar-title{color:var(--d-text);background-color:var(--d-bg)}.mh-dark .scoreboardRelativeRankingTableView-table{background-color:var(--d-bg);border:1px solid var(--d-border)}.mh-dark .scoreboardRelativeRankingTableView tr{color:var(--d-text)}.mh-dark .scoreboardRelativeRankingTableView th{color:var(--d-text-dark)}\n"; } }); // src/modules/native-dark-mode/styles/tabs.css var tabs_default3; var init_tabs3 = __esm({ "src/modules/native-dark-mode/styles/tabs.css"() { tabs_default3 = ".mh-dark .mousehuntHud-page-tabHeader span,.mh-dark .mousehuntHud-page-tabHeader.active span,.mh-dark .mousehuntHud-page-tabHeader:hover span,.mh-dark .mousehuntHud-page-tabHeader:focus span{color:var(--d-text);background-color:var(--d-alt);border-color:var(--d-border);border-bottom-color:var(--d-alt);box-shadow:1px 1px 1px var(--d-border)}.mh-dark .mousehuntHud-page-tabHeader.active span,.mh-dark .mousehuntHud-page-tabHeader:hover span{background-color:var(--d);border-bottom-color:var(--d);box-shadow:1px 1px 1px var(--d)}\n"; } }); // src/modules/native-dark-mode/styles/travel.css var travel_default; var init_travel = __esm({ "src/modules/native-dark-mode/styles/travel.css"() { travel_default = ".mh-dark .travelPage-regionMenu-environments,.mh-dark #mh-simple-travel-page .travelPage-regionMenu-item,.mh-dark #mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu-environments{background-color:var(--d-alt)}.mh-dark .travelPage-regionMenu-environmentLink.relic-hunter-is-here,.mh-dark .mousehuntHud-page-tabContent.simple-travel .travelPage-regionMenu-environmentLink.relic-hunter-is-here{background-color:var(--d-green-dark);outline-color:var(--d-alt)}.mh-dark #mh-simple-travel-page .travelPage-regionMenu-environmentLink:hover,.mh-dark #mh-simple-travel-page .travelPage-regionMenu-environmentLink:focus,.mh-dark #mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight,.mh-dark #mh-simple-travel-page .travelPage-alpha-wrapper .travelPage-regionMenu-environmentLink.active.highlight{color:var(--d-text);background-color:var(--d-blue-dark)}.mh-dark .travelPage-regionMenu-stats{color:var(--d-text);background-color:var(--d)}.mh-dark #mh-simple-travel-page .travelPage-regionMenu .travelPage-regionMenu-environmentLink.active.highlight{margin-right:-4px}.mh-dark .travelPage-regionMenu-item.active .travelPage-regionMenu-regionLink{background-color:var(--d-blue-dark);box-shadow:2px 2px 2px var(--d-blue-dark) inset}.mh-dark #mh-simple-travel-page .travelPage-regionMenu-item{border-color:var(--d-blue-dark)}.mh-dark a.travelPage-regionMenu-environmentLink,.mh-dark a.travelPage-regionMenu-regionLink,.mh-dark .travelPage-map-pieces-detail-title{background-color:var(--d);border-color:var(--d-border)}.mh-dark .travelPage-map-pieces-row{background-color:var(--d-alt);border-color:var(--d-border)}.mh-dark .travelPage-map-pieces-detail-environment-title{border:none}.mh-dark .travelPage-map-environment-detailContainer{background:var(--d);border-color:var(--d-border);border-bottom:none;box-shadow:none}\n"; } }); // src/modules/native-dark-mode/index.js var imported7, styles7, init58, native_dark_mode_default; var init_native_dark_mode = __esm({ "src/modules/native-dark-mode/index.js"() { init_utils2(); init_root(); init_adventure2(); init_camp_tabs(); init_camp_trap(); init_favorite_setups3(); init_friends3(); init_general6(); init_header_dropdown(); init_header(); init_hover_items(); init_inventory(); init_item_view(); init_journal2(); init_kings_calibrator(); init_maps4(); init_marketplace(); init_mice(); init_mouse_view_images(); init_mouse_view(); init_overlays2(); init_page2(); init_scoreboards2(); init_send_supplies(); init_settings29(); init_shops2(); init_sidebar5(); init_tabs3(); init_travel(); imported7 = [root_default, adventure_default2, camp_tabs_default, camp_trap_default, favorite_setups_default3, friends_default3, general_default6, header_dropdown_default, header_default, hover_items_default, inventory_default, item_view_default, journal_default, kings_calibrator_default, maps_default3, marketplace_default, mice_default, mouse_view_images_default, mouse_view_default, overlays_default2, page_default, scoreboards_default2, send_supplies_default, settings_default28, shops_default2, sidebar_default5, tabs_default3, travel_default]; styles7 = imported7; init58 = () => __async(void 0, null, function* () { addStyles(styles7, "native-dark-mode"); addBodyClass("mh-dark"); }); native_dark_mode_default = { id: "native-dark-mode", name: "Native Dark Mode", description: "Please disable the Dark Mode extension/MHCT setting to prevent conflicts.", type: "beta", default: false, load: init58 }; } }); // src/modules/location-huds/toggle-icon.js var getCurrentLocationForSettings, getIconSettings, addToggleIcon, toggle_icon_default; var init_toggle_icon = __esm({ "src/modules/location-huds/toggle-icon.js"() { init_utils2(); getCurrentLocationForSettings = () => __async(void 0, null, function* () { const currentLocation = getCurrentLocation(); const eventEnvironments2 = yield getData("environments-events"); const eventLocation = eventEnvironments2.find((event) => event.id === currentLocation); if (eventLocation) { return "event-locations"; } return currentLocation; }); getIconSettings = () => __async(void 0, null, function* () { let key = yield getCurrentLocationForSettings(); key = `location-huds-enabled.${key}`; let value = getSetting(key, true); return { id: "mousehunt-improved-location-huds", classname: "mousehunt-improved-location-huds-icon", text: value ? "Disable HUD" : "Enable HUD", position: "prepend", action: (e, icon) => { value = getSetting(key, true); saveSetting(key, !value); if (value) { icon.textContent = "Enable HUD"; icon.classList.add("disabled"); icon.classList.remove("enabled"); } else { icon.textContent = "Disable HUD"; icon.classList.remove("disabled"); icon.classList.add("enabled"); } window.location.reload(); } }; }); addToggleIcon = () => __async(void 0, null, function* () { addIconToMenu(yield getIconSettings()); }); toggle_icon_default = addToggleIcon; } }); // src/modules/location-huds/settings.js var settings_default29; var init_settings30 = __esm({ "src/modules/location-huds/settings.js"() { init_utils2(); settings_default29 = () => __async(void 0, null, function* () { const locationsToUnset = /* @__PURE__ */ new Set([ "desert_oasis", "lost_city", "sand_dunes", "queso_geyser", "queso_plains", "queso_quarry", "queso_river", // Don't have HUD changes for these. "meadow", "training_grounds", "zugzwang_library" ]); const locationsToAdd = [ { name: "Region: Living Garden", id: "region-living-garden" }, { name: "Region: Queso Canyon", id: "region-queso" }, { name: "Event Locations", id: "event-locations" } ]; const options = []; const environments5 = yield getData("environments"); const eventEnvironments2 = yield getData("environments-events"); for (const environment of environments5) { if (locationsToUnset.has(environment.id)) { continue; } if (eventEnvironments2.some((event) => event.id === environment.id)) { continue; } options.push(environment); } options.sort((a, b) => { if (a.name < b.name) { return -1; } if (a.name > b.name) { return 1; } return 0; }); locationsToAdd.forEach((location) => { options.push(location); }); const optionsToReturn = []; for (const location of options) { optionsToReturn.push({ id: `location-huds-enabled.${location.id}`, title: location.name, default: true, description: location.description }); } return optionsToReturn; }); } }); // src/modules/location-huds/styles.css var styles_default60; var init_styles61 = __esm({ "src/modules/location-huds/styles.css"() { styles_default60 = ".mh-ui-cheese-selector-wrapper{margin-top:10px}.mh-ui-cheese-selector.townOfGnawniaHUD-baitContainer{flex-wrap:wrap}.mh-ui-cheese-selector .townOfGnawniaHUD-bait{width:145px;margin:3px 0;cursor:pointer;outline:1px solid #3d4d6c;box-shadow:none}.mh-ui-cheese-selector .townOfGnawniaHUD-bait-image{left:2px;background-color:transparent;filter:none;background-repeat:no-repeat;background-size:cover;border:none}.mh-ui-cheese-selector .townOfGnawniaHUD-bait-name{margin-left:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mh-ui-cheese-selector .townOfGnawniaHUD-bait.active,.mh-ui-cheese-selector .townOfGnawniaHUD-bait:hover{background-color:#c2dbef}.mh-ui-cheese-selector .townOfGnawniaHUD-bait.active .townOfGnawniaHUD-bait-name{text-shadow:none}.mh-ui-cheese-selector .townOfGnawniaHUD-bait-quantity{color:#eee;background:linear-gradient(to bottom,#2a354b,#485a7f)}.mh-ui-cheese-selector .townOfGnawniaHUD-bait.active .townOfGnawniaHUD-bait-quantity,.mh-ui-cheese-selector .townOfGnawniaHUD-bait:hover .townOfGnawniaHUD-bait-quantity{background:linear-gradient(to bottom,#4f638c,#798db4)}.mh-ui-cheese-selector .townOfGnawniaHUD-bait.active .townOfGnawniaHUD-bait-name,.mh-ui-cheese-selector .townOfGnawniaHUD-bait:hover .townOfGnawniaHUD-bait-name{color:#000;text-shadow:none}\n"; } }); // src/modules/location-huds/shared/cheese-selectors/index.js var makeCheeseSelectorElement, makeCheeseSelector, getCheeses, replaced, replaceCampShowTab, cheese_selectors_default; var init_cheese_selectors = __esm({ "src/modules/location-huds/shared/cheese-selectors/index.js"() { init_utils2(); makeCheeseSelectorElement = (cheesesToUse) => __async(void 0, null, function* () { const wrapper = makeElement("div", ["townOfGnawniaHUD", "allBountiesComplete", "mh-ui-cheese-selector-wrapper"]); const cheesesContainer = makeElement("div", ["townOfGnawniaHUD-baitContainer", "mh-ui-cheese-selector"]); const cheeses = yield getUserItems(cheesesToUse); for (const cheese of cheeses) { const cheeseContainer = makeElement("div", ["townOfGnawniaHUD-bait", `mh-ui-cheese-selector-${cheese.type}`]); cheeseContainer.setAttribute("data-item-type", cheese.type); cheeseContainer.setAttribute("data-item-classification", "bait"); cheeseContainer.setAttribute("onclick", "hg.utils.TrapControl.toggleItem(this); return false;"); if (user.bait_item_id === cheese.item_id) { cheeseContainer.classList.add("active"); } else { cheeseContainer.classList.remove("active"); } const cheeseImage = makeElement("div", "townOfGnawniaHUD-bait-image"); cheeseImage.style.backgroundImage = `url(${cheese.thumbnail_transparent || cheese.thumbnail})`; cheeseContainer.append(cheeseImage); makeElement("div", ["townOfGnawniaHUD-bait-name", "quantity"], cheese.name.replace(" Cheese", ""), cheeseContainer); makeElement("div", ["townOfGnawniaHUD-bait-quantity", "quantity"], cheese.quantity.toLocaleString(), cheeseContainer); cheesesContainer.append(cheeseContainer); } wrapper.append(cheesesContainer); return wrapper; }); makeCheeseSelector = (location, cheesesToUse) => __async(void 0, null, function* () { if (location.replaceAll("-", "_") !== getCurrentLocation()) { const existingCheeseSelector2 = document.querySelector(".mh-ui-cheese-selector-wrapper"); if (existingCheeseSelector2) { existingCheeseSelector2.remove(); } return; } const hud7 = document.querySelector("#hudLocationContent"); if (!hud7) { return; } const cheeseSelector = yield makeCheeseSelectorElement(cheesesToUse); const existingCheeseSelector = document.querySelector(".mh-ui-cheese-selector-wrapper"); if (existingCheeseSelector) { existingCheeseSelector.replaceWith(cheeseSelector); } else { hud7.after(cheeseSelector); } doEvent2("mh-improved-cheese-selector-added", location, cheesesToUse); }); getCheeses = (cheeses) => { const defaultCheeses = [ "cheddar_cheese", "brie_cheese", "gouda_cheese", "super_brie_cheese" ]; while (cheeses.length < 4) { cheeses.unshift(defaultCheeses.pop()); } return cheeses; }; replaced = false; replaceCampShowTab = () => { if (replaced) { return; } replaced = true; const _original2 = app.pages.CampPage.showTab; app.pages.CampPage.showTab = (...args) => { _original2(...args); doEvent2("set_camp_tab", ...args); }; }; cheese_selectors_default = (location, cheeses) => { replaceCampShowTab(); const main23 = () => { makeCheeseSelector(location, getCheeses(cheeses)); }; main23(); onRequest("*", main23); }; } }); // src/modules/location-huds/acolyte-realm/index.js var acolyte_realm_default; var init_acolyte_realm = __esm({ "src/modules/location-huds/acolyte-realm/index.js"() { init_cheese_selectors(); acolyte_realm_default = () => __async(void 0, null, function* () { cheese_selectors_default("acolyte-realm", [ "ancient_cheese", "runic_cheese", "radioactive_blue_cheese", "magical_radioactive_blue_cheese" ]); }); } }); // src/modules/location-huds/ancient-city/styles.css var styles_default61; var init_styles62 = __esm({ "src/modules/location-huds/ancient-city/styles.css"() { styles_default61 = ".ancientCityHUD-total.mousehuntTooltipParent{top:35px;left:550px;padding:11px 5px;font-size:13px;background:linear-gradient(180deg,#785c3c,#422b14);border-radius:10px}.ancientCityHUD-countDown{top:0;right:10px;font-size:36px;text-shadow:2px 2px 2px #171717}.ancientCityHUD-bossLabel{text-shadow:2px 2px 2px #171717}.ancientCityHUD-tier-number{text-shadow:1px 1px 2px #171717}.ancientCityHUD-progress{background:#cfc634}span.ancientCityHUD-alertLevel{position:absolute;bottom:1px;left:4px;text-shadow:1px 1px 2px #171717}.ancientCityHUD-districtName{font-size:13px;color:#c6c6c6}.ancientCityHUD-item-quantity{position:absolute;top:1px;padding:0 4px;margin-left:3px!important;font-size:11px;line-height:unset;text-align:center;background-color:#000;border-radius:5px}.ancientCityHUD-item:nth-child(1) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(2) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(3) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(4) .ancientCityHUD-item-name,.ancientCityHUD-item:nth-child(5) .ancientCityHUD-item-name{width:96px;margin-left:47px;font-size:11px;font-weight:900;text-align:center;text-shadow:0 0 1px #000;background:linear-gradient(180deg,#70707000,#a8a8a8,#70707000);border-radius:20px}.ancientCityHUD-item:hover .ancientCityHUD-item-location,.ancientCityHUD-item:focus .ancientCityHUD-item-location{position:absolute;top:unset;bottom:-25px;padding:3px;font-size:9px;color:#000;text-align:center;background:#fff;border:2px solid #000;border-radius:10px;box-shadow:2px 3px 4px #666}.ancientCityHUD-item{top:5px}.ancientCityHUD-bossSecretLabel{font-size:13px;text-shadow:0 1px 1px #3d3d3d}.ancientCityHUD.secret .ancientCityHUD-bossContainer:hover{background-position:0 0}.ancientCityHUD{filter:drop-shadow(0 3px 5px #0a0803)}\n"; } }); // src/modules/location-huds/ancient-city/index.js var ancient_city_default2; var init_ancient_city2 = __esm({ "src/modules/location-huds/ancient-city/index.js"() { init_utils2(); init_styles62(); ancient_city_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default61); }); } }); // src/modules/location-huds/balacks-cove/styles.css var styles_default62; var init_styles63 = __esm({ "src/modules/location-huds/balacks-cove/styles.css"() { styles_default62 = ".balacksCoveHUD-tideContainer-timeLeft{position:absolute;top:9px;right:55px;padding:3px 10px;font-size:12.5px;color:#382924;text-shadow:1px 1px 1px #c7e9ea;background-color:#8ad3d5;border-radius:23% 23% 0 0;box-shadow:0 -.5px 1px 1px #d6f1f2}\n"; } }); // src/modules/location-huds/balacks-cove/index.js var getClosingText, updateClosingTime, balacks_cove_default; var init_balacks_cove = __esm({ "src/modules/location-huds/balacks-cove/index.js"() { init_utils2(); init_styles63(); init_cheese_selectors(); getClosingText = (closes, stage, nextStageOffsetMinutes, nextStageText) => { const hours = Math.floor(closes); const minutes = Math.ceil((closes - Math.floor(closes)) * 60); let timeLeftText = `${hours > 0 ? `${hours}h ` : ""}${minutes}m until ${stage}`; if (nextStageOffsetMinutes && nextStageText) { const totTimeMinutes = hours * 60 + minutes + nextStageOffsetMinutes; timeLeftText += `, <span class="offset">${hours > 0 ? `${Math.floor(totTimeMinutes / 60)}h ` : ""}${totTimeMinutes % 60}m until ${nextStageText}</span>`; } return timeLeftText; }; updateClosingTime = () => { const hudBar = document.querySelector(".balacksCoveHUD-tideContainer"); if (!hudBar) { return; } let timeLeftText = ""; const today = /* @__PURE__ */ new Date(); const rotationLength = 18.66666; const rotationsExact = (today.getTime() / 1e3 - 1294680060) / 3600 / rotationLength; const rotationsInteger = Math.floor(rotationsExact); const partialRotation = (rotationsExact - rotationsInteger) * rotationLength; if (partialRotation < 16) { timeLeftText = getClosingText(16 - partialRotation, "Mid Tide", 60, "High Tide"); } else if (partialRotation >= 16 && partialRotation < 17) { timeLeftText = getClosingText(1 - (partialRotation - 16), "High Tide", 40, "Low Tide"); } else if (partialRotation >= 17 && partialRotation < 17.66666) { timeLeftText = getClosingText(0.66666 - (partialRotation - 17), "Mid Tide", 60, "Low Tide"); } const existing = document.querySelector(".balacksCoveHUD-tideContainer-timeLeft"); if (existing) { existing.innerHTML = timeLeftText; } else { makeElement("div", "balacksCoveHUD-tideContainer-timeLeft", timeLeftText, hudBar); } }; balacks_cove_default = () => __async(void 0, null, function* () { addHudStyles(styles_default62); cheese_selectors_default("balacks-cove", [ "vanilla_stilton_cheese", "vengeful_vanilla_stilton_cheese" ]); updateClosingTime(); onEvent("horn-countdown-tick-minute", updateClosingTime); }); } }); // src/modules/location-huds/bazaar/index.js var bazaar_default; var init_bazaar = __esm({ "src/modules/location-huds/bazaar/index.js"() { init_cheese_selectors(); bazaar_default = () => __async(void 0, null, function* () { cheese_selectors_default("bazaar", ["gilded_cheese"]); }); } }); // src/modules/location-huds/shared/folklore-forest/styles.css var styles_default63; var init_styles64 = __esm({ "src/modules/location-huds/shared/folklore-forest/styles.css"() { styles_default63 = '.folkloreForestRegionView-dialog-help .folkloreForestRegionView-dialog-tabContentContainer{max-width:560px;padding:10px;margin:0 auto;font-size:13px;line-height:1.4}.folkloreForestRegionView-dialog-help h3{font-size:17px;color:#fff5cb}.folkloreForestRegionView-dialog-tabHeaderContainer:before,.folkloreForestRegionView-dialog-tabHeaderContainer:after{background:transparent}.folkloreForestRegionView-dialog-tabHeaderContainer{padding:0 20px;margin-right:-5px;margin-left:-5px;border-bottom-color:#416f2a}a.folkloreForestRegionView-dialog-tabHeader{background-color:#4d3d00;border:1px solid #416f2a;border-bottom:none}#overlayPopup.fabledForestDialog .title{margin-top:-19px}.folkloreForestRegionView-environmentInventory-block-quantity{font-size:12px;font-weight:400}.folkloreForestRegionView-environmentInventory-label{font-size:11px;line-height:18px}a.folkloreForestRegionView-upgradeButton.canUnlock:after{position:absolute;top:3px;right:5px;width:14px;height:14px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/hud/folklore_forest_region/upgrade_arrow_small.png);filter:hue-rotate(300deg) brightness(1.1);background-repeat:no-repeat;background-size:contain;border-radius:50%}.mh-location-prologue_pond a.folkloreForestRegionView-upgradeButton.canUnlock:after{filter:hue-rotate(300deg) brightness(1.1)}.mh-location-table_of_contents a.folkloreForestRegionView-upgradeButton.canUnlock:after{filter:none}a.folkloreForestRegionView-upgradeButton{font-size:13px}.folkloreForestRegionView-upgrade{width:25px;height:25px;margin-right:3px;box-shadow:0 0 17px #54290a inset,0 0 2px 1px #999}.folkloreForestRegionView-upgradeContainer{top:3px;left:20px;width:auto}.folkloreForestRegionView-upgrade.active{box-shadow:inset 0 0 2px 1px #b4e2ee}.folkloreForestRegionView-environmentTitle .folkloreForestRegionView-environmentState{font-size:21px}.folkloreForestRegionView-trapWarningContainer{padding:20px;font-size:12px;color:#870808;background-color:#ffbfbf}.folkloreForestRegionView-trapWarningContainer a{color:#870808}.folkloreForestRegionView-warning{border:none}.folkloreForestRegionView-warning:before{display:none}a.folkloreForestRegionView__estimate-button{top:9px!important;right:-7px!important;font-size:20px!important;color:#1a5162!important}a.folkloreForestRegionView__estimate-button:hover{color:#064155!important}.folkloreForestRegionView-dialog-footer{margin-top:5px;margin-bottom:15px}.folkloreForestRegionView-footer-spacer{display:none}.folkloreForestRegionView-dialog-block-cost{border:1px solid #ccc;box-shadow:none}.folkloreForestRegionView-dialog-block-cost-image{height:40px;background-size:contain}.upgrades .folkloreForestRegionView-dialog-block-item-image{margin:4px auto;background-color:transparent;border:none}.upgrades .folkloreForestRegionView-dialog-block-icon{top:1px;left:0;border:none}.upgrades .folkloreForestRegionView-dialog-block-name{margin-left:39px;border-top:1px solid #c6c6c6}.upgrades .folkloreForestRegionView-dialog-block-description{border-width:1px}.upgrades .folkloreForestRegionView-dialog-block{border:1px solid #c6c6c6;border-top:none}.upgrades .folkloreForestRegionView-dialog-block.highlight .folkloreForestRegionView-dialog-block-icon{margin-top:-1px;border-top:1px solid #c6c6c6;border-right:1px solid #c6c6c6}.upgrades .folkloreForestRegionView-dialog-tabHeader-notification{font-size:15px;line-height:25px;background-color:#e94e4e;box-shadow:1px 1px 4px -1px #000}.folkloreForestRegionView-fuelContainer.mousehuntTooltipParent{border-radius:40px 30px 30px}.folkloreForestRegionView-fuelContainer .mousehuntTooltip{display:none!important}.folkloreForestRegionView-dialog-blockContainer.upsellRecipe .upsellItemActionView-cost-image{box-shadow:none}.mhui-folklore-forest-upgrade-toggle{position:absolute;right:25px;bottom:13px}.folkloreForestRegionView-dialog-block.toggle-is-hidden{filter:grayscale(.6);opacity:.8}.upgrades .folkloreForestRegionView-dialog-block .folkloreForestRegionView-dialog-block-icon:after{display:none}.upgrades .highlight .folkloreForestRegionView-dialog-block-name{background-color:#a2723b}.folkloreForestRegionView-dialog-block-cost.error .folkloreForestRegionView-dialog-block-cost-image{box-shadow:0 0 35px #ffa3a3 inset}a.folkloreForestRegionView-warning:hover{background-color:#ffecd9}.folkloreForestRegionView-dialog-blockContainer.upgrades .folkloreForestRegionView-dialog-block-description{overflow:visible;line-height:1.3}.folkloreForestRegionView-dialog-block-costLabel{display:none}.folkloreForestRegionView-helpButton{top:13px;width:22px;height:22px;background:url(https://www.mousehuntgame.com/images/ui/events/egg_sweeper/help_button.png);background-position:center;background-size:26px;border-radius:10px;mix-blend-mode:darken;opacity:.3}.folkloreForestRegionView-helpButton:hover{opacity:1}a.folkloreForestRegionView-travelButton{top:16px;left:226px;width:17px;height:17px;background:url(https://www.mousehuntgame.com/images/ui/hud/menu/treasure_chests.png);background-size:cover;opacity:.3;transform:scaleX(-1) rotate(99deg)}a.folkloreForestRegionView-travelButton:hover{opacity:1}\n'; } }); // src/modules/location-huds/bountiful-beanstalk/small-inv.css var small_inv_default; var init_small_inv = __esm({ "src/modules/location-huds/bountiful-beanstalk/small-inv.css"() { small_inv_default = ".headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--animating,.headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--open .headsUpDisplayBountifulBeanstalk__inventoryContainerPanel:nth-child(2){display:grid;grid-template-columns:repeat(4,50px);width:160px}.headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--animating{grid-template-columns:95px auto}.headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent.headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--open{display:grid;grid-template-columns:100px 0;width:300px;height:50px}.headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent{display:grid;grid-template-columns:105px 0;width:100px;height:50px}.headsUpDisplayBountifulBeanstalk__inventoryContainer{top:unset;bottom:75px}.headsUpDisplayBountifulBeanstalk__inventoryContainerPanel:nth-child(1){display:grid;grid-template-columns:50px 50px}\n"; } }); // src/modules/location-huds/bountiful-beanstalk/styles.css var styles_default64; var init_styles65 = __esm({ "src/modules/location-huds/bountiful-beanstalk/styles.css"() { styles_default64 = '.headsUpDisplayBountifulBeanstalkView__baitQuantity.quantity{display:flex;align-items:center;justify-content:flex-end;font-size:12px}.headsUpDisplayBountifulBeanstalk__inventoryBlockQuantity.quantity{padding:1px 2px}.bountifulBeanstalkCastleView__noiseLevel,.bountifulBeanstalkCastleView__maxNoiseLevel{padding:0 2px;font-size:17px}.bountifulBeanstalkCastleView__noiseMeterLabel{color:#ffefc7;text-shadow:0 0 1px #5b4200;filter:drop-shadow(1px 1px 1px #000)}.headsUpDisplayBountifulBeanstalkView__baitImage{top:0;left:3px;width:35px;height:35px}.headsUpDisplayBountifulBeanstalkView__baitIngredientImage{top:24px;left:28px;width:20px;height:20px}.bountifulBeanstalkCastleView__plinthLootImage .headsUpDisplayBountifulBeanstalkView__loot{top:45px;right:245px;width:45px;height:45px;filter:drop-shadow(0 0 5px #f0e1a4)}.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer h3{font-size:11px}.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer h3 span{font-size:17px}.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer{left:22px}.headsUpDisplayBountifulBeanstalkView__castleNextRoomText.headsUpDisplayBountifulBeanstalkView__castleNextRoomText--nextArrow{font-size:13px}.bountifulBeanstalkCastleView__plinthOverlay .mousehuntTooltip{top:-20px;bottom:unset;left:-60px;z-index:30;width:447px;line-height:1.75;color:#f2e3a6;background:#192518;border:2px solid #85d523}.bountifulBeanstalkCastleView__plinthOverlay .mousehuntTooltip-arrow{display:none}.bountifulBeanstalkCastleView__currentRoomName{font-size:12px}.bountifulBeanstalkCastleView__currentRoomLoot b{font-size:10px}.bountifulBeanstalkCastleView__plinthOverlay.mousehuntTooltipParent{left:190px;width:330px}.bountifulBeanstalkCastleView__currentRoomLootMultiplier{font-size:12px}.bountifulBeanstalkPlayHarpDialogView__optionActionLabel{margin-bottom:5px}.headsUpDisplayBountifulBeanstalk__embellishmentBlock:hover .headsUpDisplayBountifulBeanstalk__embellishmentBlockImage{filter:brightness(1.3) drop-shadow(0 0 1px #224e1c) drop-shadow(0 0 1px #224e1c);transform:scale(1.3)}.headsUpDisplayBountifulBeanstalk__embellishmentBlock .headsUpDisplayBountifulBeanstalk__embellishmentBlockImage{transition:.3s;animation:adminShimmer 1s 3}.headsUpDisplayBountifulBeanstalkView__playHarpDialogButton--autoPlaying .headsUpDisplayBountifulBeanstalkView__playHarpDialogButtonHarpImage{transition:.3s;animation:mh-improved-shake .5s 2}.headsUpDisplayBountifulBeanstalkView__castleChevronContainer .headsUpDisplayBountifulBeanstalkView__loot:hover{animation:mh-improved-shake .5s infinite}.bountifulBeanstalkCastleView__content:active .bountifulBeanstalkCastleView__bossMarker{animation:mh-improved-shake-scaled .5s infinite}.bountifulBeanstalkCastleView__content:hover .bountifulBeanstalkCastleView__bossMarker{transform:scale(1.2)}@media (prefers-reduced-motion: reduce){.headsUpDisplayBountifulBeanstalk__embellishmentBlock:hover .headsUpDisplayBountifulBeanstalk__embellishmentBlockImage{filter:none;transform:none}.headsUpDisplayBountifulBeanstalk__embellishmentBlock .headsUpDisplayBountifulBeanstalk__embellishmentBlockImage{transition:none;animation:none}.bountifulBeanstalkCastleView__content:active .bountifulBeanstalkCastleView__bossMarker,.headsUpDisplayBountifulBeanstalkView__playHarpDialogButton--autoPlaying .headsUpDisplayBountifulBeanstalkView__playHarpDialogButtonHarpImage{animation:none}.bountifulBeanstalkCastleView__content:hover .bountifulBeanstalkCastleView__bossMarker{transform:none}.headsUpDisplayBountifulBeanstalkView__castleChevronContainer .headsUpDisplayBountifulBeanstalkView__loot:hover{animation-iteration-count:1}}.mh-improved-room-data--open,.mh-improved-room-data--open .headsUpDisplayBountifulBeanstalkView__lootMultiplierDetailsContainer,.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer{z-index:28;display:block}.headsUpDisplayBountifulBeanstalk__inventoryContainer{z-index:28}.headsUpDisplayBountifulBeanstalk__inventoryContainer:hover{z-index:31}.bountifulBeanstalkCastleView__content{z-index:27}.headsUpDisplayBountifulBeanstalkView__playHarpDialogButton--autoPlaying:hover .headsUpDisplayBountifulBeanstalkView__playHarpDialogButtonHarpImage{transform:scale(1.1) rotate(3deg) translate(5px)}.folkloreForestRegionView-dialog-recipeResult-image.itemImage .quantity{background:#ffffffbf}.bountifulBeanstalkCastleView__bossMarker{filter:drop-shadow(2px -1px 4px #000);transition:.4s;transform:scale(1.1);transform-origin:bottom}.headsUpDisplayBountifulBeanstalkView__climbNextRoomText,.headsUpDisplayBountifulBeanstalkView__castleNextRoomText{font-size:12px}.bountifulBeanstalkCastleView__background{transition:opacity .3s}.bountifulBeanstalkCastleView__background.is-boss-chase{opacity:.7}.headsUpDisplayBountifulBeanstalk__inventoryBlockImage{width:37px;height:37px}.bountifulBeanstalkCastleView__plinthOverlay .mousehuntTooltip.mh-improved-tooltip-stay-open,.headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer.mh-improved-room-data--open{z-index:30;border-color:#75a23d}.headsUpDisplayBountifulBeanstalkView__ingredientQuantity.quantity{top:26px}.headsUpDisplayBountifulBeanstalkView__baitCraftableContainer .mousehuntTooltip{right:-40px;left:-40px;line-height:1.5;text-align:center}.headsUpDisplayBountifulBeanstalkView__baitCraftableContainer[data-item-type=leaping_lavish_beanster_cheese] .mousehuntTooltip{right:-40px;left:-40px}.headsUpDisplayBountifulBeanstalkView__castleChevronContainer .mousehuntTooltip{line-height:1.4}.headsUpDisplayBountifulBeanstalkView__castleChevronContainer .mousehuntTooltip>b:first-of-type{display:inline-block;margin-bottom:4px;font-size:11px;border-bottom:1px solid #d5d5d5}.headsUpDisplayBountifulBeanstalkView__fuelQuantity.quantity{font-size:13px;color:#fff;background-color:#2c4d26}.active .headsUpDisplayBountifulBeanstalkView__fuelQuantity.quantity{text-shadow:0 0 2px #5ac976}.headsUpDisplayBountifulBeanstalkView__fuelContainer:hover{cursor:pointer}.folkloreForestRegionView-helpButton{top:13px;width:22px;height:22px;background:url(https://www.mousehuntgame.com/images/ui/events/egg_sweeper/help_button.png);background-position:center;background-size:26px;border-radius:10px;mix-blend-mode:darken;opacity:.3}.folkloreForestRegionView-helpButton:hover{opacity:1}.headsUpDisplayBountifulBeanstalk__embellishmentBlock .mousehuntTooltip{right:-70px;bottom:50px;left:-70px}.folkloreForestRegionView-dialog-help .beanstalkHelp__image{flex:1;width:100%;height:150px;background-size:contain}.folkloreForestRegionView-dialog-help .beanstalkHelp__section{flex-wrap:wrap;padding-top:30px;margin-bottom:30px;border-top:1px solid #487426}.folkloreForestRegionView-dialog-help .beanstalkHelp__section:nth-child(3){border-top:none}.folkloreForestRegionView-dialog-help .beanstalkHelp__section:nth-child(4) .beanstalkHelp__image{order:-1}.headsUpDisplayBountifulBeanstalkView__frame{filter:drop-shadow(0 1px 2px #333)}.headsUpDisplayBountifulBeanstalkView__multiplier div:nth-child(2){font-size:13px}.headsUpDisplayBountifulBeanstalkView__lootMultiplierDetailsContainer>div{align-items:center;margin:2px}.headsUpDisplayBountifulBeanstalk__embellishmentBlock{top:-5px;left:-10px;width:34px;height:34px}.headsUpDisplayBountifulBeanstalk__embellishmentBlockImage{width:30px;height:30px;filter:drop-shadow(0 0 1px #224e1c) drop-shadow(0 0 1px #224e1c);background-position:center;transform:scale(1)}.headsUpDisplayBountifulBeanstalk__embellishmentBlock.golden_feather{left:-6px}.headsUpDisplayBountifulBeanstalk__embellishmentBlock.ruby_remover{left:-2px}.headsUpDisplayBountifulBeanstalkView__multiplier.headsUpDisplayBountifulBeanstalkView__multiplier--feather,.headsUpDisplayBountifulBeanstalkView__multiplier.headsUpDisplayBountifulBeanstalkView__multiplier--condensed_creativity{font-size:10px}.folkloreForestRegionView-dialog-block-name{display:flex;justify-content:center;height:40px;padding:0;font-size:13px;text-align:center}.folkloreForestRegionView-dialog-blockContainer.basicBaits .mousehuntArmNowButton{transform:scale(1.2)}.bountifulBeanstalkCastleView__noiseMeterBar{padding-right:1px}button.headsUpDisplayBountifulBeanstalkView__baitBuyButton{right:3px}.active button.headsUpDisplayBountifulBeanstalkView__baitBuyButton{right:2px}.bountifulBeanstalkClimbView__playerUserThumb,.bountifulBeanstalkCastleView__playerMarkerUserThumb{border:1px solid #0aaa62;box-shadow:inset 0 1px 3px #3d3d3d}.bountifulBeanstalkCastleView__playerMarker--player_marker_chase .bountifulBeanstalkCastleView__playerMarkerUserThumb{border:1px solid #d7440d}.mh-crafting-actions{display:flex;gap:10px;justify-content:center;margin-top:5px;transition:.2s ease-in}.headsUpDisplayBountifulBeanstalkView__baitCraftableContainer.mousehuntTooltipParent:after{position:absolute;inset:-30px 20px 5px;content:""}.mh-crafting-popup.loading:after,.mh-crafting-popup.success:after{position:absolute;right:0;bottom:7px;left:0;display:block;height:20px;content:"";background:url(https://www.mousehuntgame.com/images/ui/loaders/small_spinner.gif) center no-repeat}.mh-crafting-popup.success:after{background:url(https://www.mousehuntgame.com/images/ui/hud/meadow_checkmark.png) center no-repeat;background-size:contain}.loading .mh-crafting-actions,.success .mh-crafting-actions{opacity:.1}.folkloreForestRegionView-trapWarningContainer.active{z-index:35}\n'; } }); // src/modules/location-huds/bountiful-beanstalk/index.js var keepInventoryToggled, keepRoomDataToggled, keepTooltipToggled, funTime, makeGiantMoreVisible, toggleFuelWithIcon, updateLootText, baitAmounts, addCraftingButtons, bountiful_beanstalk_default2; var init_bountiful_beanstalk2 = __esm({ "src/modules/location-huds/bountiful-beanstalk/index.js"() { init_utils2(); init_styles64(); init_small_inv(); init_styles65(); keepInventoryToggled = () => __async(void 0, null, function* () { const toggleButton = document.querySelector(".headsUpDisplayBountifulBeanstalk__inventoryContainer .headsUpDisplayBountifulBeanstalk__inventoryContainerButton"); if (!toggleButton) { return; } const inventory = document.querySelector(".headsUpDisplayBountifulBeanstalk__inventoryContainer .headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent"); if (!inventory) { return; } let isSetOpen = getSetting("location-huds.bountiful-beanstalk-inventory-toggled", "not-set"); if (isSetOpen) { inventory.classList.add("headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--open"); toggleButton.classList.add("headsUpDisplayBountifulBeanstalk__inventoryContainerButton--open"); } else if (isSetOpen === "not-set") { isSetOpen = false; } toggleButton.addEventListener("click", (e) => { e.preventDefault(); if (isSetOpen) { isSetOpen = false; inventory.classList.remove("headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--open"); toggleButton.classList.remove("headsUpDisplayBountifulBeanstalk__inventoryContainerButton--open"); } else { isSetOpen = true; inventory.classList.add("headsUpDisplayBountifulBeanstalk__inventoryContainerBlockContent--open"); toggleButton.classList.add("headsUpDisplayBountifulBeanstalk__inventoryContainerButton--open"); } saveSetting("location-huds.bountiful-beanstalk-inventory-toggled", isSetOpen); }); }); keepRoomDataToggled = () => __async(void 0, null, function* () { const roomData = document.querySelector(".headsUpDisplayBountifulBeanstalkView__lootMultiplierContainer"); if (!roomData) { return; } let isSetOpen = getSetting("location-huds.bountiful-beanstalk-room-data-toggled", "not-set"); if (isSetOpen) { roomData.classList.add("mh-improved-room-data--open"); } else if (isSetOpen === "not-set") { isSetOpen = false; } roomData.addEventListener("click", (e) => { e.preventDefault(); if (isSetOpen) { isSetOpen = false; roomData.classList.remove("mh-improved-room-data--open"); } else { isSetOpen = true; roomData.classList.add("mh-improved-room-data--open"); } saveSetting("location-huds.bountiful-beanstalk-room-data-toggled", isSetOpen); }); }); keepTooltipToggled = () => __async(void 0, null, function* () { const tooltip = document.querySelector(".bountifulBeanstalkCastleView__plinthOverlay.mousehuntTooltipParent .mousehuntTooltip"); if (!tooltip) { return; } tooltip.addEventListener("click", (e) => { e.preventDefault(); tooltip.classList.toggle("mh-improved-tooltip-stay-open"); }); }); funTime = () => __async(void 0, null, function* () { const meter = document.querySelector(".bountifulBeanstalkCastleView__noiseMeterFrame"); if (!meter) { return; } meter.addEventListener("click", () => { const time = 1e3; let hue = 0; const interval = setInterval(() => { if (hue >= 360) { clearInterval(interval); } hue += 1; meter.style.filter = `hue-rotate(${hue}deg)`; }, time / 360); }); }); makeGiantMoreVisible = () => __async(void 0, null, function* () { var _a, _b, _c; const background = document.querySelector(".bountifulBeanstalkCastleView__background"); if (!background) { return; } const isGiantChase = ((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestBountifulBeanstalk) == null ? void 0 : _b.castle) == null ? void 0 : _c.is_boss_chase) || false; if (isGiantChase) { background.classList.add("is-boss-chase"); } else { background.classList.remove("is-boss-chase"); } }); toggleFuelWithIcon = () => __async(void 0, null, function* () { const icon = document.querySelector(".headsUpDisplayBountifulBeanstalkView__fuelContainer"); if (!icon) { return; } const button = document.querySelector(".headsUpDisplayBountifulBeanstalkView__fuelToggleButton"); if (!button) { return; } icon.addEventListener("click", () => { button.click(); }); }); updateLootText = () => __async(void 0, null, function* () { const ccLoot = document.querySelector(".headsUpDisplayBountifulBeanstalkView__multiplier.headsUpDisplayBountifulBeanstalkView__multiplier--condensed_creativity div"); if (ccLoot) { ccLoot.innerText = "Con. Creativity:"; } const featherLoot = document.querySelector(".headsUpDisplayBountifulBeanstalkView__multiplier.headsUpDisplayBountifulBeanstalkView__multiplier--feather div"); if (featherLoot) { featherLoot.innerText = "Golden Feather:"; } }); baitAmounts = { beanster_cheese: { amounts: ["160-normal", 160], shop: "beanster_pack_small_convertible", shopNormal: "beanster_cheese" }, lavish_beanster_cheese: { amounts: [4, 8, 80], shop: "lavish_beanster_pack_small_convertible" }, leaping_lavish_beanster_cheese: { amounts: [2, 4, 8], shop: "leaping_lavish_beanster_pack_small_convertible" }, royal_beanster_cheese: { amounts: [2, 18, 20], shop: "royal_beanster_pack_small_convertible" } }; addCraftingButtons = () => __async(void 0, null, function* () { const baits = document.querySelectorAll(".headsUpDisplayBountifulBeanstalkView__baitCraftableContainer"); if (!baits) { return; } const purchaseBait = (shopItem, quantity, popup) => __async(void 0, null, function* () { popup.classList.add("loading"); const results = yield doRequest("managers/ajax/purchases/itempurchase.php", { type: shopItem, quantity, buy: 1, is_kings_cart_item: 0 }); results.inventory = results.inventory || {}; results.items = results.items || {}; const newInventoryQuantities = Object.keys(results.inventory).reduce((acc, key) => { acc[key] = results.inventory[key].quantity; return acc; }, {}); const newItemsQuantities = Object.keys(results.items).reduce((acc, key) => { acc[key] = results.items[key].num_owned; return acc; }, {}); const newQuantities = __spreadValues(__spreadValues({}, newInventoryQuantities), newItemsQuantities); baits.forEach((bait) => { const baitQuantity = bait.querySelector(".headsUpDisplayBountifulBeanstalkView__baitQuantity"); if (!baitQuantity) { return; } const baitQuantityType = baitQuantity.getAttribute("data-item-type"); if (baitQuantityType && newQuantities[baitQuantityType]) { baitQuantity.innerText = newQuantities[baitQuantityType].toLocaleString(); } const baitCraftQty = bait.querySelector(".headsUpDisplayBountifulBeanstalkView__ingredientQuantity"); if (!baitCraftQty) { return; } const baitIngredientType = baitCraftQty.getAttribute("data-item-type"); if (baitIngredientType && newQuantities[baitIngredientType]) { baitCraftQty.innerText = newQuantities[baitIngredientType].toLocaleString(); } }); popup.classList.remove("loading"); popup.classList.add("success"); setTimeout(() => { popup.classList.remove("success"); }, 1e3); return results && results.success; }); baits.forEach((bait) => { const quantity = bait.querySelector(".headsUpDisplayBountifulBeanstalkView__baitQuantity"); if (!quantity) { return; } const existingCraftingPopup = bait.querySelector(".mh-crafting-popup"); if (existingCraftingPopup) { return; } quantity.classList.add("mousehuntTooltipParent"); const popup = makeElement("div", ["mh-crafting-popup"]); const existingPopup = bait.querySelector(".mousehuntTooltip"); if (existingPopup) { existingPopup.classList.remove("noEvents"); } else { popup.classList.add("mousehuntTooltip", "tight", "top"); } const actions = makeElement("div", "mh-crafting-actions"); const baitType = bait.getAttribute("data-item-type"); const amounts = baitAmounts[baitType].amounts; for (const amount of amounts) { const isNormal = amount.toString().includes("-normal"); let qty = isNormal ? amount.toString().replace("-normal", "") : amount; if (!isNormal) { qty = qty / 2; } const className = isNormal ? "mh-crafting-action" : "mh-crafting-action lightBlue"; const title = isNormal ? `Craft ${amount}` : `Craft ${amount} using Magic Essence`; const type = isNormal ? baitAmounts[baitType].shopNormal : baitAmounts[baitType].shop; makeMhButton({ text: `Craft ${qty}`, className, title, size: "tiny", callback: () => { purchaseBait(type, qty, popup); }, appendTo: actions }); } popup.append(actions); if (existingPopup) { existingPopup.insertBefore(popup, existingPopup.lastChild); } else { bait.append(popup); } }); }); bountiful_beanstalk_default2 = () => __async(void 0, null, function* () { const stylesToAdd = [styles_default63, styles_default64]; if (getFlag("flip-bountiful-beanstalk-avatar")) { stylesToAdd.push(".bountifulBeanstalkCastleView__playerMarkerUserThumb { transform: scaleX(-1); }"); } if (getSetting("location-huds.bountiful-beanstalk-invetory-in-one-row", false)) { stylesToAdd.push(small_inv_default); } addHudStyles(stylesToAdd); keepInventoryToggled(); keepRoomDataToggled(); keepTooltipToggled(); makeGiantMoreVisible(); toggleFuelWithIcon(); updateLootText(); addCraftingButtons(); funTime(); onTurn(makeGiantMoreVisible, 1e3); }); } }); // src/modules/location-huds/calm-clearing/index.js var calm_clearing_default; var init_calm_clearing = __esm({ "src/modules/location-huds/calm-clearing/index.js"() { init_cheese_selectors(); calm_clearing_default = () => __async(void 0, null, function* () { cheese_selectors_default("calm-clearing", ["cherry_cheese"]); }); } }); // src/modules/location-huds/cape-clawed/index.js var cape_clawed_default; var init_cape_clawed = __esm({ "src/modules/location-huds/cape-clawed/index.js"() { init_cheese_selectors(); cape_clawed_default = () => __async(void 0, null, function* () { cheese_selectors_default("cape-clawed", [ "shell_cheese", "gumbo_cheese", "crunchy_cheese" ]); }); } }); // src/modules/location-huds/catacombs/index.js var catacombs_default; var init_catacombs = __esm({ "src/modules/location-huds/catacombs/index.js"() { init_cheese_selectors(); catacombs_default = () => __async(void 0, null, function* () { cheese_selectors_default("catacombs", [ "ancient_cheese", "undead_emmental_cheese", "string_undead_emmental_cheese", "radioactive_blue_cheese", "super_radioactive_blue_cheese", "magical_radioactive_blue_cheese", "moon_cheese", "crescent_cheese" ]); }); } }); // src/modules/location-huds/claw-shot-city/styles.css var styles_default65; var init_styles66 = __esm({ "src/modules/location-huds/claw-shot-city/styles.css"() { styles_default65 = ".clawShotCityHud .gangs_caught,.clawShotCityHud .fools_gold_quantity{font-size:27px;color:#e7c37d}\n"; } }); // src/modules/location-huds/claw-shot-city/index.js var claw_shot_city_default; var init_claw_shot_city = __esm({ "src/modules/location-huds/claw-shot-city/index.js"() { init_utils2(); init_styles66(); claw_shot_city_default = () => __async(void 0, null, function* () { addHudStyles(styles_default65); }); } }); // src/modules/location-huds/derr-dunes/index.js var derr_dunes_default; var init_derr_dunes = __esm({ "src/modules/location-huds/derr-dunes/index.js"() { init_cheese_selectors(); derr_dunes_default = () => __async(void 0, null, function* () { cheese_selectors_default("derr-dunes", ["crunchy_cheese"]); }); } }); // src/modules/location-huds/desert-city/styles.css var styles_default66; var init_styles67 = __esm({ "src/modules/location-huds/desert-city/styles.css"() { styles_default66 = '.muridaeMarketHud .quantity{display:flex;align-items:center;height:16px;margin-top:1px;font-size:14px;color:#e3d0b2;text-shadow:1px 1px 2px #533a20}.muridaeMarketHud .shop .visit{top:0;height:166px}.muridaeMarketHud .shop:hover .visit:after{position:absolute;right:3px;bottom:78px;left:4px;width:unset;font-size:11px;font-weight:700;color:#efdfc4;text-align:center;text-shadow:1px 1px 4px #52381f;text-transform:uppercase;content:"Visit";background-color:#aa855c99;border-bottom-right-radius:7px;border-bottom-left-radius:8px}.muridaeMarketHud .shop:hover{filter:drop-shadow(0 1px 2px #e7d6ba)}\n'; } }); // src/modules/location-huds/desert-city/index.js var desert_city_default; var init_desert_city = __esm({ "src/modules/location-huds/desert-city/index.js"() { init_utils2(); init_styles67(); desert_city_default = () => __async(void 0, null, function* () { addHudStyles(styles_default66); }); } }); // src/modules/location-huds/desert-warpath/styles.css var styles_default67; var init_styles68 = __esm({ "src/modules/location-huds/desert-warpath/styles.css"() { styles_default67 = '.warpathHUD.wave_1:after,.warpathHUD.wave_2:after,.warpathHUD.wave_3:after,.warpathHUD.wave_4:after{position:absolute;bottom:1px;left:5px;display:flex;align-items:center;width:53px;height:25px;font-size:15px;color:#f5d172;content:"Wave";background-color:#633e29;border-top-left-radius:4px;border-top-right-radius:4px;box-shadow:inset 0 -2px 2px -1px #3e2417}.warpathHUD.wave_1:after{content:"Wave 1"}.warpathHUD.wave_2:after{content:"Wave 2"}.warpathHUD.wave_3:after{content:"Wave 3"}.warpathHUD.wave_4:after{content:"Wave 4"}.warpathHUD-streak-quantity{top:1px;left:60px;width:17px;padding:2px;font-size:16px;color:#f5d172;background-color:#633e29;border-radius:2px;box-shadow:inset -2px 1px 2px #af7756}.warpathHUD-clearWaveQuantity.quantity{top:46px;left:8px;padding:2px;font-size:13px;font-weight:400;background-color:#49362b;border-radius:10px;box-shadow:0 0 1px 1px inset #38281d}.warpathHUD-wave-mouse-population{position:absolute;bottom:-3px;left:-3px;width:70px;height:25px;font-size:15px;line-height:20px;background:url(https://www.mousehuntgame.com/images/ui/hud/desert_warpath/desert_warpath_opponent.png) no-repeat bottom center / 75px;border-radius:20px}.warpathHUD-wave-mouse.mousehuntTooltipParent.active.laser_targetted{color:#ff824c;filter:drop-shadow(0 -2px 3px #ea4700)}.warpathHUD-wave-mouse-powerType{width:30px;height:30px;margin-top:0}.warpathHUD-wave-mouse .mousehuntTooltip.tight.top{height:33px;color:transparent}.warpathHUD-wave-mouse .mousehuntTooltip .warpathHUD-wave-mouse-name{line-height:34px;color:#000}.warpathHUD-wave-mouse .mousehuntTooltip.hasCharms .warpathHUD-wave-mouse-name{height:33px;line-height:2.5}.warpathHUD-wave-mouse.desert_general .mousehuntTooltip .warpathHUD-wave-mouse-name,.warpathHUD-wave-mouse.desert_supply .mousehuntTooltip .warpathHUD-wave-mouse-name{text-align:center}.warpathHUD-wave-mouse.desert_general .mousehuntTooltip .warpathHUD-wave-mouse-name{line-height:28px}.warpathHUD-streakContainer:before{background:linear-gradient(0deg,#2ffd2d 50%,#f7f718,#c32222);filter:brightness(.8)}.warpathHUD-streak-image-empty{font-weight:900;box-shadow:inset 0 0 10px 5px #2f1816}.warpathHUD-wave-mouse.laser_targetted .warpathHUD-wave-mouse-image{box-shadow:inset 0 0 10px 6px #ff824c}.warpathHUD-waveContainer.warpathHUD-engaged .warpathHUD-wave{border-radius:5px;box-shadow:inset 0 0 10px 4px #fc4848}.warpathHUD-engaged .warpathHUD-wave-mouse .mousehuntTooltip.tight.top{display:none}.warpathHud-missle-activate{position:absolute;top:-15px;left:-150px;cursor:pointer;opacity:.4;transition:.3s;transform:rotate(270deg) scale(.8);animation:none}.wave_4 .warpathHud-missle-activate{left:-26px}.warpathHud-missle-activate:hover{opacity:1;transform:rotate(270deg) scale(1)}.warpathHUD-engaged .warpathHud-missle-activate{filter:hue-rotate(281deg);opacity:.9}.warpathHUD-streakContainer.streak_0 .warpathHUD-streak-image-empty{color:transparent;text-shadow:none}.warpathHUD-streak-victories{top:36px;left:7px;z-index:1;width:43px;height:18px;font-size:12px;line-height:18px;text-align:center;background-color:#000;border-radius:3px;box-shadow:inset 1px 0 2px 1px #633e2a,inset 1px 0 2px 1px #8f5d42}.warpathHUD-enterPortalButton.disabled{opacity:.6;transition:opacity .3s ease-in}.warpathHUD-enterPortalButton.disabled:hover{opacity:1}.warpathHUD-wave-mouse-image{outline:1px solid #915931}.warpathHUD-wave-mouse:hover .warpathHUD-wave-mouse-image{outline:1px solid #e1ae3e}.warpathHUD-streakContainer.streak_7 .warpathHUD-streak-quantity{animation:.9s quesoGesyerBackgroundFlare 10}@media (prefers-reduced-motion: reduce){.warpathHUD-streakContainer.streak_7 .warpathHUD-streak-quantity{animation:none}}\n'; } }); // src/modules/location-huds/desert-warpath/index.js var engaged, addMissiles, desert_warpath_default; var init_desert_warpath2 = __esm({ "src/modules/location-huds/desert-warpath/index.js"() { init_utils2(); init_styles68(); engaged = false; addMissiles = () => { const container = document.querySelector(".warpathHUD-waveContainer"); if (!container) { return; } const trigger = makeElement("div", ["warpathHud-missle-activate", "warpathHUD-missile"]); container.append(trigger); trigger.addEventListener("click", () => { engaged = !engaged; if (engaged) { container.classList.add("warpathHUD-engaged"); } else { container.classList.remove("warpathHUD-engaged"); } }); const launchMissile = (event) => { if (!container.classList.contains("warpathHUD-engaged")) { return; } if (event.target.classList.contains("warpathHUD-missile")) { return; } if (!engaged) { return; } let x = event.clientX ? event.clientX - container.getBoundingClientRect().left : Math.floor(Math.random() * container.getBoundingClientRect().width); x += Math.floor(Math.random() * 50) - 25; hg.views.HeadsUpDisplayDesertWarpathView.spawnMissile(x, 1); let missile; setTimeout(() => { missile = container.querySelectorAll('.warpathHUD-missile[style*="left: ' + x + 'px"]'); if (!missile || missile.length === 0) { return; } missile.forEach((m) => { setTimeout(() => { m.classList.add("mh-ui-fade"); }, 50); setTimeout(() => { m.classList.add("mh-ui-fade-out"); }, 100); setTimeout(() => { m.remove(); }, 500); }); }, 700); }; container.addEventListener("click", launchMissile); }; desert_warpath_default = () => __async(void 0, null, function* () { addHudStyles(styles_default67); addMissiles(); }); } }); // src/modules/location-huds/dojo/index.js var dojo_default; var init_dojo = __esm({ "src/modules/location-huds/dojo/index.js"() { init_cheese_selectors(); dojo_default = () => __async(void 0, null, function* () { cheese_selectors_default("dojo", ["maki_cheese"]); }); } }); // src/modules/location-huds/dracano/index.js var dracano_default; var init_dracano = __esm({ "src/modules/location-huds/dracano/index.js"() { init_cheese_selectors(); dracano_default = () => __async(void 0, null, function* () { cheese_selectors_default("dracano", ["inferno_havarti_cheese"]); }); } }); // src/modules/location-huds/elub-shore/index.js var elub_shore_default; var init_elub_shore = __esm({ "src/modules/location-huds/elub-shore/index.js"() { init_cheese_selectors(); elub_shore_default = () => __async(void 0, null, function* () { cheese_selectors_default("elub-shore", ["shell_cheese"]); }); } }); // src/modules/location-huds/floating-islands/styles.css var styles_default68; var init_styles69 = __esm({ "src/modules/location-huds/floating-islands/styles.css"() { styles_default68 = '.floatingIslandsHUD-islandLoot-label{color:transparent}.floatingIslandsHUD-islandLoot-label:before{position:absolute;top:3px;right:3px;width:100px;font-size:13px;font-variant:small-caps;color:#e2d8b6;text-shadow:1px 1px #43311c;content:"Mice can drop"}a.floatingIslandsHUD-islandLoot{font-size:14px}.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.fog_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.frost_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.rain_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.wind_shrine:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_a:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_b:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_c:first-child,.floatingIslandsAdventureBoardSkyMap-islandMod .floatingIslandsHUD-mod.paragon_cache_d:first-child{background-position-y:0;border-radius:3px;box-shadow:0 0 13px 3px gold inset}.floatingIslandsHUD-modPanel.fog_shrine:hover:before,.floatingIslandsHUD-modPanel.frost_shrine:hover:before,.floatingIslandsHUD-modPanel.rain_shrine:hover:before,.floatingIslandsHUD-modPanel.wind_shrine:hover:before{position:absolute;right:7px;bottom:6px;left:7px;z-index:1;display:flex;justify-content:center;height:auto;padding:1px;font-size:16px;font-variant:small-caps;color:#0c3e0e;text-shadow:none;white-space:nowrap;content:"";background-color:#d1e19d}.floatingIslandsHUD-modPanel.fog_shrine:hover:before{content:"Fog"}.floatingIslandsHUD-modPanel.frost_shrine:hover:before{content:"Frost"}.floatingIslandsHUD-modPanel.rain_shrine:hover:before{content:"Rain"}.floatingIslandsHUD-modPanel.wind_shrine:hover:before{content:"Wind"}span.floatingIslandsHUD-huntsRemaining{position:absolute;top:6px;right:6px;padding:2px 4px;font-size:16px}.floatingIslandsHUD-huntsRemainingContainer{top:-1px}.floatingIslandsHUD-islandTitle{top:-3px;font-size:15px;text-shadow:none}.floatingIslandsHUD-bait-quantity,.floatingIslandsHUD-bait-craftingItem-quantity{padding-right:4px;font-size:11px}.floatingIslandsHUD-craftingItem-quantity.quantity{font-size:13px}.floatingIslandsHUD-craftingItem.show-progress .floatingIslandsHUD-craftingItem-quantity.quantity{font-size:11px}.floatingIslandsHUD.island .floatingIslandsHUD-airshipContainer{top:70px;left:524px;z-index:3;filter:drop-shadow(0 0 6px #fbe7a4);transform:scale(2)}.floatingIslandsWorkshop-part-name{display:flex;align-items:center;justify-content:center;width:70%;height:15px;font-size:11px;text-shadow:none}.floatingIslandsHUD-fuel-quantity.quantity{top:31px;right:0;left:0;width:auto;padding:4px;margin-right:8px;margin-left:7px;font-size:14px;pointer-events:none;background:linear-gradient(218deg,#7baabd,#568295);border-radius:3px;box-shadow:inset 0 0 2px 2px #09577f,0 2px 8px 1px #78aabd}.floatingIslandsHUD-fuel-quantity.quantity:hover,.floatingIslandsHUD-fuel-quantity.quantity:focus{cursor:pointer}.floatingIslandsHUD-fuel-quantity.quantity.active{background:linear-gradient(218deg,#0e8eeb,#28eeff);box-shadow:0 0 2px 2px #09577f inset,0 2px 7px 1px #37feff}.floatingIslandsHUD-retreatButton,.floatingIslandsHUD-retreatButton.disabled,.floatingIslandsHUD.enemyActive .floatingIslandsHUD-retreatButton{margin-top:-1px;color:#b0a06c!important;background-color:transparent;border:none;border-radius:0}.floatingIslandsHUD-retreatButton:hover,.floatingIslandsHUD-retreatButton.disabled:hover,.floatingIslandsHUD.enemyActive .floatingIslandsHUD-retreatButton:hover,.floatingIslandsHUD-retreatButton:focus,.floatingIslandsHUD-retreatButton.disabled:focus,.floatingIslandsHUD.enemyActive .floatingIslandsHUD-retreatButton:focus{color:#fce698!important;background:none}.floatingIslandsHUD-craftingItem-quantity.quantity,.floatingIslandsHUD-islandLoot,.floatingIslandsHUD-modPanel-effect{text-shadow:1px 1px 1px #242424}.floatingIslandsHUD-modPanel.active .floatingIslandsHUD-modPanel-effect,.floatingIslandsHUD-modPanel.complete .floatingIslandsHUD-modPanel-effect{text-shadow:1px 1px 1px #9ab59a}.mh-ui-fi-enemy-countdown{position:absolute;top:0;bottom:-3px;left:-1px;z-index:4;width:auto;min-width:70px;padding-right:2px;padding-left:4px;line-height:29px;white-space:nowrap;background-color:#51250a;border-radius:6px 5px 5px 0;box-shadow:1px 0 0 1px #b2630e,inset 1px 0 0 1px #7d5430}span.mh-ui-fi-enemy-countdown-hunts{font-size:14px;color:#fbe296;text-shadow:1px 1px 1px #000;vertical-align:top}.mh-ui-fi-enemy-name{position:absolute;top:33px;right:24px;left:26px;height:12px;padding:0;margin:0;font-size:12px;font-weight:500;line-height:4px;text-align:center;background:linear-gradient(90deg,#ecc37d,#fde89a 18% 64%,#f2cf86);border:1px solid #b15d18;border-top:none;border-radius:0 0 19px 19px;box-shadow:0 1px 1px #d78c34}.floatingIslandsHUD.enemyActive .floatingIslandsHUD-enemyContainer.hasEnemy .floatingIslandsHUD-enemy-thumb{box-shadow:0 0 4px 3px #fb7660}.floatingIslandsHUD.enemyActive .floatingIslandsHUD-goalContainer .floatingIslandsHUD-enemy-state.enemyActive{color:#fb7660}.floatingIslandsHUD-fuelContainer:hover{filter:brightness(1.2)}.mousehuntTooltip{transition-delay:.5s}.floatingIslandsHUD-craftingItem.show-progress{display:flex;flex-direction:row;justify-content:flex-end;padding-right:3px}.mh-ui-fi-glore-progress{margin-left:2px;font-size:9px;text-shadow:1px 1px 1px #242424}.floatingIslandPaperDoll-mod{pointer-events:none}.floatingIslandsAdventureBoardSkyMap-rerollQuantity.quantity{font-size:13px}.floatingIslandsAdventureBoardSkyPalace-wheel-face.loot_cache.real.active{margin-left:1px;border-radius:5px;box-shadow:0 0 13px 2px gold inset}.floatingIslandsAdventureBoardSkyMap-fuel-quantity{padding:2px;margin-top:-2px;font-size:13px;background-color:#302636}.floatingIslandsAdventureBoard-paragonItem.mousehuntTooltipParent{font-size:14px}a.floatingIslandsHUD-flightLogButton.mousehuntTooltipParent{top:2px;left:490px;background-image:url(https://i.mouse.rip/upscaled/flight_log_button.png?1);background-size:cover;transform:scale(1.2);transform-origin:left}.floatingIslandsHUD.island .floatingIslandsHUD-bait.sky_cheese.skyCheeseWarning:after{top:-10px;left:-9px;width:30px;height:30px}.floatingIslandsHUD.island .floatingIslandsHUD-bait.skyCheeseWarning .floatingIslandsHUD-bait-image.sky_cheese{box-shadow:inset 0 0 10px 3px #ff1b00}.floatingIslandsHUD-enemy-tooltip .floatingIslandsHUD-wardenShrine-status{padding-left:3px;font-size:13px;text-align:center;background-position:10px 20px}a.floatingIslandsHUD-islandLoot:hover,a.floatingIslandsHUD-islandLoot:focus{z-index:5}.floatingIslandsAirship.highlight .floatingIslandsAirship-part{transform:scale(1.1) rotate(2deg)}.floatingIslandsHUD-enemyContainer:hover .floatingIslandsHUD-enemy-thumb{box-shadow:inset 1px -1px 5px 7px #fb7660}.floatingIslandsHUD-enemy-thumbContainer{overflow:hidden}.floatingIslandsAdventureBoard-info span{line-height:1.5}.floatingIslandsHUD-jetstream{position:absolute;top:15px;right:15px;z-index:10;width:30px;height:30px}.launch_pad_island .floatingIslandsHUD-jetstream{top:12px;right:47px}.floatingIslandsHUD-jetstream .trapImageView-trapAura.active{width:30px;height:30px;margin:0;opacity:.5}.floatingIslandsHUD-jetstream .trapImageView-trapAura.active:hover{opacity:1}.floatingIslandsHUD-jetstream .trapImageView-trapAura.active .mousehuntTooltip{top:-20px;left:-250px;z-index:15;width:235px}.floatingIslandsHUD-jetstream-time{position:absolute;top:-20px;right:0;width:auto;min-width:100px;font-size:13px;color:#71d0ff;text-align:right}.floatingIslandsHUD-inventoryBag-item .floatingIslandsHUD-item-image,.floatingIslandsHUD-inventoryBag-item.active .floatingIslandsHUD-item-image{height:50px;background-color:transparent;border:none;box-shadow:none;transition:.2s ease-in}.floatingIslandsHUD-inventoryBag-item:hover .floatingIslandsHUD-item-image{background-size:55px}.inventoryBag .floatingIslandsHUD-inventoryBag-item-quantity.quantity{top:35px;padding:2px;font-size:12px;box-shadow:0 0 100px #fffc inset,0 0 2px #333}.floatingIslandsHUD-statItem-quantity{z-index:1;box-shadow:0 0 100px #ffffffcf inset,0 0 2px #333}.inventoryBag .floatingIslandsHUD-inventoryBag-item-name{margin:5px 0;font-size:10px}.floatingIslandPaperDoll-mod.sky_pirates.level_1{animation:dirigibleFloat 5s infinite}.floatingIslandsWorkshop-dirigiblePreview .floatingIslandsAirship:before{position:absolute;top:45px;right:-10px;left:-30px;display:block;height:170px;overflow:hidden;content:"";background:url(https://i.mouse.rip/airship-shadow.png) no-repeat;background-position:bottom center;background-size:190px;opacity:.2;transform:perspective(600px) rotateX(67deg)}.floatingIslandsWorkshop-dirigiblePreview .floatingIslandsAirship.animate:before{animation:mh-improved-dirigible-float-shadow 2s infinite}@keyframes mh-improved-dirigible-float-shadow{0%{top:45px;background-size:180px}50%{top:40px;background-size:190px}to{top:45px;background-size:180px}}@media (prefers-reduced-motion: reduce){.floatingIslandPaperDoll-mod{animation:none}.floatingIslandsWorkshop-dirigiblePreview .floatingIslandsAirship:before{animation:none}}.floatingIslandsHUD-warningContainer{top:20px;left:548px}.floatingIslandsHUD-statItemContainer{left:250px;justify-content:space-evenly;width:335px}.floatingIslandsHUD-statItem.active{display:flex;flex-direction:column;align-items:center}.floatingIslandsHUD-bait-image{inset:1px;background-repeat:no-repeat;background-size:32px;box-shadow:1px 1px 1px #b75d06 inset,1px 1px 1px #b75d06 inset}a.floatingIslandsHUD-bait-image:hover{background-size:32px;box-shadow:0 0 2px 2px #10ff00 inset}.floatingIslandsHUD-bait-craftingItem-image{background-repeat:no-repeat;background-position:1px 2px;background-size:23px;box-shadow:1px 1px 1px #b75d06 inset,1px 1px 1px #b75d06 inset,1px -1px 1px #b75d06 inset}.sky_pirate_cheese .floatingIslandsHUD-bait-craftingItem-image{background-position:1px 0;background-size:22px;box-shadow:1px 1px 1px #b75d06 inset,1px 1px 1px #b75d06 inset}.floatingIslandsHUD-bait.sky_cheese.extra_rich_sky_cheese .floatingIslandsHUD-bait-craftingItem-image{top:24px}.floatingIslandsHUD-bait.sky_cheese.extra_rich_sky_cheese .floatingIslandsHUD-bait-image.extra_rich_sky_cheese{background-position:3px 4px;background-size:29px}.floatingIslandsWorkshop-dirigiblePreview .floatingIslandsAirship-part{top:-10px;background-repeat:no-repeat}.floatingIslandsWorkshop-part.active .floatingIslandsWorkshop-part-border,.floatingIslandsWorkshop-part:hover .floatingIslandsWorkshop-part-border{background-color:#fcfcef;border:1px solid #edd28a}.floatingIslandsWorkshop-part.active{order:-1}.floatingIslandsWorkshop-part.active .floatingIslandsWorkshop-part-border:after{border-width:2px}.floatingIslandsWorkshop-part-state.active .mousehuntActionButton.selected,.floatingIslandsWorkshop-part-state.active .mousehuntActionButton.selected:before{background:none;border:none;box-shadow:none}.floatingIslandsWorkshop-part-state.active .mousehuntActionButton span{font-style:normal}.floatingIslandsWorkshop-part .floatingIslandsWorkshop-part-border{border:1px solid #edd28a;box-shadow:inset 0 -1px 5px 2px #edd28a}.floatingIslandsWorkshop-part-state .mousehuntActionButton.lightBlue{box-shadow:none}.floatingIslandsWorkshop-part{display:flex;flex-direction:column;align-items:center;margin-bottom:10px}.floatingIslandsHUD .floatingIslandsHUD-enemyContainer.hasEnemy:hover .floatingIslandsHUD-enemy-thumb{transform:scale(1.3)}.floatingIslandsHUD .floatingIslandsHUD-enemyContainer.hasEnemy:active .floatingIslandsHUD-enemy-thumb{transform:scale(1.3) rotate(360deg)}.floatingIslandsHUD .floatingIslandsHUD-enemyContainer.hasEnemy .floatingIslandsHUD-enemy-thumb{transition:.4s ease-in}.floatingIslandsHUD-modPanelTooltip-islandEffects.active .floatingIslandsHUD-modPanelTooltip-effectContainer.specialEffect:after,.floatingIslandsHUD-modPanelTooltip-islandEffects.active .floatingIslandsHUD-modPanelTooltip-effectContainer.reward:after,.floatingIslandsHUD-modPanelTooltip-islandEffects.complete .floatingIslandsHUD-modPanelTooltip-effectContainer.specialEffect:after,.floatingIslandsHUD-modPanelTooltip-islandEffects.complete .floatingIslandsHUD-modPanelTooltip-effectContainer.reward:after,.floatingIslandsHUD-modPanelTooltip-islandEffects.complete .floatingIslandsHUD-modPanelTooltip-effectContainer.oneTimeReward:after{bottom:3px}.floatingIslandsHUD-modPanelTooltip-effect{font-size:12px;text-align:center}.floatingIslandsHUD-item-image.cloud_curd_crafting_item{background-position:50% 10%;background-size:30px}.floatingIslandsHUD-modPanelTooltip .floatingIslandsHUD-item-image.cloud_curd_crafting_item{background-position:50% 2px}.floatingIslandsHUD-bait.sky_cheese.extra_rich_sky_cheese .floatingIslandsHUD-bait-quantity.sky_cheese{top:8px}.floatingIslandsHUD-navigationButtons.showSkyPalace .floatingIslandsHUD-skyPalaceFuel .quantity{font-size:13px}.floatingIslandsAdventureBoardSkyMap-rerollButton{animation:mh-improved-fade-busy 3s 1}.floatingIslandsAdventureBoardSkyMap-rerollButton.busy{pointer-events:none;animation:none}.floatingIslandsHUD-modPanel.highlight:after{border:1px solid #f5d98d;box-shadow:0 0 3px 3px #ffdcbe inset}.floatingIslandsHUD-modPanelTooltip-effect-label{color:#f4d78c;text-align:center;text-shadow:1px 1px 1px #754426}\n'; } }); // src/modules/location-huds/floating-islands/index.js var import_humanize_duration2, humanizer2, toggleFuelClass, toggleFuel, addBossCountdown, addEnemyClass, getNextOcUpgradeCost, showGloreProgress, onSkyMapShow, showBWReminder, maybeChangeWarning, updateJetstreamTime, jsClone, showJetstream, makeAirshipDraggable, run, hud, floating_islands_default3; var init_floating_islands3 = __esm({ "src/modules/location-huds/floating-islands/index.js"() { import_humanize_duration2 = __toESM(require_humanize_duration()); init_utils2(); init_styles69(); humanizer2 = import_humanize_duration2.default.humanizer({ language: "shortEn", languages: { shortEn: { y: () => "y", mo: () => "mo", w: () => "w", d: () => "d", h: () => "h", m: () => "m", s: () => "s", ms: () => "ms" } } }); toggleFuelClass = (fuelCount, isActive) => { if (isActive) { fuelCount.classList.remove("active"); } else { fuelCount.classList.add("active"); } }; toggleFuel = (skip = false) => { var _a, _b, _c; const fuel = document.querySelector(".floatingIslandsHUD-fuel-button"); if (!fuel) { return; } const fuelCount = document.querySelector(".floatingIslandsHUD-fuel-quantity"); if (!fuelCount) { return; } const enabled = ((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) == null ? void 0 : _c.is_fuel_enabled) || false; if (enabled) { fuelCount.classList.add("active"); } else { fuelCount.classList.remove("active"); } if (skip) { return; } fuel.addEventListener("click", (e) => { toggleFuelClass(fuelCount, e.target.classList.contains("active")); hg.views.HeadsUpDisplayFloatingIslandsView.toggleFuel(fuel); }); }; addBossCountdown = () => __async(void 0, null, function* () { var _a, _b, _c; const existing = document.querySelector(".mh-ui-fi-enemy-countdown"); if (existing) { existing.remove(); } const atts = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) || {}; if (!atts.has_enemy) { return; } let name = ((_c = atts.enemy) == null ? void 0 : _c.abbreviated_name) || "Enemy"; name = name.split(" ")[0]; const huntsRemaining = atts.enemy_encounter_hunts_remaining || 0; const bossCountdown = document.createElement("div"); bossCountdown.classList.add("mh-ui-fi-enemy-countdown"); makeElement("span", "mh-ui-fi-enemy-countdown-name", name, bossCountdown); makeElement("span", "mh-ui-fi-enemy-countdown-in", " in ", bossCountdown); makeElement("span", "mh-ui-fi-enemy-countdown-hunts", huntsRemaining, bossCountdown); const isEnemyActiveOrDefeated = atts.has_encountered_enemy || atts.has_defeated_enemy; if (isEnemyActiveOrDefeated) { return; } let goalContainer = document.querySelector(".floatingIslandsHUD-goalContainer"); if (goalContainer) { goalContainer.append(bossCountdown); return; } let tries = 0; const maxTries = 10; const interval = setInterval(() => { goalContainer = document.querySelector(".floatingIslandsHUD-goalContainer"); if (goalContainer) { goalContainer.append(bossCountdown); clearInterval(interval); } tries += 1; if (tries >= maxTries) { clearInterval(interval); } }, 1e3 * tries); }); addEnemyClass = () => __async(void 0, null, function* () { var _a, _b, _c, _d, _e, _f, _g, _h; const name = ((_d = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) == null ? void 0 : _c.enemy) == null ? void 0 : _d.name) || false; const type = ((_h = (_g = (_f = (_e = user == null ? void 0 : user.quests) == null ? void 0 : _e.QuestFloatingIslands) == null ? void 0 : _f.hunting_site_atts) == null ? void 0 : _g.enemy) == null ? void 0 : _h.type) || false; if (!name || !type) { return; } const exists = document.querySelector(".mh-ui-fi-enemy-name"); if (exists) { exists.innerText = name; } else { const enemyContainer = document.querySelector(".floatingIslandsHUD-islandTitle"); if (!enemyContainer) { return; } makeElement("div", "mh-ui-fi-enemy-name", name, enemyContainer); } }); getNextOcUpgradeCost = (ocLevel) => { switch (Number.parseInt(ocLevel, 10)) { case 1: return "35"; case 2: return "150"; case 3: return "500"; case 4: return "1.2k"; case 5: return "2k"; case 6: return "3.5k"; case 7: return "8k"; case 8: return "10k"; default: return false; } }; showGloreProgress = () => __async(void 0, null, function* () { var _a, _b, _c; const items2 = yield getUserItems(["floating_islands_cloud_gem_stat_item", "floating_islands_sky_ore_stat_item"]); if (!(items2 && items2.length)) { return; } const glass = document.querySelector(".floatingIslandsHUD-craftingItem.floating_islands_cloud_gem_stat_item"); const ore = document.querySelector(".floatingIslandsHUD-craftingItem.floating_islands_sky_ore_stat_item"); if (!glass || !ore) { return; } const existing = document.querySelectorAll(".mh-ui-fi-glore-progress"); if (existing && existing.length) { existing.forEach((el) => { el.remove(); }); } const nextUpgrade = getNextOcUpgradeCost(((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.airship) == null ? void 0 : _c.oculus_level) || 0); if (!nextUpgrade) { return; } makeElement("div", "mh-ui-fi-glore-progress", ` / ${nextUpgrade}`, glass); glass.classList.add("show-progress"); makeElement("div", "mh-ui-fi-glore-progress", ` / ${nextUpgrade}`, ore); ore.classList.add("show-progress"); }); onSkyMapShow = () => { const roll = document.querySelector(".floatingIslandsAdventureBoardSkyMap-rerollButton"); if (!roll) { return; } roll.addEventListener("click", () => { roll.classList.add("disabled"); roll.classList.add("no-click"); setTimeout(() => { roll.classList.remove("disabled"); roll.classList.remove("no-click"); }, 300); }); }; showBWReminder = () => { var _a, _b, _c, _d, _e, _f, _g, _h; const isStart = ((_b = (_a = user.enviroment_atts) == null ? void 0 : _a.hunting_site_atts) == null ? void 0 : _b.hunts_remaining) === 75 && ((_c = user.enviroment_atts) == null ? void 0 : _c.on_island); const bwOff = !((_e = (_d = user.enviroment_atts) == null ? void 0 : _d.hunting_site_atts) == null ? void 0 : _e.is_fuel_enabled); const bw = ((_h = (_g = (_f = user.enviroment_atts) == null ? void 0 : _f.items) == null ? void 0 : _g.bottled_wind_stat_item) == null ? void 0 : _h.quantity) || "0"; const hasBw = Number.parseInt(bw.toString().replaceAll(",", ""), 10) >= 50; if (isStart && bwOff && hasBw) { showHornMessage({ title: "Bottled Wind Reminder", text: "Don't forget to activate your Bottled Wind!", button: "Activate", action: () => { setTimeout(() => { const button = document.querySelector(".floatingIslandsHUD-fuel-button"); if (button) { button.click(); } }, 750); }, dismiss: 4e3, image: "https://www.mousehuntgame.com/images/ui/hud/floating_islands/items/bottled_wind_stat_item.png" }); } }; maybeChangeWarning = () => __async(void 0, null, function* () { var _a, _b, _c, _d, _e, _f, _g, _h, _i; const isLAI = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.hunting_site_atts) == null ? void 0 : _c.is_low_tier_island; const isAtBoss = ((_f = (_e = (_d = user == null ? void 0 : user.quests) == null ? void 0 : _d.QuestFloatingIslands) == null ? void 0 : _e.hunting_site_atts) == null ? void 0 : _f.has_encountered_enemy) && !((_i = (_h = (_g = user == null ? void 0 : user.quests) == null ? void 0 : _g.QuestFloatingIslands) == null ? void 0 : _h.hunting_site_atts) == null ? void 0 : _i.has_defeated_enemy); if (!isLAI || !isAtBoss) { return; } const bossWarning = document.querySelector(".floatingIslandsHUD-warning.floatingIslandsHUD-powerTypeWarning.active"); if (bossWarning) { bossWarning.innerHTML = "Use your most powerful setup!"; } }); updateJetstreamTime = () => __async(void 0, null, function* () { var _a, _b; const container = document.querySelector(".floatingIslandsHUD-jetstream-time"); if (!container) { return; } if (!((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.jet_stream_active)) { container.innerHTML = ""; return; } const expiry = document.querySelector(".floatingIslandsHUD-jetstream .trapImageView-tooltip-trapAura-expiry span"); if (!expiry) { container.innerHTML = ""; return; } const dateParts = expiry.innerText.split(" "); if (!dateParts.length || dateParts.length < 5) { container.innerHTML = ""; return; } const month = dateParts[0]; const day = dateParts[1].replace(",", ""); const year = dateParts[2]; const timeParts = dateParts[4].split(":"); let hours = Number.parseInt(timeParts[0]); const minutes = timeParts[1].slice(0, 2); if (dateParts[4].includes("pm") && hours !== 12) { hours += 12; } else if (dateParts[4].includes("am") && hours === 12) { hours = 0; } const expiryDate = Date.parse(`${month} ${day}, ${year} ${hours}:${minutes}`); if (Number.isNaN(expiryDate)) { return; } const now = /* @__PURE__ */ new Date(); const timeRemaining = expiryDate - now; const duration = humanizer2(timeRemaining, { round: true, units: ["d", "h", "m"], spacer: "", delimiter: " " }); if (container.innerText === duration) { return; } container.innerText = duration; }); showJetstream = () => __async(void 0, null, function* () { var _a, _b; const exists = document.querySelector(".floatingIslandsHUD-jetstream"); if (exists) { exists.remove(); } if (!((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFloatingIslands) == null ? void 0 : _b.jet_stream_active)) { return; } const existing = document.querySelector(".floatingIslandsHUD-jetstream"); if (existing) { return; } const container = document.querySelector(".floatingIslandsHUD"); if (!container) { return; } let hudAura; if ("camp" === getCurrentPage()) { const aura = document.querySelector(".trapImageView-trapAura.mousehuntTooltipParent.QuestJetStreamAura.active"); if (!aura) { return; } hudAura = aura.cloneNode(true); jsClone = hudAura; } else { hudAura = jsClone; } if (!hudAura) { return; } const tooltip = hudAura.querySelector(".mousehuntTooltip"); if (tooltip) { tooltip.classList.remove("right"); tooltip.classList.add("left"); } const auraContainer = makeElement("div", "floatingIslandsHUD-jetstream"); auraContainer.append(hudAura); container.append(auraContainer); const timeRemainingEl = makeElement("div", "floatingIslandsHUD-jetstream-time"); auraContainer.append(timeRemainingEl); updateJetstreamTime(); }); makeAirshipDraggable = () => { const airship = document.querySelector(".floatingIslandsHUD.island .floatingIslandsHUD-airshipContainer"); if (!airship) { return; } let isDragging = false; let startX, startY2, startTop, startLeft; const moveAirship = (e) => { if (!isDragging) { return; } const dx = e.clientX - startX; const dy = e.clientY - startY2; airship.style.top = `${startTop + dy}px`; airship.style.left = `${startLeft + dx}px`; }; airship.addEventListener("mousedown", (e) => { e.preventDefault(); isDragging = true; startX = e.clientX; startY2 = e.clientY; startTop = airship.offsetTop; startLeft = airship.offsetLeft; document.addEventListener("mousemove", moveAirship); document.addEventListener("mouseup", () => { isDragging = false; document.removeEventListener("mousemove", moveAirship); }, { once: true }); }); }; run = () => __async(void 0, null, function* () { yield showJetstream(); yield addEnemyClass(); yield addBossCountdown(); yield maybeChangeWarning(); }); hud = () => { toggleFuel(); showGloreProgress(); run(); showBWReminder(); onTravel(() => { setTimeout(showBWReminder, 1500); }); onEvent("ajax_response", run); onEvent("horn-countdown-tick", updateJetstreamTime); onDialogShow("floatingIslandsAdventureBoard.floatingIslandsDialog.skyPalace", onSkyMapShow); onRequest("environment/floating_islands.php", (request, data) => { run(); toggleFuel(true); if ((data == null ? void 0 : data.action) === "launch") { setTimeout(() => { run(); showBWReminder(); }, 2e3); } }); }; floating_islands_default3 = () => __async(void 0, null, function* () { addHudStyles(styles_default68); hud(); if (getSetting("experiments.fi-draggable-airship")) { makeAirshipDraggable(); } }); } }); // src/modules/location-huds/forbidden-grove/styles.css var styles_default69; var init_styles70 = __esm({ "src/modules/location-huds/forbidden-grove/styles.css"() { styles_default69 = ".forbiddenGroveHUD-grovebar-timeLeft{position:absolute;top:6px;left:171px;padding:1px 11px;font-size:12px;font-weight:900;color:#5f463d;background-color:#e1d1b7;border-top-right-radius:10px;box-shadow:0 -.5px 1px 1px #e1d1b7}\n"; } }); // src/modules/location-huds/forbidden-grove/index.js var updateClosingTime2, hud2, forbidden_grove_default; var init_forbidden_grove = __esm({ "src/modules/location-huds/forbidden-grove/index.js"() { init_utils2(); init_styles70(); init_cheese_selectors(); updateClosingTime2 = () => { let timeLeftText = ""; const today = /* @__PURE__ */ new Date(); const rotationLength = 20; const rotationsExact = (today.getTime() / 1e3 - 1285704e3) / 3600 / rotationLength; const rotationsInteger = Math.floor(rotationsExact); const partialRotation = (rotationsExact - rotationsInteger) * rotationLength; if (partialRotation < 16) { const closes = (16 - partialRotation).toFixed(3); const hours = Math.floor(closes); const minutes = Math.ceil((closes - Math.floor(closes)) * 60); timeLeftText = `${hours}h ${minutes}m remaining`; } const timeLeftEl = document.createElement("div"); timeLeftEl.classList.add("forbiddenGroveHUD-grovebar-timeLeft"); timeLeftEl.innerText = timeLeftText; return timeLeftEl; }; hud2 = () => { if ("forbidden_grove" !== getCurrentLocation()) { return; } const hudBar = document.querySelector(".forbiddenGroveHUD-grovebar"); if (!hudBar) { return; } const existing = document.querySelector(".forbiddenGroveHUD-grovebar-timeLeft"); if (existing) { existing.remove(); } const timeLeftEl = updateClosingTime2(); hudBar.append(timeLeftEl); const timer = setInterval(updateClosingTime2, 60 * 1e3); onEvent("travel_complete", () => { clearInterval(timer); }); }; forbidden_grove_default = () => __async(void 0, null, function* () { addHudStyles(styles_default69); cheese_selectors_default("forbidden-grove", [ "ancient_cheese", "radioactive_blue_cheese", "magical_radioactive_blue_cheese", "moon_cheese", "crescent_cheese" ]); hud2(); }); } }); // src/modules/location-huds/shared/folklore-forest/index.js var saveHidden, isHidden, getToggleVisibilityMapping, toggleAllVisibility, isUnlocked, hideOrShowBlock, addToggle, addUpgradeVisibilityToggles, hasAddedUpgradeVisibilityToggles, folklore_forest_default2; var init_folklore_forest2 = __esm({ "src/modules/location-huds/shared/folklore-forest/index.js"() { init_utils2(); saveHidden = (upgradeId, isHidden2) => { const upgradeIds = getSetting("location-huds.folklore-forest-visibility-toggles", {}); upgradeIds[upgradeId] = isHidden2; saveSetting("location-huds.folklore-forest-visibility-toggles", upgradeIds); }; isHidden = (upgradeId) => { const setting = getSetting("location-huds.folklore-forest-visibility-toggles", {}); return setting[upgradeId] || false; }; getToggleVisibilityMapping = () => { return { tackle_box: ".prologuePondView-fishingBoat-paperDoll-layer.tackle_box", fridge_bait_box: ".prologuePondView-fishingBoat-paperDoll-layer.fridge_bait_box", fishing_rod: ".prologuePondView-fishingBoat-paperDoll-layer.fishing_rod", fish_net: ".prologuePondView-fishingBoat-paperDoll-layer.fish_net", fishing_line: ".prologuePondView-fishingBoat-paperDoll-layer.fishing_line", steam_reel: ".prologuePondView-fishingBoat-paperDoll-layer.steam_reel", binding_thread: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-paper", leather_cover: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-binding", edge_gilding: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-silk", gold_foil: ".tableOfContentsView-bookContainer.active .tableOfContentsView-bookImage-layer.tableOfContentsView-bookImage-goldFoil", silver_quill: "", golden_quill: "" }; }; toggleAllVisibility = () => { const mapping = getToggleVisibilityMapping(); const upgradeIds = Object.keys(mapping); if (upgradeIds.length === 0) { return; } upgradeIds.forEach((upgradeId) => { hideOrShowBlock(upgradeId, isHidden(upgradeId)); }); }; isUnlocked = (upgradeId) => { var _a, _b, _c; let userQuest; if ((_a = user.quests) == null ? void 0 : _a.QuestTableOfContents) { userQuest = user.quests.QuestTableOfContents; } else if ((_b = user.quests) == null ? void 0 : _b.QuestProloguePond) { userQuest = user.quests.QuestProloguePond; } else if ((_c = user.quests) == null ? void 0 : _c.QuestForewordFarm) { userQuest = user.quests.QuestForewordFarm; } else { return false; } if (!userQuest || !userQuest.upgrades) { return false; } const upgrade = userQuest.upgrades.find((u) => u.type === upgradeId); if (!upgrade) { return false; } return upgrade.is_unlocked; }; hideOrShowBlock = (blockId, isBlockToggled) => { const mapping = getToggleVisibilityMapping(); if (!mapping[blockId]) { const quill = document.querySelector(".tableOfContentsProgressView-quillContainer"); if (!quill) { return; } if (isBlockToggled) { if ("golden_quill" === blockId) { quill.classList.remove("quill--gold"); } else if ("silver_quill" === blockId) { quill.classList.remove("quill--silver"); } return; } if ("golden_quill" === blockId && isUnlocked("golden_quill")) { quill.classList.add("quill--gold"); } else if ("silver_quill" === blockId && isUnlocked("silver_quill")) { quill.classList.add("quill--silver"); } return; } const selector = mapping[blockId]; if (!selector) { return; } const element = document.querySelector(selector); if (!element) { return; } element.classList.toggle("active", !isBlockToggled); }; addToggle = (upgradeBlock) => { if (upgradeBlock.classList.contains("toggle-added")) { return; } const classList = upgradeBlock.classList.value; const blockId = classList.replace("folkloreForestRegionView-dialog-block", "").replace("active", "").replace("prologue_pond", "").replace("table_of_contents", "").trim(); let isBlockToggled = isHidden(blockId); const toggle = makeElement("div", ["mhui-folklore-forest-upgrade-toggle", "mousehuntActionButton", "tiny", "lightBlue"]); const toggleText = makeElement("span", "upgrade-toggle-text", isBlockToggled ? "Show" : "Hide"); toggle.append(toggleText); toggle.addEventListener("click", () => { isBlockToggled = !isBlockToggled; saveHidden(blockId, isBlockToggled); toggleText.innerText = isBlockToggled ? "Show" : "Hide"; hideOrShowBlock(blockId, isBlockToggled); upgradeBlock.classList.toggle("toggle-is-hidden", isBlockToggled); }); const action = upgradeBlock.querySelector(".folkloreForestRegionView-dialog-block-action"); if (action) { action.append(toggle); } else { upgradeBlock.append(toggle); } upgradeBlock.classList.add("toggle-added"); upgradeBlock.classList.add(isBlockToggled ? "toggle-is-hidden" : "toggle-is-visible"); }; addUpgradeVisibilityToggles = () => { if (hasAddedUpgradeVisibilityToggles) { return; } hasAddedUpgradeVisibilityToggles = true; const pondUpgrades = document.querySelectorAll(".folkloreForestRegionView-dialog-blockContainer.upgrades .folkloreForestRegionView-dialog-block.prologue_pond.active"); const bookUpgrades = document.querySelectorAll(".folkloreForestRegionView-dialog-blockContainer.upgrades .folkloreForestRegionView-dialog-block.table_of_contents.active"); if (!pondUpgrades || !bookUpgrades) { return; } for (const upgrade of pondUpgrades) { addToggle(upgrade); } for (const upgrade of bookUpgrades) { addToggle(upgrade); } }; hasAddedUpgradeVisibilityToggles = false; folklore_forest_default2 = () => __async(void 0, null, function* () { onDialogShow("fabledForestDialog", addUpgradeVisibilityToggles); onDialogHide(() => hasAddedUpgradeVisibilityToggles = false); toggleAllVisibility(); onRequest("*", toggleAllVisibility); }); } }); // src/modules/location-huds/foreword-farm/styles.css var styles_default70; var init_styles71 = __esm({ "src/modules/location-huds/foreword-farm/styles.css"() { styles_default70 = ".forewordFarmPlotView-plot-progress-label{font-size:13px;line-height:18px;vertical-align:middle;filter:drop-shadow(0 0 1px #000);-webkit-text-stroke:1px rgb(255 255 255 / 50%)}span.forewordFarmPlotView-plot-progress-catchText{font-size:11px;vertical-align:bottom}.folkloreForestRegionView-basicBait-quantity.quantity{top:13px;font-size:12px}.forewordFarmView-growthRate-value span{margin-right:2px}.forewordFarmView-growthRate-value{font-size:14px;border-radius:4px;box-shadow:0 0 20px #000 inset}.forewordFarmView-growthRate-label{margin-left:2px;font-size:11px;font-variant:all-small-caps}.forewordFarmView-harvestBin-quantity{top:-12px;padding:2px;font-size:23px}.forewordFarmView-harvestBin-claimButton-label{margin-left:64px;font-size:12px;color:#2c4e26!important;text-shadow:1px 1px 1px #d1d0cf}.forewordFarmPlotView-plot-queue-item-spacer{height:15px;background-color:#ccc}.forewordFarmPlotView-plot-queue-name.active{-webkit-line-clamp:3}a.forewordFarmPlotView-plot-queue-cancelButton{top:-12px;right:-4px;padding:2px;background-color:#ffbfbf;box-shadow:0 0 3px -1px #000 inset}.forewordFarmPlotView-plot-progressContainer .mousehuntTooltip{border-width:1px}.forewordFarmPlotView-plot-queue-item:hover .forewordFarmPlotView-plot-queue-cancelButton:hover{z-index:1;color:#000!important;background-color:#eb7c73}.forewordFarmPlotView.showQueues .forewordFarmPlotView-plot-queue-item{width:50%}.forewordFarmPlotView-plot-queue-list:hover{background:none}.forewordFarmPlotView-plot-queue-item:hover a.forewordFarmPlotView-plot-queue-cancelButton{background-color:#ffbfbf}.folkloreForestRegionView-fuel-quantity.quantity{font-size:13px}.forewordFarmPlantDialogView-plant-yieldContainer table{margin-top:5px}.forewordFarmPlantDialogView-plant-yieldContainer{width:45%;padding-top:5px}.forewordFarmPlantDialogView-plant-costContainer.num_items_3{display:flex;flex-flow:row wrap;width:50%}.forewordFarmPlantDialogView .folkloreForestRegionView-dialog-block-item{margin:0}.forewordFarmPlantDialogView-plant-name{width:100%;font-size:12px;text-align:center}.forewordFarmPlantDialogView-plant .folkloreForestRegionView-button.big{width:95px;font-size:12px}#overlayPopup.fabledForestDialog .jsDialog.background{padding:18px 5px 10px}.folkloreForestRegionView-dialog-block.highlight,.folkloreForestRegionView-dialog-block{border-top:none;border-radius:0;box-shadow:none}.forewordFarmPlantDialogView-row{border:1px solid #897225;border-radius:0}.forewordFarmPlantDialogView-plant{border:none}.forewordFarmPlantDialogView-plant-header{border-bottom:1px solid #897225;box-shadow:0 0 6px #134220 inset}.forewordFarmPlantDialogView-row .forewordFarmPlantDialogView-plant:nth-child(2) .forewordFarmPlantDialogView-plant-content{margin-left:-1px;border-left:1px solid #897225}.forewordFarmPlotView-plot-progress-bar{top:-2px;bottom:-1px;border-right:none;border-left:none;box-shadow:0 1px #999,0 -1px #999}.forewordFarmPlotView-plot-progress-plantIcon.current{top:-5px;left:-24px}.forewordFarmPlotView.showQueues .forewordFarmPlotView-plot-progressContainer{width:80px;height:20px;margin-top:114px}.forewordFarmPlotView-plot-progress-plantIcon.queued{top:-1px;right:-17px;width:22px;height:22px}.forewordFarmPlotView.showPlantIconHighlight .forewordFarmPlotView-plot.highlight .forewordFarmPlotView-plot-progress-plantIcon.highlight{box-shadow:0 0 1px 2px #6adf4fd4}.forewordFarmHarvestBin-itemImage .quantity{font-size:16px}\n"; } }); // src/modules/location-huds/foreword-farm/index.js var foreword_farm_default2; var init_foreword_farm2 = __esm({ "src/modules/location-huds/foreword-farm/index.js"() { init_utils2(); init_folklore_forest2(); init_styles64(); init_styles71(); foreword_farm_default2 = () => __async(void 0, null, function* () { addHudStyles([styles_default63, styles_default70]); folklore_forest_default2(); }); } }); // src/modules/location-huds/fort-rox/styles.css var styles_default71; var init_styles72 = __esm({ "src/modules/location-huds/fort-rox/styles.css"() { styles_default71 = '.fortRoxHUD-timeline{width:693px;box-shadow:0 0 2px 7px #5c3330}.fortRoxHUD-huntsRemaining.mousehuntTooltipParent{top:45px;right:13px;left:unset;background-color:#e2e2e2;box-shadow:inset 0 0 3px #c0b6b3}a.fortRoxHUD-retreat{top:70px}.fortRoxHUD-timeline-phase-name,.fortRoxHUD-timeline-phase-marker.active .fortRoxHUD-timeline-phase-name{font-size:13px;font-variant:normal;text-shadow:0 0 3px #131313;filter:drop-shadow(0 1px 1px 131313)}.fortRoxHUD-timeline-phase-marker.past .fortRoxHUD-timeline-phase-name{text-shadow:0 0 3px #7b7a7a;filter:drop-shadow(0 1px 1px #7b7a7a)}.fortRoxHUD-fort-upgrade-boundingBox-name{z-index:1;background-color:#c0c0ba}.fortRoxHUD-fort-upgrade-boundingBox:hover .fortRoxHUD-fort-upgrade-boundingBox-name{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;font-size:11px}.fortRoxHUD-timeline-phase-time-tooltip{min-width:75px;margin-top:20px;margin-left:-20px}.fortRoxHUD-timeline-phase-time-tooltip .mousehuntTooltip-content{display:flex;flex-direction:column;align-items:center}.fortRoxHUD-timeline-phase-time-tooltip .mousehuntTooltip-content .tooltip-power{margin-top:5px}.fortRoxHUD-huntsRemaining .mousehuntTooltip{top:35px}.fortRoxHUD-timeline-phase-marker:before{position:absolute;top:-6px;left:-10px;z-index:5;display:inline-block;width:18px;height:18px;vertical-align:middle;content:"";background-image:url(https://www.mousehuntgame.com/images/powertypes/shadow.png);filter:drop-shadow(0 0 1px #fff);background-repeat:no-repeat;background-size:100%}.fortRoxHUD-timeline-phase-marker{position:relative}.fortRoxHUD-timeline-phase-marker.stage_three:before{background-image:none}.fortRoxHUD-timeline-phase-marker.stage_four:before,.fortRoxHUD-timeline-phase-marker.stage_five:before{background-image:url(https://www.mousehuntgame.com/images/powertypes/arcane.png)}.fortRoxHUD .quantity{padding:2px;font-size:12px}.fortRoxHUD-dialog-craftingItem-quantity{top:5px}.complete .fortRoxHUD-dialog-upgrade-costContainer{opacity:.6}.fortRoxHUD-bossWarning-hasMultiplier.active b{font-size:12px}.fortRoxHUD-bossWarning{width:auto;padding:5px 30px 5px 40px;font-size:11px}.fortRoxHUD-bossWarning:after{top:3px;left:3px}.frox-has-portal{filter:drop-shadow(0 0 5px #ffde2f) drop-shadow(0 0 15px #ffde2f)}.frox-no-portal{filter:grayscale(1);opacity:.8}.frox-no-portal:hover,.frox-no-portal:focus{filter:grayscale(.2);opacity:1}.fortRoxHUD-spellContainer{top:169px;left:25px}a.fortRoxHUD-upgradeButton.disabled{opacity:.4}a.fortRoxHUD-upgradeButton.disabled:hover,a.fortRoxHUD-upgradeButton.disabled:focus{opacity:1}a.fortRoxHUD-spellTowerButton{margin-left:80px}a.fortRoxHUD-spellTowerButton.normal.inactive{filter:hue-rotate(238deg)}.mh-frox-wall-hp{padding:3px}.fortRoxHUD-hp{top:99px;left:390px;padding-top:2px}.frox-wall-perfect{background-color:#7aff53}.frox-wall-high{background-color:#a9ff53}.frox-wall-medium{background-color:#fff253}.frox-wall-low{background-color:#ff9b53}.frox-wall-very-low{background-color:#ff5353}.fortRoxHUD-dialog-upgrade-name{padding:5px 0}.fortRoxHUD-dialog-upgrade-description{font-size:10px;font-style:italic}.fortRoxHUD-dialog-upgrade-costContainer-title{display:none}.fortRoxHUD-dialog-category-description{padding:10px 0}.fortRoxHUD-dialog-upgrade-costContainer{display:flex;flex-direction:row;align-items:center;justify-content:center;margin-top:10px}.fortRoxHUD-dialog-upgrade-status.complete .mousehuntActionButton{opacity:0}.fortRoxHUD-dialog-upgrade.cannotUpgrade .fortRoxHUD-dialog-upgrade-status.cannotUpgrade{display:flex;flex-direction:column;align-items:center}.complete .fortRoxHUD-dialog-upgrade-costContainer .mousehuntTooltipParent .mousehuntTooltip{display:none}\n'; } }); // src/modules/location-huds/fort-rox/index.js var phaseLengths, makeTooltip2, updateNightBar, updateUpgradeTooltips, updateWallHP, addPortalClass, hud3, fort_rox_default2; var init_fort_rox2 = __esm({ "src/modules/location-huds/fort-rox/index.js"() { init_utils2(); init_styles72(); phaseLengths = { stage_one: { hunts: 35, powerType: "Shadow" }, stage_two: { hunts: 25, powerType: "Shadow" }, stage_three: { hunts: 10, powerType: "Arcane or Shadow" }, stage_four: { hunts: 25, powerType: "Arcane" }, stage_five: { hunts: 35, powerType: "Arcane" } }; makeTooltip2 = (text, direction = "top", customClass = []) => { const existing = document.querySelectorAll(".added-frox-tooltip"); if (existing.length) { existing.forEach((tooltip2) => { tooltip2.remove(); }); } const tooltip = makeElement("div", ["added-frox-tooltip", "mousehuntTooltip", "tight", direction, ...customClass]); makeElement("div", "mousehuntTooltip-content", text, tooltip); makeElement("div", "mousehuntTooltip-arrow", "", tooltip); return tooltip; }; updateNightBar = () => { const bar = document.querySelector(".fortRoxHUD-timeline-phases"); if (!bar) { return false; } const phaseBars = bar.querySelectorAll(".fortRoxHUD-timeline-phase-marker"); if (!phaseBars.length) { return false; } phaseBars.forEach((phaseBar) => { var _a, _b, _c, _d; const phaseClass = [...phaseBar.classList].find((className) => { return className.startsWith("stage_"); }); const phaseLength = phaseLengths[phaseClass]; if (!phaseLength) { return; } const phaseTime = document.createElement("div"); phaseTime.classList.add("fortRoxHUD-timeline-phase-time"); const tooltipText = []; if (phaseBar.classList.contains("past")) { tooltipText.push("Phase complete."); } else if (phaseClass === ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFortRox) == null ? void 0 : _b.current_stage)) { tooltipText.push(`${(_d = (_c = user == null ? void 0 : user.quests) == null ? void 0 : _c.QuestFortRox) == null ? void 0 : _d.hunts_until_next_phase} / ${phaseLength.hunts} hunts remaining. <div class='tooltip-power'>Use ${phaseLength.powerType} power type.</div>`); } else { tooltipText.push(`${phaseLength.hunts} hunts. <div class='tooltip-power'>Use ${phaseLength.powerType} power type.</div>`); } const tooltip = makeTooltip2(tooltipText.join(" "), "bottom", "fortRoxHUD-timeline-phase-time-tooltip"); phaseBar.append(tooltip); phaseBar.classList.add("mousehuntTooltipParent"); }); }; updateUpgradeTooltips = () => { const upgradeTooltips = document.querySelectorAll(".fortRoxHUD-fort-upgrade-boundingBox"); if (!upgradeTooltips.length) { return false; } const upgradeInfo = document.querySelectorAll(".fortRoxHUD-fort-upgrade-level-info"); if (upgradeInfo.length) { upgradeInfo.forEach((info) => { info.remove(); }); } upgradeTooltips.forEach((tooltip) => { var _a, _b; const type = tooltip.getAttribute("onclick").replace("app.views.HeadsUpDisplayView.hud.fortRoxShowConfirm('upgradeFort', ", "").replace("); return false;", "").replaceAll("'", ""); const upgradeProgress = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFortRox) == null ? void 0 : _b.upgrades[type]; const upgradeKeys = Object.keys(upgradeProgress); const completedUpgrades = upgradeKeys.reduce((count2, key) => { if (upgradeProgress[key].includes("complete")) { count2++; } return count2; }, 0); const name = tooltip.querySelector(`.fortRoxHUD-fort-upgrade-boundingBox-level.level_${completedUpgrades}`); let upgradeText = `(Level ${completedUpgrades}/${upgradeKeys.length - 1})`; if (completedUpgrades === upgradeKeys.length - 1) { upgradeText = "(Max Level)"; } const upgrade = makeElement("div", "fortRoxHUD-fort-upgrade-level-info", upgradeText, name); upgrade.classList.add("frox-upgrade-level-info"); }); }; updateWallHP = () => { const exists = document.querySelector(".mh-frox-wall-hp"); if (exists) { exists.remove(); } const hpBox = document.querySelector(".fortRoxHUD-hp"); if (!hpBox) { return false; } const wallPercent = user.quests.QuestFortRox.hp_percent.toFixed(0); const wrapper = makeElement("div", "mh-frox-wall-hp"); makeElement("div", "mh-frox-wall-hp-text", `${wallPercent}%`, wrapper); hpBox.append(wrapper); hpBox.classList.remove( "frox-wall-very-low", "frox-wall-low", "frox-wall-medium", "frox-wall-high", "frox-wall-perfect" ); const hp = Number.parseInt(user.quests.QuestFortRox.hp_percent, 10); if (hp === 100) { hpBox.classList.add("frox-wall-perfect"); } else if (hp >= 75) { hpBox.classList.add("frox-wall-high"); } else if (hp >= 50) { hpBox.classList.add("frox-wall-medium"); } else if (hp >= 25) { hpBox.classList.add("frox-wall-low"); } else { hpBox.classList.add("frox-wall-very-low"); } }; addPortalClass = () => { var _a, _b, _c, _d; const portal = document.querySelector(".fortRoxHUD.dawn .fortRoxHUD-enterLairButton"); if (!portal) { return false; } portal.classList.remove("frox-no-portal", "frox-has-portal"); const hasPortal = Number.parseInt((_d = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestFortRox) == null ? void 0 : _b.items) == null ? void 0 : _c.fort_rox_lair_key_stat_item) == null ? void 0 : _d.quantity, 10); portal.classList.add(hasPortal ? "frox-has-portal" : "frox-no-portal"); }; hud3 = () => { updateNightBar(); updateUpgradeTooltips(); updateWallHP(); addPortalClass(); }; fort_rox_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default71); hud3(); }); } }); // src/modules/location-huds/fungal-cavern/styles.css var styles_default72; var init_styles73 = __esm({ "src/modules/location-huds/fungal-cavern/styles.css"() { styles_default72 = ".fungalCavernHUD-craftingItem-quantity.quantity{position:absolute;top:1px;left:-7px;width:52px;height:15px;font-size:11px;font-weight:400;background-color:#d7d5d4;border:1px solid #424140;border-radius:4px;box-shadow:1px 0 3px 1px #424140}.fungalCavernHUD-craftingItemContainer{top:-6px;bottom:7px;display:flex;flex-direction:column;justify-content:space-evenly;height:auto}.fungalCavernHUD-craftingItem.on .fungalCavernHUD-craftingItem-status{display:none}.on .fungalCavernHUD-craftingItem-quantity.quantity{background-color:#97df7b}.fungalCavernHUD-bait-quantity.quantity{width:34px;margin-top:-1px;margin-left:-4px;font-size:11px;font-weight:400;background-color:#d7d5d4;border:1px solid #424140;border-radius:3px;box-shadow:1px 0 3px 1px #424140}span.fungalCavernHUD-background-title-zone{padding:2px;font-size:16px;color:#d7d5d4;vertical-align:middle;background-color:#78645a;border:1px solid #9a887e}.fungalCavernHUD-craftingItem.rare .fungalCavernHUD-craftingItem-status{display:none}.rare .fungalCavernHUD-craftingItem-quantity.quantity{background-color:#d3ffc1}.fungalCavernHUD .armNow.active{filter:hue-rotate(131deg)}\n"; } }); // src/modules/location-huds/fungal-cavern/index.js var fungal_cavern_default; var init_fungal_cavern = __esm({ "src/modules/location-huds/fungal-cavern/index.js"() { init_utils2(); init_styles73(); fungal_cavern_default = () => __async(void 0, null, function* () { addHudStyles(styles_default72); }); } }); // src/modules/location-huds/great-gnarled-tree/index.js var great_gnarled_tree_default; var init_great_gnarled_tree = __esm({ "src/modules/location-huds/great-gnarled-tree/index.js"() { init_cheese_selectors(); great_gnarled_tree_default = () => __async(void 0, null, function* () { cheese_selectors_default("great-gnarled-tree", ["gnarled_cheese"]); }); } }); // src/modules/location-huds/harbour/styles.css var styles_default73; var init_styles74 = __esm({ "src/modules/location-huds/harbour/styles.css"() { styles_default73 = ".harbourHUD-map-mapImage{filter:drop-shadow(1px -2px 2px #000);transition:.3s ease-in-out}.harbourHUD-mapContainer:hover .harbourHUD-map-mapImage{transform:rotate(5deg) scale(1.1)}.harbourHUD-mouse-name{text-shadow:1px 1px 2px #000,0 0 4px #fff}.harbourHUD-popup-title{text-shadow:none}\n"; } }); // src/modules/location-huds/harbour/index.js var harbour_default2; var init_harbour2 = __esm({ "src/modules/location-huds/harbour/index.js"() { init_utils2(); init_styles74(); harbour_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default73); }); } }); // src/modules/location-huds/iceberg/styles/bob-iceberg.css var bob_iceberg_default; var init_bob_iceberg = __esm({ "src/modules/location-huds/iceberg/styles/bob-iceberg.css"() { bob_iceberg_default = '.icebergHud .timeline .icebergContainer .iceberg{z-index:1;width:110px;height:44px;background-position:bottom;background-size:contain;border-bottom-left-radius:8px;transition:.4s;transform-origin:top;animation:6s dirigibleFloat ease-in-out infinite}@media (prefers-reduced-motion: reduce){.icebergHud .timeline .icebergContainer .iceberg{animation:none}}.icebergHud .timeline:after{position:absolute;right:22px;bottom:-8px;left:22px;box-sizing:border-box;display:block;width:auto;height:10px;content:"";background-color:#6185c5;border:1px solid #5974a6;border-bottom-right-radius:5px}.icebergHud .cutaway{z-index:5}.icebergHud .timeline .chest{z-index:4}.icebergHud .timeline{top:5px}.icebergHud .timeline .icebergContainer .iceberg:hover{transform-origin:bottom center;animation:3s mh-improved-shake infinite}.icebergHud .timeline .icebergContainer .iceberg:active{animation-duration:1s}.waterline{pointer-events:none}\n'; } }); // src/modules/location-huds/iceberg/styles/styles.css var styles_default74; var init_styles75 = __esm({ "src/modules/location-huds/iceberg/styles/styles.css"() { styles_default74 = '.icebergHud.bonus .bonus_timeline .turnsLeft{top:0;display:inline-flex;align-items:center;font-size:14px;border-color:#666;border-radius:0}.remaining-distance,.remaining-stage-distance{margin:2px 0;font-size:10px}.remaining-stage-distance{padding-top:2px;border-top:1px solid #a4b5bf}.icebergHud .cutaway .currentPhase{position:absolute;bottom:2px;padding-top:5px;margin-top:3px;font-size:14px;border-top:1px solid #a4b5bf}.icebergStatusTooltip{bottom:-3px;left:180px;width:325px;padding:8px 7px 6px 0;background-color:#fafafae5;border:1px solid #a4b5bf;box-shadow:0 1px 3px -1px #141414}.icebergStatusTooltip .mousehuntTooltip-content{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:center}.icebergStatusTooltip .hunts-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%}.icebergStatusTooltip .hunts-wrapper .average-hunts{font-size:15px}.icebergStatusTooltip .hunts-wrapper div{display:flex;align-items:center;justify-content:space-evenly;width:100%;margin:0}.icebergStatusTooltip .hunts-wrapper div:first-child{margin-top:0;text-align:center}.icebergStatusTooltip .iceberg-sections{width:160px}.icebergStatusTooltip .iceberg-section{position:relative;display:flex;place-items:center start;justify-content:space-between;width:auto;margin-bottom:.25em;overflow:visible}.icebergStatusTooltip .iceberg-section.complete{color:#989898;opacity:.6}.icebergStatusTooltip .iceberg-section.complete .iceberg-section-name:before{position:absolute;top:1px;left:-10px;width:10px;height:10px;content:"";background:url(https://www.mousehuntgame.com/images/ui/hud/meadow_checkmark.png) 0 0 no-repeat;background-size:contain;opacity:1}.icebergStatusTooltip .iceberg-section.incomplete{color:#488589}.icebergStatusTooltip .iceberg-section.current:before{position:absolute;top:1px;left:-7px;font-size:8px;color:#6aa9af;vertical-align:middle;content:"\\2022";border-radius:3px}.deep-warning{position:absolute;top:5px;bottom:5px;left:175px;z-index:3;display:flex;align-items:center;justify-content:center;width:300px;padding:1em;color:#000;text-align:center;background-color:#ffbfbf;border-radius:10px;opacity:.8}.deep-warning-text{max-width:250px;font-size:11px;line-height:15px;color:#000;text-align:left}.icebergHud .timeline .resetIceberg{top:10px;right:25px;z-index:4;cursor:pointer}.icebergHud .timeline .resetIceberg:hover,.icebergHud .timeline .resetIceberg:focus{color:#a5cedf;opacity:1}.icebergHud .cutaway .wax .quantity,.icebergHud .cutaway .sticky .quantity{box-sizing:border-box;width:38px;padding:0;margin-top:22px;margin-left:4px;font-size:12px;font-weight:400;border-color:#89989e;border-radius:2px 2px 5px 5px}.icebergHud .cutaway .sticky .quantity{margin-top:26px}.icebergHud .cutaway .drill .quantity{top:28px;left:110px;font-size:14px;text-align:left;text-shadow:1px 1px #000}.iceberg-section.current{font-weight:900}.icebergHud .cutaway .depth,.icebergHud .cutaway .depth.early{top:3px;bottom:8px;left:25px;z-index:4;min-width:100px;padding-top:5px;font-size:11px;color:#000;background:#fafafae5;border-color:#8d98a0;border-bottom:1px solid #9aa8b2;border-radius:0;box-shadow:2px 0 2px -3px #8a949d}.icebergHud .cutaway .drill .heatContainer .heat{mix-blend-mode:overlay}.icebergStatusTooltip .hunts-wrapper strong{margin:0;font-size:11px;font-weight:900;line-height:1.125;text-align:center}.icebergStatusTooltip.mousehuntTooltip{pointer-events:all}.icebergStatusTooltip.mousehuntTooltip .mousehuntTooltip-arrow{top:70%;left:-24px;border-color:transparent #a4b5bf transparent transparent;border-width:12px}.icebergStatusTooltip.mousehuntTooltip .mousehuntTooltip-arrow:after{bottom:-10px;left:-8px;border-color:transparent #edf1f8 transparent transparent;border-width:10px}.icebergHud .cutaway .icebergContainer .label{padding:5px;font-size:12px;color:#142e2c;border-radius:5px}.icebergMap img{width:600px}.icebergHud .cutaway .drill .help b.warning{display:block}.icebergHud .cutaway .drill .help{position:absolute;top:90px;right:-55px;width:400px}.mh-improved-stick-iceberg-tooltip .icebergStatusTooltip.mousehuntTooltip{display:block}.mh-improved-stick-iceberg-tooltip .icebergStatusTooltip.mousehuntTooltip .mousehuntTooltip-arrow{display:none}.mh-improved-stick-iceberg-tooltip.depth.mousehuntTooltipParent:hover>.mousehuntTooltip{animation:none!important}.icebergHud .cutaway{filter:drop-shadow(0 1px 2px #141414)}.icebergHud .timeline .chest{transition:.2s ease-out}.icebergHud .timeline .chest:hover{transform:scale(1.5)}.icebergHud .timeline .chest:hover .mousehuntTooltip{transform:scale(.75);animation:none}.icebergHud .timeline .chest:active{animation:.4s mh-improved-shake-scaled infinite}@media (prefers-reduced-motion: reduce){.icebergHud .timeline .chest:active{animation:none}}span.user_progress_container .user_progress{color:#000!important}.icebergHud .cutaway .charm .mousehuntTooltip{width:65px}.icebergHud .cutaway .charm.sticky .mousehuntTooltip{width:83px}.icebergHud .cutaway .charm.sticky .mousehuntTooltip .mousehuntArmNowButton{top:15px}.icebergHud .cutaway .icebergContainer .label.phase_2{border:1px solid #bbe0f5}.icebergHud .cutaway .icebergContainer .label.phase_1{border:1px solid #9fd5e3;box-shadow:none}.icebergHud.bonus .bonus_timeline .help{top:5px;left:120px;padding:5px;background-color:#e4f6fe}\n'; } }); // src/modules/location-huds/iceberg/index.js var getSections, calculateRemaining, calculateCompletion, calculateAverage, calculateStageHunts, getQuestProgress, roundProgress, getTooltipText, addDeepWarning, hud4, makeTooltipSticky, iceberg_default3; var init_iceberg3 = __esm({ "src/modules/location-huds/iceberg/index.js"() { init_utils2(); init_bob_iceberg(); init_styles75(); getSections = (quest) => { const sections = [ { name: "Treacherous Tunnels", where: "0-300ft", length: 300, complete: quest.complete.tunnels }, { name: "Brutal Bulwark", where: "300-600ft", length: 300, complete: quest.complete.bulwark }, { name: "Bombing Run", where: "600-1600ft", length: 1e3, complete: quest.complete.bombing }, { name: "The Mad Depths", where: "1600-1800ft", length: 200, complete: quest.complete.depths }, { name: "Icewing's Lair", where: "1800 ft", length: 0, complete: quest.complete.lair } ]; if (quest.isDeep) { sections.push({ name: "Hidden Depths", where: "1800-2000 ft", length: 200, complete: false }); } return sections; }; calculateRemaining = (depth, stageStart, stageEnd) => { const stage = stageEnd - depth; const stagePercent = stage / (stageEnd - stageStart) * 100; return { stage, stagePercent }; }; calculateCompletion = (depth, stages) => { return stages.map((stageEnd) => depth >= stageEnd); }; calculateAverage = (progress, hunts, isDeep, depth) => { return isDeep ? (depth + 1800) / hunts : progress / hunts; }; calculateStageHunts = (stage, avg) => { return Math.ceil(stage / avg); }; getQuestProgress = () => { var _a; const quest = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestIceberg; if (!quest) { return false; } const data = { progress: quest.user_progress || 0, hunts: quest.turns_taken || 0, chests: quest.chests || [], isDeep: quest.in_bonus || false }; const depth = data.progress; const stages = [300, 600, 1600, 1800]; const stageIndex = stages.findIndex((stageEnd) => depth < stageEnd); const { stage, stagePercent } = calculateRemaining(depth, stages[stageIndex - 1] || 0, stages[stageIndex]); const complete = calculateCompletion(depth, stages); const avg = calculateAverage(data.progress, data.hunts, data.isDeep, depth); const stageHunts = calculateStageHunts(stage, avg); const remaining = { stage, stagePercent: 100 - stagePercent, total: 1800 - depth, totalPercent: depth / 1800 * 100, complete: { tunnels: complete[0], bulwark: complete[1], bombing: complete[2], depths: complete[3], lair: depth >= 1800 }, isLair: depth >= 1800, avg, stageHunts }; return __spreadValues(__spreadValues({}, data), remaining); }; roundProgress = (progress) => { if (Number.isNaN(progress) || progress <= 0) { return "0"; } if (progress >= 100) { return "100"; } return Number(progress.toFixed(2)).toString(); }; getTooltipText = (quest) => { const wrapper = makeElement("div", "mousehuntTooltip-content"); const progress = makeElement("div", "hunts-wrapper"); makeElement("div", "average-hunts", `Avg. ${roundProgress(quest.avg)} ft/hunt`, progress); if (!quest.isLair) { const stageProgressPercent = makeElement("div", "stage-progress-percent"); makeElement("span", "progress-label", "Stage Progress: ", stageProgressPercent); makeElement("span", ["progress-label-short", "hidden"], "Stage: ", stageProgressPercent); makeElement("strong", "", `${roundProgress(quest.stagePercent)}%`, stageProgressPercent); progress.append(stageProgressPercent); if (!quest.isDeep) { const totalProgressPercent = makeElement("div", "total-progress-percent"); makeElement("span", "progress-label", "Total Progress: ", totalProgressPercent); makeElement("span", ["progress-label-short", "hidden"], "Total: ", totalProgressPercent); makeElement("strong", "", `${roundProgress(quest.totalPercent)}%`, totalProgressPercent); progress.append(totalProgressPercent); } } wrapper.append(progress); const sectionsWrapper = makeElement("div", "iceberg-sections"); const sections = getSections(quest); let currentSection = false; sections.forEach((sectionData) => { if (quest.isDeep && sectionData.name !== "Hidden Depths") { sectionData.complete = true; } const section = makeElement("div", ["iceberg-section", sectionData.complete ? "complete" : "incomplete"]); if (!currentSection && !sectionData.complete) { section.classList.add("current"); currentSection = true; } makeElement("div", "iceberg-section-name", sectionData.name, section); makeElement("div", "iceberg-section-length", sectionData.where, section); sectionsWrapper.append(section); }); wrapper.append(sectionsWrapper); return wrapper; }; addDeepWarning = () => __async(void 0, null, function* () { const equippedBase = Number.parseInt(user.base_item_id) || 0; if (equippedBase === 899 || // Deep Freeze Base equippedBase === 3256 || // Iceberg Boiler Base equippedBase === 2392) { return; } const bases = yield getUserItems([ "deep_freeze_base", "iceberg_boiler_base", "ultimate_iceberg_base" ]); const equippableBases = []; let hasBase = false; bases.forEach((base) => { if (base.quantity > 0) { hasBase = true; equippableBases.push({ name: base.name, id: base.item_id }); } }); if (!hasBase) { return; } const appendTo = document.querySelector(".cutawayClippingMask"); if (!appendTo) { return; } const equippableBasesText = equippableBases.map((base, index) => { if (index === 0) { return base.name; } if (index === equippableBases.length - 1) { return `or ${base.name}`; } return base.name; }).join(" "); const warning = makeElement("div", "deep-warning"); const warningText = makeElement("div", "deep-warning-text", `To access the Hidden Depths, make sure you equip ${equippableBasesText}.`); const warningIcon = makeElement("img", "deep-warning-icon"); warningIcon.src = "https://www.mousehuntgame.com/images/ui/journal/pillage.gif"; warning.append(warningIcon); warning.append(warningText); const existingWarning = appendTo.querySelector(".deep-warning"); if (existingWarning) { existingWarning.replaceWith(warning); } else { appendTo.append(warning); } }); hud4 = () => __async(void 0, null, function* () { if ("iceberg" !== getCurrentLocation()) { return; } if (!user.quests.QuestIceberg) { return; } const huntInfo = document.querySelector(".icebergHud .depth"); if (!huntInfo) { return; } const quest = getQuestProgress(); if (!quest.isLair) { const remainingStageDistance = document.createElement("div"); remainingStageDistance.classList.add("remaining-stage-distance"); const destination = quest.isDeep ? "Deep" : "next stage"; if (quest.stage !== quest.total) { const feet = quest.stage.toLocaleString(); remainingStageDistance.innerHTML = `<strong>${feet}</strong> feet until ${destination}`; if (quest.stageHunts > 0) { remainingStageDistance.innerHTML += ` (~${quest.stageHunts} hunts)`; } } const existingStage = huntInfo.querySelector(".remaining-stage-distance"); if (existingStage) { existingStage.replaceWith(remainingStageDistance); } else { huntInfo.insertBefore(remainingStageDistance, huntInfo.lastChild); } } if (!quest.isLair && !quest.isDeep) { const remainingDistance = document.createElement("div"); remainingDistance.classList.add("remaining-distance"); if (quest.total !== 0) { const feet = quest.total.toLocaleString(); remainingDistance.innerHTML = `<strong>${feet}</strong> feet until Icewing's Lair`; if (quest.totalHunts > 0) { remainingDistance.innerHTML += `(~${quest.totalHunts} hunts)`; } } const existingDistance = huntInfo.querySelector(".remaining-distance"); if (existingDistance) { existingDistance.replaceWith(remainingDistance); } else { huntInfo.insertBefore(remainingDistance, huntInfo.lastChild); } } huntInfo.classList.add("mousehuntTooltipParent"); const tooltip = makeElement("div", "icebergStatusTooltip"); tooltip.classList.add("mousehuntTooltip", "right", "noEvents"); const tooltipContent = getTooltipText(quest); const existingTooltip = huntInfo.querySelector(".icebergStatusTooltip"); tooltip.append(tooltipContent); makeElement("div", "mousehuntTooltip-arrow", "", tooltip); if (existingTooltip) { existingTooltip.replaceWith(tooltip); } else { huntInfo.append(tooltip); } if (quest.isLair) { addDeepWarning(); } }); makeTooltipSticky = () => { const tooltip = document.querySelector(".icebergStatusTooltip"); if (!tooltip) { return; } const huntInfo = document.querySelector(".icebergHud .depth"); if (!huntInfo) { return; } let isStuck = getSetting("location-huds.iceberg-sticky-tooltip", false); if (isStuck) { huntInfo.classList.add("mh-improved-stick-iceberg-tooltip"); } huntInfo.addEventListener("click", () => { isStuck = !isStuck; huntInfo.classList.toggle("mh-improved-stick-iceberg-tooltip"); saveSetting("location-huds.iceberg-sticky-tooltip", isStuck); }); }; iceberg_default3 = () => __async(void 0, null, function* () { addHudStyles([styles_default74, bob_iceberg_default]); hud4(); makeTooltipSticky(); onTurn(hud4, 1e3); onRequest("environment/iceberg.php", hud4); }); } }); // src/modules/location-huds/jungle-of-dread/index.js var jungle_of_dread_default; var init_jungle_of_dread = __esm({ "src/modules/location-huds/jungle-of-dread/index.js"() { init_cheese_selectors(); jungle_of_dread_default = () => __async(void 0, null, function* () { cheese_selectors_default("jungle-of-dread", [ "vanilla_stilton_cheese", "vengeful_vanilla_stilton_cheese", "spicy_havarti_cheese", "pungent_havarti_cheese", "creamy_havarti_cheese", "magical_havarti_cheese", "crunchy_havarti_cheese", "sweet_havarti_cheese" ]); }); } }); // src/modules/location-huds/kings-arms/index.js var kings_arms_default; var init_kings_arms = __esm({ "src/modules/location-huds/kings-arms/index.js"() { init_cheese_selectors(); kings_arms_default = () => __async(void 0, null, function* () { cheese_selectors_default("kings-arms", ["gilded_cheese"]); }); } }); // src/modules/location-huds/kings-gauntlet/index.js var kings_gauntlet_default; var init_kings_gauntlet = __esm({ "src/modules/location-huds/kings-gauntlet/index.js"() { init_cheese_selectors(); kings_gauntlet_default = () => __async(void 0, null, function* () { cheese_selectors_default("kings-gauntlet", [ "super_brie_cheese", "gauntlet_cheese_2", "gauntlet_cheese_3", "gauntlet_cheese_4", "gauntlet_cheese_5", "gauntlet_cheese_6", "gauntlet_cheese_7", "gauntlet_cheese_8" ]); }); } }); // src/modules/location-huds/laboratory/styles.css var styles_default75; var init_styles76 = __esm({ "src/modules/location-huds/laboratory/styles.css"() { styles_default75 = ".laboratoryHUD .mousehuntItem-image{background-color:transparent}.laboratoryHUD .laboratoryHUD-areaBaitContainer .mousehuntItem-image{box-sizing:border-box;width:64px;height:64px;margin-top:-4px;margin-left:-5px;background-color:#d0e9ec;border:1px solid #d0e9ec;outline:5px solid #d0e9ec;box-shadow:none}.laboratoryHUD .mousehuntItem-quantity.quantity{padding:3px 4px;font-size:12px}.laboratoryHUD .laboratoryHUD-basicBaitContainer .mousehuntItem-image{background-color:#a6c0c4}.laboratoryHUD-state{text-shadow:0 1px 3px #000}.laboratoryHUD-basicBaitContainer .mousehuntTooltip>div{display:flex;justify-content:center}.laboratoryHUDArmNowButton.active{filter:hue-rotate(90deg)}.laboratoryHUD-basicBaitContainer .mousehuntTooltip{width:180px}\n"; } }); // src/modules/location-huds/laboratory/index.js var laboratory_default; var init_laboratory = __esm({ "src/modules/location-huds/laboratory/index.js"() { init_utils2(); init_styles76(); laboratory_default = () => __async(void 0, null, function* () { addHudStyles(styles_default75); }); } }); // src/modules/location-huds/labyrinth/styles.css var styles_default76; var init_styles77 = __esm({ "src/modules/location-huds/labyrinth/styles.css"() { styles_default76 = '.mh-ui-labyrinth-step-counter{padding-right:5px;margin-left:5px;font-weight:900;background-color:#000}.labyrinthHUD-clueBar-totalContainer{z-index:10;width:auto;padding-left:4px;font-size:12px;border-radius:6px;outline:2px solid #000}.labyrinthHUD-clue{display:flex;align-items:center;justify-content:space-evenly;font-size:12px;box-shadow:inset 0 0 3px -1px #000}.labyrinthHUD-clue-name{font-size:11px}.labyrinthHUD-clue:hover .labyrinthHUD-clue-name{z-index:10;overflow:visible}.mh-ui-labyrinth-clue-count{display:flex;align-items:center;height:20px;padding-right:3px;padding-left:3px;font-weight:900;color:#050505;border-radius:0 5px 5px 0}.y .labyrinthHUD-clue-name,.y .mh-ui-labyrinth-clue-count{background-color:#d851ff66}.h .labyrinthHUD-clue-name,.h .mh-ui-labyrinth-clue-count{background-color:#21e2ff66}.s .labyrinthHUD-clue-name,.s .mh-ui-labyrinth-clue-count{background-color:#e9630066}.t .labyrinthHUD-clue-name,.t .mh-ui-labyrinth-clue-count{background-color:#ffe40066}.f .labyrinthHUD-clue-name,.f .mh-ui-labyrinth-clue-count{background-color:#11f40066}.m .labyrinthHUD-clue-name,.m .mh-ui-labyrinth-clue-count{color:#d3c5c5;background-color:#6a6a6a66}.labyrinthHUD-item-quantity,.labyrinthHUD-scrambleDoors-quantity,.labyrinthHUD-scrambleClues-quantity,.labyrinthHUD-toggleLantern-quantity.quantity{position:absolute;top:6px;padding:0 5px;font-size:12px;text-align:center;background-color:#000;border-radius:5px}.labyrinthHUD-item-quantity.quantity{top:6px;left:5px;display:block;width:30px;margin:0!important}.labyrinthHUD-scrambleDoors-quantity,.labyrinthHUD-scrambleClues-quantity,.labyrinthHUD-toggleLantern-quantity.quantity{display:inline-flex;align-items:center;width:auto;height:18px;margin-right:11px}.labyrinthHUD-scrambleClues-quantity.quantity{left:-6px}.labyrinthHUD-toggleLantern-quantity.quantity{right:-5px}.labyrinthHUD-scrambleDoors-quantity.quantity{top:.5px;right:-7px;height:9.5px;padding:4px;pointer-events:none}.labyrinthHUD-scrambleClues:hover .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues.disabled .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues:focus .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues-name{position:relative;left:75px;width:0;color:transparent!important;text-shadow:none;pointer-events:none}.labyrinthHUD-scrambleClues-name:after{position:absolute;top:0;right:-30px;display:block;width:50px;color:#eee;text-align:center;text-shadow:0 0 1px #000;content:"Compass Magnet"}.labyrinthHUD-item:nth-child(1) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(2) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(3) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(4) .labyrinthHUD-item-name,.labyrinthHUD-item:nth-child(5) .labyrinthHUD-item-name{width:96px;margin-left:47px;font-size:11px;font-weight:900;text-align:center;text-shadow:0 0 1px #000;background:linear-gradient(180deg,#70707000,#a8a8a8,#70707000);border-radius:20px}.labyrinthHUD-item:hover .labyrinthHUD-item-location,.labyrinthHUD-item:focus .labyrinthHUD-item-location{position:absolute;top:unset;bottom:-25px;padding:3px;font-size:9px;color:#000;text-align:center;background:#fff;border:2px solid #000;border-radius:10px;box-shadow:2px 3px 4px #666}.mh-ui-labyrinth-door-text{position:absolute;inset:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:#fff;opacity:.8}.mh-ui-laby-steps{margin-bottom:3px;font-size:13px}.labyrinthHUD-doorContainer{position:relative}.labyrinthHUD-door.disabled.mystery{filter:brightness(.4)}.labyrinthHUD-door.mh-ui-labyrinth-highlight{filter:brightness(1.1)}.labyrinthHUD-door.mh-ui-labyrinth-highlight:before{position:absolute;top:5px;right:15px;z-index:1;width:25px;height:25px;overflow:hidden;content:"";background:url(https://www.mousehuntgame.com/images/ui/events/winter_hunt_2013/checkmark.png) no-repeat;background-size:contain}.labyrinthHUD-confirm-padding .labyrinthHUD-door.mh-ui-labyrinth-highlight:after{background:none}.labyrinthHUD-clueDrawer{padding-bottom:11px;font-size:11px}.labyrinthHUD-clueDrawer-description{padding:5px 0 10px;line-height:17px;color:#fafafa;text-align:center}.labyrinthHUD-clueDrawer-clue{margin:10px 0}.labyrinthHUD-clueDrawer-clue.tier-1 .labyrinthHUD-clueDrawer-exit.tier-1:after,.labyrinthHUD-clueDrawer-clue.tier-2 .labyrinthHUD-clueDrawer-exit.tier-2:after,.labyrinthHUD-clueDrawer-clue.tier-3 .labyrinthHUD-clueDrawer-exit.tier-3:after{background:none}.labyrinthHUD-clueDrawer-exit{top:0;bottom:0;width:1px;height:10px;background:#8d8d8d;border-radius:0}.labyrinthHUD-clueDrawer-bar{height:10px;border-radius:0;opacity:.9}.labyrinthHUD-clueDrawer-barFrame{margin-right:3px;border:1px solid #585858;border-radius:0}.y .labyrinthHUD-clueDrawer-name,.y .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #d851ff}.h .labyrinthHUD-clueDrawer-name,.h .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #21e2ff}.s .labyrinthHUD-clueDrawer-name,.s .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #e96300}.t .labyrinthHUD-clueDrawer-name,.t .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #ffe400}.f .labyrinthHUD-clueDrawer-name,.f .labyrinthHUD-clueDrawer-quantity{border-bottom:1px solid #11f400}.labyrinthHUD-clueDrawer-name{padding-left:3px;margin-right:-3px}.labyrinthHUD-clueDrawer-quantity{padding-right:3px;margin-left:-3px}.hudLocationContent a.labyrinthHUD-retreatButton{color:#707070!important;background-color:#0000007f}.hudLocationContent a.labyrinthHUD-retreatButton:hover{color:#eee!important}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.bad:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_1:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_2:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_3:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_4:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_5:after,.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_6:after{position:absolute;top:0;right:0;left:0;display:inline-flex;align-items:center;justify-content:center;height:100%;font-size:15px;font-weight:900;color:#000;text-align:center;text-shadow:0 0 4px #c7ffad;content:""}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete:after{color:#343434;text-shadow:none;content:"0"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.bad:after{color:#c69898;text-shadow:none;content:"1"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_1:after{content:"1"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_2:after{content:"2"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_3:after{content:"3"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_4:after{content:"4"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_5:after{content:"5"}.labyrinthHUD-hallway-padding:hover .labyrinthHUD-hallway-tile.complete.good_6:after{content:"6"}.labyrinthHUD-hallway-tile.active{z-index:6;outline:1px solid #bbf8fa}.mh-ui-labyrinth-lantern-reminder{position:absolute;bottom:0;left:-8px;width:75px;height:75px;background:url(https://www.mousehuntgame.com/images/items/stats/transparent_thumb/d1c4774c7afebe379bef83d30b81f069.png) 0 0 no-repeat;filter:drop-shadow(1px 0 8px #f6eac3);background-size:contain;transform-origin:bottom;animation:mh-improved-shake-light 1s ease-out 1}.labyrinthHUD-toggleLantern-name.active{animation:mh-improved-scale 1.5s 2}.labyrinthHUD-scrambleClues-boundingBox:after{position:absolute;bottom:4px;left:131px;z-index:12;width:34px;height:33px;content:"";background:url(https://i.mouse.rip/laby-compass.png) 0 0 no-repeat;background-size:contain;transition:.3s ease-in-out}.labyrinthHUD-scrambleClues-boundingBox:hover:after{transform:scale(1.2)}@media (prefers-reduced-motion: reduce){.mh-ui-labyrinth-lantern-reminder,.labyrinthHUD-toggleLantern-name.active{animation:none}.labyrinthHUD-scrambleClues-boundingBox:hover:after{transform:none}}.labyrinthHUD-clueDrawer-barPadding{padding:1px 4px 0 1px}.labyrinthHUD-confirmDescription.chooseDoor b{font-size:13px}.labyrinthHUD-scrambleClues.disabled .labyrinthHUD-scrambleClues-name,.labyrinthHUD-scrambleClues.disabled:hover .labyrinthHUD-scrambleClues-name{color:transparent!important;text-shadow:none}a.labyrinthHUD-door.labyrinthHUD-door-category-y:after,a.labyrinthHUD-door.labyrinthHUD-door-category-h:after,a.labyrinthHUD-door.labyrinthHUD-door-category-s:after,a.labyrinthHUD-door.labyrinthHUD-door-category-t:after,a.labyrinthHUD-door.labyrinthHUD-door-category-f:after{position:absolute;right:19px;bottom:4px;left:19px;padding:1px 2px 0;font-size:13px;text-align:center;text-shadow:0 1px 1px #3d3d3d;content:"";background-color:#50306a;border-radius:1px;box-shadow:inset 0 0 4px #636363}a.labyrinthHUD-door.labyrinthHUD-door-category-y:after{content:"Fealty";background-color:#d851ff99}a.labyrinthHUD-door.labyrinthHUD-door-category-h:after{content:"Tech";background-color:#21e2ff99}a.labyrinthHUD-door.labyrinthHUD-door-category-s:after{content:"Scholar";background-color:#e9630099}a.labyrinthHUD-door.labyrinthHUD-door-category-t:after{font-size:11px;content:"Treasury";background-color:#ffe40099}a.labyrinthHUD-door.labyrinthHUD-door-category-f:after{font-size:12px;content:"Farming";background-color:#11f40099}.labyrinthHUD-door-name-padding span{margin-top:-25px}.labyrinthHUD-door-image:after{filter:drop-shadow(0 1px 1px #242424);transform:scale(1.5)}.labyrinthHUD-hallway-background{filter:brightness(1.2)}.labyrinthHUD-clueBar-totalContainer.mh-ui-labyrinth-100clues{background-color:#479f49}.mh-ui-labyrinth-tile-clicked{opacity:0;transition:opacity .3s ease}.mh-ui-labyrinth-tile-clicked-fade-in{opacity:1}.labyrinthHUD-secretContainer{font-weight:900;background-color:transparent;border:none;box-shadow:none;mix-blend-mode:overlay}.labyrinthHUD-confirmDescription .labyrinthHUD-exit{top:-4px}.labyrinthHUD-hallwayDescription-f .labyrinthHUD-hallwayName{color:#11f400}.labyrinthHUD-hallwayDescription-h .labyrinthHUD-hallwayName{color:#21e2ff}.labyrinthHUD-hallwayDescription-s .labyrinthHUD-hallwayName{color:#e96300}.labyrinthHUD-hallwayDescription-y .labyrinthHUD-hallwayName{color:#d851ff}.labyrinthHUD-hallwayDescription-t .labyrinthHUD-hallwayName{color:#ffe400}\n'; } }); // src/modules/location-huds/labyrinth/index.js var highlightDoors, scrambleGems, expandClueBar, addLanternReminder, updateDoorText, highlight100Clues, highlightTileForMinigame, minigame, refreshHud, labyrinth_default4; var init_labyrinth4 = __esm({ "src/modules/location-huds/labyrinth/index.js"() { init_utils2(); init_styles77(); highlightDoors = () => { var _a, _b; if ("intersection" !== ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth) == null ? void 0 : _b.status)) { return; } const existingHighlight = document.querySelector(".mh-ui-labyrinth-highlight"); if (existingHighlight) { existingHighlight.classList.remove("mh-ui-labyrinth-highlight"); } const clues = user.quests.QuestLabyrinth.clues || []; const clue = clues.reduce((a, b) => a.quantity > b.quantity ? a : b); if (clue) { const doors = user.quests.QuestLabyrinth.doors || []; const matchingDoors = doors.filter((door) => { if (door.choice && door.choice.length) { return door.choice.includes(clue.type); } return false; }); if (!matchingDoors.length) { return; } const bestDoor = matchingDoors.reduce((a, b) => a.choice.length > b.choice.length ? a : b); if (bestDoor) { const highlight = document.querySelector(`.labyrinthHUD-door.${bestDoor.css_class.replaceAll(" ", ".")}`); if (highlight) { highlight.classList.add("mh-ui-labyrinth-highlight"); } } } }; scrambleGems = () => { const gems = document.querySelectorAll(".labyrinthHUD-scrambleGem"); if (!gems) { return; } gems.forEach((gem) => { gem.removeAttribute("onclick"); gem.addEventListener("click", () => { gems.forEach((g) => { hg.views.HeadsUpDisplayLabyrinthView.labyrinthScrambleGem(g, 2); }); }); }); }; expandClueBar = () => { const clueProgresses = document.querySelectorAll(".mh-ui-labyrinth-clue-count"); if (clueProgresses) { clueProgresses.forEach((progress) => { progress.remove(); }); } const clueProgress = document.querySelectorAll(".labyrinthHUD-clue"); if (clueProgress) { clueProgress.forEach((progress) => { const clueType = progress.classList.value.replace("labyrinthHUD-clue", "").replace("clueFound", "").trim(); const clues = user.quests.QuestLabyrinth.clues || []; const clue = clues.find((c) => c.type === clueType); if (clue) { progress.setAttribute("title", `${clue.quantity} found`); const text = makeElement("span", "mh-ui-labyrinth-clue-count", `${clue.quantity}`); progress.append(text); } }); } }; addLanternReminder = () => { var _a, _b, _c, _d; if ("inactive" === ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth) == null ? void 0 : _b.lantern_status) && ((_d = (_c = user == null ? void 0 : user.quests) == null ? void 0 : _c.QuestLabyrinth) == null ? void 0 : _d.hallway_tier) >= 2) { setTimeout(() => { const existingLanternReminder = document.querySelector(".mh-ui-labyrinth-lantern-reminder"); if (existingLanternReminder) { existingLanternReminder.classList.remove("hidden"); } const labyHud = document.querySelector(".labyrinthHUD-intersection"); if (labyHud) { const lanternReminder = document.createElement("div"); lanternReminder.classList.add("mh-ui-labyrinth-lantern-reminder"); labyHud.append(lanternReminder); } }, 500); } }; updateDoorText = () => { var _a, _b; const doorTextExisting = document.querySelector(".mh-ui-labyrinth-door-text"); if (doorTextExisting) { doorTextExisting.remove(); } const appendTo = document.querySelector(".labyrinthHUD-hallwayDescription"); if (!appendTo) { return; } const existing = document.querySelector(".mh-ui-labyrinth-step-counter"); if (existing) { existing.remove(); } const existingStepsToGo = document.querySelector(".mh-ui-labyrinth-steps-to-go"); if (existingStepsToGo) { existingStepsToGo.remove(); } const hallwayLength = user.quests.QuestLabyrinth.hallway_length || 0; const tiles = user.quests.QuestLabyrinth.tiles || []; const completed = tiles.filter((tile) => tile.status.includes("complete")); if (completed.length !== hallwayLength) { makeElement("span", "mh-ui-labyrinth-step-counter", `${completed.length}/${hallwayLength} steps completed.`, appendTo); } const stepsToGo = hallwayLength - completed.length; const existingIntersectionText = document.querySelector(".mh-ui-labyrinth-door-text"); if (existingIntersectionText) { existingIntersectionText.remove(); } const stepsExisting = document.querySelector(".mh-ui-laby-steps"); if (stepsExisting) { stepsExisting.remove(); } const cptExisting = document.querySelector(".mh-ui-laby-cpt"); if (cptExisting) { cptExisting.remove(); } if (stepsToGo !== 0) { const intersectionDoors = document.querySelector(".labyrinthHUD-doorContainer"); if (intersectionDoors) { const tilesWithClues = tiles.filter((tile) => tile.status.includes("good")); const cluesFound = tilesWithClues.reduce((a, b) => a + Number.parseInt(b.status.replace("complete", "").replace("good_", "").trim()), 0); const cluesPerTile = (cluesFound / completed.length).toFixed(1).replace(".0", ""); const intersectionText = makeElement("div", "mh-ui-labyrinth-door-text"); let stepsNoun = "hunt"; if (stepsToGo > 1 || stepsToGo < 1) { stepsNoun = "hunts"; } makeElement("div", "mh-ui-laby-steps", `${stepsToGo} ${stepsNoun} left in the hallway`, intersectionText); if (cluesPerTile !== "NaN") { let clueNoun = "clue"; if (cluesPerTile > 1 || cluesPerTile < 1) { clueNoun = "clues"; } makeElement("div", "mh-ui-laby-cpt", `Avg. ${cluesPerTile} ${clueNoun} per tile`, intersectionText); } intersectionDoors.append(intersectionText); } } if ("intersection" === ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth) == null ? void 0 : _b.status)) { highlightDoors(); } }; highlight100Clues = () => { var _a; const clues = document.querySelector(".labyrinthHUD-clueBar-totalContainer"); if (!clues) { return; } if (Number.parseInt(((_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth.total_clues) || 0) < 100) { clues.classList.remove("mh-ui-labyrinth-100clues"); } else { clues.classList.add("mh-ui-labyrinth-100clues"); } }; highlightTileForMinigame = (tile) => { var _a, _b; tile.classList.add("mh-ui-labyrinth-tile-clicked"); const id = tile.getAttribute("data-index"); const length = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestLabyrinth) == null ? void 0 : _b.hallway_length) || 10; const degree = id / length * 360; tile.style.filter = `brightness(1.5) hue-rotate(${Math.floor(degree)}deg)`; setTimeout(() => { tile.classList.add("mh-ui-labyrinth-tile-clicked-fade-in"); }, 100); setTimeout(() => { tile.style.filter = "brightness(1) hue-rotate(0deg)"; }, 500); setTimeout(() => { tile.classList.remove("mh-ui-labyrinth-tile-clicked-fade-in"); tile.classList.remove("mh-ui-labyrinth-tile-clicked"); tile.style.filter = ""; }, 510); }; minigame = () => __async(void 0, null, function* () { const tiles = document.querySelectorAll(".labyrinthHUD-hallway-tile"); if (!tiles) { return; } tiles.forEach((tile) => { if ([...tile.classList].includes("active")) { tile.addEventListener("click", () => { let delay = 0; tiles.forEach((t) => { setTimeout(() => { highlightTileForMinigame(t); }, delay); delay += 50; }); }); } }); }); refreshHud = () => __async(void 0, null, function* () { if ("labyrinth" !== getCurrentLocation()) { return; } expandClueBar(); updateDoorText(); highlight100Clues(); minigame(); }); labyrinth_default4 = () => __async(void 0, null, function* () { addHudStyles(styles_default76); scrambleGems(); refreshHud(); addLanternReminder(); onRequest("*", refreshHud); onTurn(refreshHud, 1e3); }); } }); // src/modules/location-huds/lagoon/index.js var lagoon_default; var init_lagoon = __esm({ "src/modules/location-huds/lagoon/index.js"() { init_cheese_selectors(); lagoon_default = () => __async(void 0, null, function* () { cheese_selectors_default("lagoon", ["gnarled_cheese", "wicked_gnarly_cheese"]); }); } }); // src/modules/location-huds/meditation-room/index.js var meditation_room_default; var init_meditation_room = __esm({ "src/modules/location-huds/meditation-room/index.js"() { init_cheese_selectors(); meditation_room_default = () => __async(void 0, null, function* () { cheese_selectors_default("meditation-room", [ "combat_cheese", "glutter_cheese", "susheese_cheese" ]); }); } }); // src/modules/location-huds/mountain/styles.css var styles_default77; var init_styles78 = __esm({ "src/modules/location-huds/mountain/styles.css"() { styles_default77 = ".mountainHUD-boulder-health-percent{display:flex;align-items:center;justify-content:space-evenly}.mountainHUD-boulder-health-percent span{font-size:12px}.mountainHUD-boulder-health-progressBar span{top:-2px;bottom:-2px;box-shadow:inset 0 0 2px 1px #000}.mountainHUD-boulder-state,.mousehuntItem.mountainHUD-conduit-charm .mousehuntItem-image{transition:.2s ease-in}.mountainHUD-boulder:hover .mountainHUD-boulder-state{filter:brightness(.9);transform:translateY(4px)}.mountainHUD-boulderHelper{top:3px;left:128px;width:76px;font-size:11px}.mountainHUD-conduit-charm .mousehuntItem-image{background-color:#835327;background-size:80px;border-radius:0;box-shadow:-1px -1px #835327}.mountainHUD-conduit-charm .mousehuntItem-image:after{border:none;border-radius:40px}.mountainHUD-conduit-charm:hover .mousehuntItem-image{background-size:100px;transform:rotate(5deg)}.mountainHUD-conduit-power{padding-left:19px;font-size:15px}.mountainHUD-conduit-power:after{top:-2px;width:20px;height:21px;padding-right:5px;background-size:20px}.mountainHUD-conduit-suggestions .mousehuntItem-quantity{right:0;bottom:-11px;left:0;font-size:12px;border:1px solid #858585}.mountainHUD-footer-item .mousehuntItem-image{width:25px;height:25px;background-color:transparent}.mountainHUD-footer-item .mousehuntItem-image,.mountainHUD-phaseContainer .mousehuntItem-image,.mountainHUD-conduit-suggestions .mousehuntItem-image{background-color:transparent;background-size:cover;box-shadow:none}.mountainHUD-conduit-suggestions .mousehuntItem-image{background-size:125%}.mountainHUD-footer-item .mousehuntItem-image:after,.mountainHUD-phaseContainer .mousehuntItem-image:after{border:none}.mountainHUD-footer-item .mousehuntItem-quantity{bottom:4px;font-size:12px;background-color:#de9c5f;box-shadow:inset 0 0 3px 2px #835327}.mountainHUD-footer-item-name{font-size:10px}.mountainHUD-footer-item:nth-child(1) .mountainHUD-footer-item-name{font-size:10px;line-height:10px}.mountainHUD-footer-item:nth-child(2) .mountainHUD-footer-item-name{width:82px;margin-left:24px;font-size:12px}.mountainHUD-footer-item:nth-child(3) .mountainHUD-footer-item-name{font-size:12px}.mountainHUD-footer-item:nth-child(4) .mountainHUD-footer-item-name{font-size:9px}.mountainHUD-footer-item:nth-child(5) .mountainHUD-footer-item-name{width:80px;margin-left:27px;font-size:11px}.mountainHUD-footer-item .mousehuntItem.disabled .mousehuntItem-image{filter:opacity(.3)}.mountainHUD-phase-description{line-height:10px}.mountainHUD-phase-title span{font-size:10px;font-variant:none;text-shadow:1px 1px 2px #000}.mountainHUD-phaseContainer .mousehuntItem-quantity.quantity{font-size:12px;border:1px solid #858585}.mountainHUD.none .mountainHUD-conduit-charm .mousehuntItem-image{border-radius:50%}.mousehuntItem.mountainHUD-conduit-charm{background-color:#835327}.mountainHUD-conduit .mousehuntItem.disabled{height:auto;background-color:#5f3e1f}.mountainHUD-conduit .mousehuntItem-image.disabled:after{border:none}.mountainHUD-conduit .mousehuntItem.disabled .mousehuntItem-quantity{display:none}.mountainHUD-conduit-suggestion-item .mousehuntTooltip{font-size:12px}.mountainHUD-conduit-suggestions .mousehuntItem-image.power_trinket{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/b0fb665f8649eb72432c66b0575c9516.png)}.mountainHUD-conduit-suggestions .mousehuntItem-image.super_power_trinket{background-image:url(https://i.mouse.rip/upscaled/625bef6da38dc44ddcd70d0da47244ae.png)}.mountainHUD-conduit-suggestions .mousehuntItem-image.weak_power_trinket{background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/47a2b0f87d6ec8a9d86f39417a619f85.png)}.active .mousehuntItem-image.power_trinket{box-shadow:0 0 5px 3px #00e505 inset}.mountainHUD-minibossHelper{padding:2px;margin-left:-3px;font-size:10px}.mountainHUD-mouse{transition:.2s ease-in ease-out;transform-origin:bottom;will-change:transform}.mountainHUD-mouse:nth-child(1):hover{transform:scale(1.1) rotate(-3deg)}.mountainHUD-mouse:nth-child(2):hover{transform:scale(1.1)}.mountainHUD-mouse:nth-child(3):hover{transform:scale(1.1) rotate(3deg)}.mountainHUD-mouse .mountainHUD-mouse-image{border-radius:15px 15px 0 0}.mountainHUD-conduit-suggestions .mountainHUD-conduit-suggestion-item:hover .mousehuntItem-image{background-size:150%}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-percent{font-size:10px}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-percent span{font-size:12px}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-progressBar{top:7px;height:11px;background-color:#815026;box-shadow:inset 0 0 1px 1px #100802}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-progressBar span{box-shadow:inset 1px 0 2px 1px #000;transition:.2s ease-in}.mountainHUD-miniBoulder-state{filter:drop-shadow(0 0 1px #fff15b);transition:all .2s ease-out;transform-origin:center}.mountainHUD-miniBoulder-state:hover{filter:drop-shadow(0 0 3px #fff15b);transform:scale(1.4)}.mountainHUD-mouse-difficulty{font-size:13px}.mountainHUD-miniBoulderContainer .mountainHUD-miniBoulder-health-progressBar:hover span{filter:hue-rotate(105deg)}\n"; } }); // src/modules/location-huds/mountain/index.js var mountain_default; var init_mountain = __esm({ "src/modules/location-huds/mountain/index.js"() { init_utils2(); init_styles78(); mountain_default = () => __async(void 0, null, function* () { addHudStyles(styles_default77); }); } }); // src/modules/location-huds/mousoleum/styles.css var styles_default78; var init_styles79 = __esm({ "src/modules/location-huds/mousoleum/styles.css"() { styles_default78 = ".mousoleumHUD-buildWall.mousoleumHUD-wall-state{transform:scale(1.1)}.mousoleumHUD-bait .mousehuntItem-image{background-color:transparent}.mousoleumHUD-plankContainer{font-size:13px}.mousoleumHUD-plankContainer .mousoleumHUD-quantity{margin-left:-3px;font-size:12px;background:linear-gradient(90deg,#2f2f55,#0000);background-color:#2f2f55;border-radius:30px}\n"; } }); // src/modules/location-huds/mousoleum/index.js var spawnPlanks, main18, mousoleum_default3; var init_mousoleum3 = __esm({ "src/modules/location-huds/mousoleum/index.js"() { init_utils2(); init_styles79(); spawnPlanks = () => { const plankContainer = document.querySelector(".mousoleumHUD-plankContainer"); if (!plankContainer) { return; } plankContainer.addEventListener("click", () => { hg.views.HeadsUpDisplayMousoleumView.spawnShards(Math.floor(Math.random() * 20)); }); }; main18 = () => { spawnPlanks(); }; mousoleum_default3 = () => __async(void 0, null, function* () { addHudStyles(styles_default78); main18(); }); } }); // src/modules/location-huds/moussu-picchu/styles.css var styles_default79; var init_styles80 = __esm({ "src/modules/location-huds/moussu-picchu/styles.css"() { styles_default79 = ".moussuPicchuHUD-torchQuantity.quantity{font-size:12px;background-color:#fff;border-radius:4px}.moussuPicchuHUD .mousehuntItem-quantity.quantity{right:0;bottom:-8px;left:0;font-size:11px}.moussuPicchuHUD-itemContainer{top:150px;right:7px;left:7px;background-color:#320717;border-radius:5px;box-shadow:0 -7px #320717}a.moussuPicchuHUD-footer-item-action.mousehuntArmNowButton{top:8px;right:-1px;transform:scale(.8)}.moussuPicchuHUD-footer-item-name{width:auto;font-size:9px}.moussuPicchuHUD-footer-item.dragon_scale_crafting_item.mousehuntTooltipParent{width:20%}.moussuPicchuHUD-footer-item.gouda_cheese,.moussuPicchuHUD-footer-item.super_brie_cheese{width:26%}.moussuPicchuHUD-footer-item.glowing_gruyere_cheese{width:28%}.moussuPicchuHUD-itemBlock.mousehuntTooltipParent.dragon_bait{left:310px;display:flex;align-items:flex-end;justify-content:space-evenly;width:120px}.moussuPicchuHUD-powerType.moussuPicchuHUD-powerType{box-shadow:none}.moussuPicchuHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton[data-item-type=swiss_cheese],.moussuPicchuHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton[data-item-type=brie_cheese]{display:block}.moussuPicchuHUD-footer-item.dragon_scale_crafting_item .mousehuntTooltip{text-align:center}.moussuPicchuHUD-footer-item .mousehuntTooltip{bottom:130%}.moussuPicchuHUD-footer-item-image{width:30px;height:30px;background-color:transparent;background-size:cover}.moussuPicchuHUD-footer-item:nth-child(3) .mousehuntTooltip{right:-30px;left:-30px}.moussuPicchuHUD .mousehuntItem-image{width:38px;height:38px}.moussuPicchuHUD .mousehuntItem.active .mousehuntItem-image:after{box-shadow:inset 0 0 9px 2px #74e776}.moussuPicchuHUD-background{border-top-left-radius:25px;border-top-right-radius:25px;box-shadow:inset 0 5px 10px -2px #321c1e}.moussuPicchuHUD-background.wind{top:2px;left:8px}.moussuPicchuHUD-background.storm{top:3px;left:8px}.moussuPicchuHUD-powerTypeWarning.active.useless{right:200px;left:200px;padding:5px;color:#870808;background-color:#ffbfbf;border-color:#ff8a7c}.moussuPicchuHUD-powerType.wind,.moussuPicchuHUD-powerType.wind.active,.moussuPicchuHUD-powerType.rain,.moussuPicchuHUD-powerType.rain.active{filter:hue-rotate(90deg) opacity(.6);background-position:center;box-shadow:none}.moussuPicchuHUD-powerType.rain,.moussuPicchuHUD-powerType.rain.active{background-image:url(https://www.mousehuntgame.com/images/powertypes/shadow.png)}.moussuPicchuHUD-powerType.wind,.moussuPicchuHUD-powerType.wind.active{background-image:url(https://www.mousehuntgame.com/images/powertypes/arcane.png)}.moussuPicchuHUD-powerType.wind.active{filter:opacity(.8)}a.moussuPicchuHUD-powerType:hover{transform:scale(1.5)}a.moussuPicchuHUD-powerType{transition:transform .2s ease-out}\n"; } }); // src/modules/location-huds/moussu-picchu/index.js var moussu_picchu_default2; var init_moussu_picchu2 = __esm({ "src/modules/location-huds/moussu-picchu/index.js"() { init_utils2(); init_styles80(); moussu_picchu_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default79); }); } }); // src/modules/location-huds/nerg-plains/index.js var nerg_plains_default; var init_nerg_plains = __esm({ "src/modules/location-huds/nerg-plains/index.js"() { init_cheese_selectors(); nerg_plains_default = () => __async(void 0, null, function* () { cheese_selectors_default("nerg-plains", ["gumbo_cheese"]); }); } }); // src/modules/location-huds/pinnacle-chamber/index.js var pinnacle_chamber_default; var init_pinnacle_chamber = __esm({ "src/modules/location-huds/pinnacle-chamber/index.js"() { init_cheese_selectors(); pinnacle_chamber_default = () => __async(void 0, null, function* () { cheese_selectors_default("pinnacle-chamber", [ "rumble_cheese", "onyx_gorgonzola_cheese" ]); }); } }); // src/modules/location-huds/pollution-outbreak/styles.css var styles_default80; var init_styles81 = __esm({ "src/modules/location-huds/pollution-outbreak/styles.css"() { styles_default80 = '.pollutionOutbreakHUD-item-image{height:29px;padding:2px 0;margin:0;background-position:top;background-size:contain;box-shadow:none}.pollutionOutbreakHUD-timer{top:2px;bottom:unset;left:17px;z-index:29;padding:2px 7px 2px 3px;font-size:12px;border-top:1px solid #999;border-radius:5px 0 10px 4px}.pollutionOutbreakHUD-totalPollution-direction-status{max-width:375px}.pollutionOutbreakHUD-hunters{top:4px;right:144px;left:unset;padding:2px 5px;font-size:12px;border-right:none;border-left:1px solid #999;border-radius:0 5px 0 10px}.pollutionOutbreakHUD-timer,.pollutionOutbreakHUD-hunters,.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip{background:#f4f4f4cc}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/50f10ec5c7bc01cb99af2003b30d400d.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/0567284d6e12aaaed35ca5912007e070.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/2e17d44079e1538b28409c05da497440.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/398dca9a8c7703de969769491622ca32.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/322d0b6d9527f1f09c0e213c2fc7abbe.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/9a6acd429a9a3a4849ed13901288b0b8.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/8ed26547b6ce5606faed7ce7d3494232.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/ea9c0ec2e6d3d81c14e61f5ce924d0e1.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/53f8ec71d1a26beec6277152afdcc9ba.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/dd11711a25b80db90e0306193f2e8d78.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/759a709a33a52b2fb70f0d6d994afc16.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/eb46ac1e8197b13299ab860f07d963db.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/56ff0615bc3f03729b1d2b2bb52693c1.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/87937fa96bbb3b2dd3225df883002642.png)!important}.pollutionOutbreakHUD-pollution-title-block-icon[style*="https://www.mousehuntgame.com/images/titles/e258cd2f5606d678cc0bba000b930500.png"]{background-image:url(https://www.mousehuntgame.com/images/titles/043efe31de4f0f2e0ddca590fe829032.png)!important}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-icon,.pollutionOutbreakHUD-pollution-title-block .pollutionOutbreakHUD-pollution-title-block-icon,.pollutionOutbreakHUD-pollution-title-block.complete .pollutionOutbreakHUD-pollution-title-block-icon{top:0;left:-1px;width:13px;height:15px;background-color:#9b9d9d;background-position:center;background-size:contain;border-radius:0}.pollutionOutbreakHUD-pollution-title-block-name{right:3px;left:16px;font-size:11px;line-height:19px;text-align:center}.pollutionOutbreakHUD-pollution-title-block-icon{top:-2px;left:1px;width:16px;height:15px;background-color:transparent;background-position:center;background-size:contain}.pollutionOutbreakHUD-layer{z-index:7}.pollutionOutbreakHUD-pollution-title-block-progressBar{background-color:#469d30bf;box-shadow:-3px 2px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-progressBar:after{border:none}.pollutionOutbreakHUD-pollution-title-block.complete .pollutionOutbreakHUD-pollution-title-block-name{color:#d1d0cf;box-shadow:inset 0 2px 1px #6a6969}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-progressBar{border-right:1px solid #a13427;border-radius:0;box-shadow:-1px 2px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.hero,.pollutionOutbreakHUD-pollution-title-block.knight,.pollutionOutbreakHUD-pollution-title-block.lord_lady,.pollutionOutbreakHUD-pollution-title-block.baron_baroness{width:60px!important}.pollutionOutbreakHUD-pollution-title-block.count_countess,.pollutionOutbreakHUD-pollution-title-block.duke_dutchess{width:75px!important}.pollutionOutbreakHUD-pollution-title-block.grand_duke{width:85px!important}.pollutionOutbreakHUD-pollution-title-block.archduke_archduchess{width:80px!important}.pollutionOutbreakHUD-refineQuantityContainer{font-weight:900}.pollutionOutbreakHUD-pollutinumContainer.active .pollutionOutbreakHUD-refineQuantityContainer,.pollutionOutbreakHUD-refineQuantityContainer{display:inline-block;width:21px;margin-right:0;line-height:17px;vertical-align:middle;background:#000;border:none;border-radius:3px;box-shadow:0 0 1px #3fa126 inset}.pollutionOutbreakHUD-scumContainer{padding-right:10px;padding-left:5px;background-color:#2a2a2a}.pollutionOutbreakHUD-scumContainer:after{display:none}.pollutionOutbreakHUD-scumContainer .quantity,.pollutionOutbreakHUD-scumContainer .maxQuantity{font-size:12px}span.pollutionOutbreakHUD-refineQuantity{font-size:12px;font-weight:900}a.pollutionOutbreakHUD-refineButton{top:0;width:52px;height:17px;margin-right:5px;background-position:0 center;background-size:100%;border:1px solid #000;border-radius:3px}a.pollutionOutbreakHUD-refineButton:hover{filter:sepia(1)}.pollutionOutbreakHUD-refineButton:after,.pollutionOutbreakHUD-refineButton.busy:before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#494949;content:"Refine";background-color:#95ff7e;border-radius:2px}.pollutionOutbreakHUD-refineButton.busy:after{display:none}.pollutionOutbreakHUD-refineButton.active:after{content:"Refining";background-color:#55edff}.pollutionOutbreakHUD-refineButton.busy{background-color:#d0f4f9}.pollutionOutbreakHUD-refineButton.busy:before{content:"\\b7\\b7\\b7";background-color:#d0f4f9}.pollutionOutbreakHUD-refineButton{background:none}.pollutionOutbreakHUD-pollution-title-block .mousehuntTooltip b.pollutionOutbreakHUD-pollution-title-block-gender{display:none!important}.pollutionOutbreakHUD-pollution-title-block .mousehuntTooltip{font-size:12px;text-align:center}.pollutionOutbreakHUD-layer-fog{display:none}.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip{bottom:24px;left:3px;display:block;width:auto;padding:2px 5px;font-size:12px;background:url(https://www.mousehuntgame.com/images/ui/backgrounds/overlay.png) top right;background-color:transparent;border-top:1px solid #999;border-right:1px solid #999;border-bottom:1px solid #999;border-left:none;border-radius:0 10px 0 2px;box-shadow:none;animation:none!important}.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip-arrow{display:none}.pollutionOutbreakHUD-totalPollution-direction .mousehuntTooltip b{font-weight:400}.pollutionOutbreakHUD-item-quantity.quantity{margin-top:-1px;font-size:10px;line-height:15px;background-color:#333;border-top:none;border-radius:0 0 3px 3px;box-shadow:none}.pollutionOutbreakHUD-itemContainer{top:3px;right:14px}.pollutionOutbreakHUD-item-padding{margin:0 2px;border:1px solid #000;border-radius:6px}.pollutionOutbreakHUD-item{margin-top:1px}.pollutionOutbreakHUD-item.active .pollutionOutbreakHUD-item-padding:after{display:none}.pollutionOutbreakHUD-item:hover .pollutionOutbreakHUD-item-image,.pollutionOutbreakHUD-item:focus .pollutionOutbreakHUD-item-image{box-shadow:inset 0 0 25px 1px #63c833}.pollutionOutbreakHUD-item.active .pollutionOutbreakHUD-item-image a{z-index:1;border-top-left-radius:5px;border-top-right-radius:5px;box-shadow:inset 0 0 20px #8dd06c}.pollutionOutbreakHUD-item.active .pollutionOutbreakHUD-item-quantity.quantity,.pollutionOutbreakHUD-item.focus .pollutionOutbreakHUD-item-quantity.quantity,.pollutionOutbreakHUD-item:hover .pollutionOutbreakHUD-item-quantity.quantity{color:#bcf1a2}.pollutionOutbreakHUD-item:hover .pollutionOutbreakHUD-item-padding:after{border:none}.pollutionOutbreakHUD-pollution-title-block.hero:after{width:41px;content:"30 hrs"}.pollutionOutbreakHUD-pollution-title-block.knight:after{width:41px;content:"16 hrs"}.pollutionOutbreakHUD-pollution-title-block.lord_lady:after{width:41px;content:"18 hrs"}.pollutionOutbreakHUD-pollution-title-block.baron_baroness:after{width:41px;content:"18 hrs"}.pollutionOutbreakHUD-pollution-title-block.count_countess:after,.pollutionOutbreakHUD-pollution-title-block.duke_dutchess:after{width:56px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block.grand_duke:after{right:1px;width:67px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block.archduke_archduchess:after{right:0;width:62px;content:"1 day"}.pollutionOutbreakHUD-pollution-title-block:hover:after{display:flex}.pollutionOutbreakHUD-pollution-title-block.mousehuntTooltipParent:hover .mousehuntTooltip{display:none}.pollutionOutbreakHUD-pollution-title-block:after{position:absolute;top:-22px;right:1px;z-index:10;display:none;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;color:#ccc;text-align:center;text-shadow:1px 1px 1px #000;vertical-align:middle;content:"";background:linear-gradient(180deg,#1d1d1d,#242424);border-radius:10px 10px 0 0;box-shadow:0 1px #9b9d9d,0 2px #6a6969,0 0 0 2px #9b9d9d,0 1px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.complete:after,.pollutionOutbreakHUD-pollution-title-block.active:after{box-shadow:0 1px #9b9d9d,0 2px #6a6969,0 0 0 2px #9b9d9d,0 1px 1px #6a6969 inset}.pollutionOutbreakHUD-pollution-title-block.complete:after{background:#449830}.pollutionOutbreakHUD-pollution-title-block.active:after{background:#822515}.pollutionOutbreakHUD-totalPollution-direction-image{width:24px;height:22px;margin-left:-1px}.pollutionOutbreakHUD-pollution-title-block.active .pollutionOutbreakHUD-pollution-title-block-name{right:2px;font-weight:400}\n'; } }); // src/modules/location-huds/pollution-outbreak/index.js var pollution_outbreak_default2; var init_pollution_outbreak2 = __esm({ "src/modules/location-huds/pollution-outbreak/index.js"() { init_utils2(); init_styles81(); pollution_outbreak_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default80); }); } }); // src/modules/location-huds/prologue-pond/styles.css var styles_default81; var init_styles82 = __esm({ "src/modules/location-huds/prologue-pond/styles.css"() { styles_default81 = '.prologuePondView-chum-image{width:35px;height:35px;margin-top:-2px;filter:drop-shadow(0 0 2px #f378ff)}.prologuePondView-chum-quantity.quantity{padding:2px;font-size:14px}.prologuePondView-fishingBoat{top:30px;transition:.4s;transform:scale(1.2)}.prologuePondView-fishingBoat:hover{filter:brightness(1.2)}.prologuePondView-background-layer.water{top:19px;filter:brightness(.7);opacity:.6}.prologuePondView-background-layer.shore{top:25px;opacity:.7}.prologuePondView-currentLoot-value{font-size:12px;border-radius:4px;box-shadow:0 0 20px #000 inset}.prologuePondView-currentLoot-label{margin-bottom:3px}.prologuePondView-currentLoot{border:none}.prologuePondView-fishingBoat.forward .prologuePondView-fishingBoat-paperDoll{transform-origin:50% 40%;animation-duration:1.3s;animation-timing-function:ease-in-out}.disarmed .prologuePondView-fishingBoat-paperDoll{background-image:url(https://i.mouse.rip/mh-improved/boat-no-rod.png)}.prologuePondView-fishingBoat-paperDoll-layer.fish_net.active,.prologuePondView-fishingBoat-paperDoll-layer.fishing_rod.active{opacity:1;transition:.4s}.disarmed .prologuePondView-fishingBoat-paperDoll-layer.fish_net.active,.disarmed .prologuePondView-fishingBoat-paperDoll-layer.fishing_rod.active,.disarmed .prologuePondView-fishingBoat-paperDoll-layer.steam_reel.active,.disarmed .prologuePondView-fishingBoat-paperDoll-layer.fishing_line.active{opacity:0}.prologuePondView-chumDoober[style="top: 62px;"]{left:-96px}@keyframes mh-improved-boat-floating{0%{transform:translate(0)}50%{transform:translateY(3px)}to{transform:translate(0)}}@keyframes mh-improved-chum-floating{0%{transform:translate(0)}50%{transform:translateY(-5px)}to{transform:translate(0)}}.prologuePondView-chumDoober{filter:drop-shadow(-1px -1px 3px #526ba1) drop-shadow(-1px -1px 3px #526ba1) hue-rotate(94deg);animation-name:mh-improved-chum-floating;animation-duration:3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.prologuePondView-fishingBoat-paperDoll{animation-name:mh-improved-boat-floating;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media screen and (prefers-reduced-motion: reduce){.prologuePondView-fishingBoat-paperDoll,.prologuePondView-chumDoober{animation:none}}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(1){animation-delay:9s}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(2){animation-delay:6s}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(3){animation-delay:2s}.prologuePondView-chumDooberContainer .prologuePondView-chumDoober:nth-child(4){animation-delay:4s}.folkloreForestRegionView.stormy_water .prologuePondView-fishingBoat{left:220px}.folkloreForestRegionView.stormy_water .prologuePondView-background-layer.sky:after{top:30px;transform:scaleY(1.2);transform-origin:bottom}.prologuePondView-chumButton.active:after{background-image:url(https://i.mouse.rip/mh-improved/chum-lightning.png)}\n'; } }); // src/modules/location-huds/prologue-pond/index.js var addDisarmedClass, updatePondLootQuantity, prologue_pond_default; var init_prologue_pond = __esm({ "src/modules/location-huds/prologue-pond/index.js"() { init_utils2(); init_folklore_forest2(); init_styles64(); init_styles82(); addDisarmedClass = () => { const hud7 = document.querySelector("#hudLocationContent"); if (!hud7) { return; } if (user.bait_disarmed) { hud7.classList.add("disarmed"); } else { hud7.classList.remove("disarmed"); } }; updatePondLootQuantity = () => { var _a, _b, _c, _d, _e, _f; const lootMin = ((_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestProloguePond) == null ? void 0 : _b.current_loot_range) == null ? void 0 : _c.min) || 0; const lootMax = ((_f = (_e = (_d = user == null ? void 0 : user.quests) == null ? void 0 : _d.QuestProloguePond) == null ? void 0 : _e.current_loot_range) == null ? void 0 : _f.max) || 0; const lootMaxEl = document.querySelector(".prologuePondView-currentLoot-value-max"); if (!lootMaxEl) { return; } if (lootMin === lootMax) { lootMaxEl.classList.add("hidden"); } else { lootMaxEl.classList.remove("hidden"); } }; prologue_pond_default = () => __async(void 0, null, function* () { addHudStyles([styles_default63, styles_default81]); folklore_forest_default2(); addDisarmedClass(); onRequest("users/changetrap.php", addDisarmedClass); updatePondLootQuantity(); onRequest("environment/prologue_pond.php", updatePondLootQuantity); }); } }); // src/modules/location-huds/rift-bristle-woods/styles.css var styles_default82; var init_styles83 = __esm({ "src/modules/location-huds/rift-bristle-woods/styles.css"() { styles_default82 = '.riftBristleWoodsHUD-footer-item-quantity.quantity{top:30px;padding:2px 4px;font-size:12px}.riftBristleWoodsHUD-footer-item-tooltip-baitRow-image .riftBristleWoodsHUD-footer-item-quantity{top:15px;right:-3px;padding:0 3px;font-size:9px}.riftBristleWoodsHUD-footer-itemGroup.wide .riftBristleWoodsHUD-footer-item-image:first-child .riftBristleWoodsHUD-footer-item-quantity{top:27px}.riftBristleWoodsHUD-chamberProgressQuantity{top:71px;left:7px;z-index:1;width:50px;padding:0 6px;text-shadow:none;background-color:#fefae9;border-bottom-right-radius:10px;border-bottom-left-radius:10px;box-shadow:inset 1px -1px 3px 1px #d1caaa}.riftBristleWoodsHUD-portalEquipment.lootBooster .riftBristleWoodsHUD-footer-item-quantity{top:22px;right:unset;left:5px}.riftBristleWoodsHUD-footer-item-image.active.highlight{border-color:#03ff95;box-shadow:0 0 10px #00ec00 inset}.riftBristleWoodsHUD-chamberProgressBar span{filter:hue-rotate(53deg);box-shadow:-2px 1px 4px 1px #6e496d inset}.riftBristleWoodsHUD-portal.closed.disabled{filter:grayscale(1);opacity:.5}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ac.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ng.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ex.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.fr.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.st.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.un.active:after{position:absolute;top:38px;width:53px;padding:3px;margin-left:-17px;text-align:center;background-color:#338053;border:2px solid #00ff95;border-radius:7px 7px 10px 10px}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.fr.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.st.active:after,.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.un.active:after{margin-left:-45px;background-color:#623b2c;border:2px solid #d52a0b}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ac.active:after{content:"Influence"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ng.active:after{text-decoration:line-through;content:"Paladins"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.ex.active:after{content:"4 portals"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.un.active:after{content:"No Luck"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.fr.active:after{content:"Frozen"}.riftBristleWoodsHUD-statusEffect .riftBristleWoodsHUD-statusEffect-iconContainer .riftBristleWoodsHUD-statusEffect-icon.st.active:after{content:"Pursued"}.riftBristleWoodsHUD-acolyteChamber-sandDetails,.riftBristleWoodsHUD-acolyteChamber-acolyteChargeDetails{top:66px;left:404px;display:flex;flex-direction:column;align-items:center;padding:2px;font-size:13px;background-color:#3e1d11;border-width:2px}.riftBristleWoodsHUD-acolyteChamber-sandDetails{left:188px}.riftBristleWoodsHUD-acolyteChamber-obeliskPercent{margin-left:-2px;font-size:14px;font-weight:400;background-color:#6e460b}.riftBristleWoodsHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton{display:block}.riftBristleWoodsHUD-chamberSpecificText.acolyte_chamber{color:#e8dbb8}a.riftBristleWoodsHUD-acolyteChamber-retreat.mousehuntActionButton.tiny.cancel{margin-top:6px;margin-left:51px;font-size:9px;box-shadow:none;opacity:.8}a.riftBristleWoodsHUD-acolyteChamber-retreat.mousehuntActionButton.tiny.cancel:hover{opacity:1}.riftBristleWoodsHUD-acolyteStats.bronze:after{position:absolute;top:1px;right:40px;width:20px;height:17px;padding:0 5px;content:"";background-color:#4b3d30;background-image:url(https://www.mousehuntgame.com//images/ui/crowns/crown_bronze.png);background-position:center;background-size:cover;border-radius:8px 8px 0 0;box-shadow:0 -1px 0 1px #5b5041}.riftBristleWoodsHUD-acolyteStats{top:-1px;right:0;box-sizing:border-box;padding:0 5px;background-color:#4b3d30;background-blend-mode:multiply;border:1px solid #5b5041;border-bottom:none;border-radius:8px 8px 0 0}.riftBristleWoodsHUD-acolyteStats:before{position:absolute;right:0;bottom:0;left:-1px;height:2px;content:"";background-color:#4b3d30}.mousehuntTooltip .riftBristleWoodsHUD-footer-item-quantity.quantity{top:4px;left:31px;width:33px;border:1px solid #a6a6a6;box-shadow:none}.mousehuntTooltip .riftBristleWoodsHUD-footer-item-tooltip-baitRow-name{margin-left:50px}.mousehuntTooltip .riftBristleWoodsHUD-footer-item-tooltip-baitRow .mousehuntArmNowButton{right:-3px}.riftBristleWoodsHUD-footer-item-image{background-color:#e0cdbd}.riftBristleWoodsHUD-portalEquipment.disabled .riftBristleWoodsHUD-footer-item-quantity{top:27px;padding:0 3px;font-size:9px;opacity:.9}.riftBristleWoodsHUD-portalContainer{margin-top:-1px;border-top:2px solid #5b4d3f;border-top-left-radius:3px;box-shadow:-4px 2px 0 -2px #2e2014,-1px -1px 0 1px #514236}.riftBristleWoodsHUD-chamberDetails{background-color:#312822}.riftBristleWoodsHUD-chamberSpecificText.icebreak_chamber,.riftBristleWoodsHUD-chamberSpecificText.silence_chamber,.riftBristleWoodsHUD-chamberSpecificText.stalker_chamber,.riftBristleWoodsHUD-chamberSpecificText.treasury_chamber,.riftBristleWoodsHUD-chamberSpecificText.lucky_chamber{line-height:2}.riftBristleWoodsHUD-chamberSpecificText.potion_chamber{line-height:1.5}.riftBristleWoodsHUD-chamberDetails-image-padding{margin-right:4px;margin-left:-2px;background-color:#817871;border-color:#d1caaa;border-radius:10px}.riftBristleWoodsHUD-chamberDetails-imageContainer.floatl{margin:0}.riftBristleWoodsHUD-chamberDetails-imageContainer{display:flex;align-items:center;justify-content:space-evenly}.riftBristleWoodsHUD-chamberDetails-image:nth-last-child(3),.riftBristleWoodsHUD-chamberDetails-image:nth-last-child(3)~.riftBristleWoodsHUD-chamberDetails-image{width:auto}\n'; } }); // src/modules/location-huds/rift-bristle-woods/index.js var maybeAddUserscriptStyles, rift_bristle_woods_default2; var init_rift_bristle_woods2 = __esm({ "src/modules/location-huds/rift-bristle-woods/index.js"() { init_utils2(); init_styles83(); maybeAddUserscriptStyles = () => { const check = document.querySelector(".riftBristleWoodsHUD .item_container .item-Btn"); if (!check) { return; } const userscriptStyles = [ ".riftBristleWoodsHUD .item_container, .riftBristleWoodsHUD .charm_container { margin-top: 15px; }", ".riftBristleWoodsHUD { margin-bottom: 30px; }" ].join("\n"); addStyles(userscriptStyles, "riftBristleWoodsHUD", "mh-improved-rift-bristle-woods-userscript-styles"); }; rift_bristle_woods_default2 = () => { addHudStyles(styles_default82); setTimeout(() => { maybeAddUserscriptStyles(); }, 1e3); }; } }); // src/modules/location-huds/rift-burroughs/styles.css var styles_default83; var init_styles84 = __esm({ "src/modules/location-huds/rift-burroughs/styles.css"() { styles_default83 = '.riftBurroughsHud .baitContainer .baitOption .baitQuantity{width:31px;font-size:13px;background-color:#464646;border-radius:7px}.brift-ui .mist-display{position:absolute;top:15px;bottom:10px;left:260px;display:flex;align-items:center;padding:10px;font-size:13px;font-weight:900;cursor:pointer;background-color:#ecf4f5;border-radius:10px;box-shadow:inset 0 0 0 3px #cbdde0,inset 0 0 4px 4px #8d9392,0 2px 6px #5b5d5d}.brift-ui{z-index:1}.riftBurroughsHud .mistContainer{width:100px}.brift-ui .mist-display.state-yellow{background:radial-gradient(circle,#fff4a9 10%,#f4e830 50%)}.brift-ui .mist-display.state-green{background:radial-gradient(circle,#abe846 10%,#82d953 50%)}.brift-ui .mist-display.state-red{background:radial-gradient(circle,#ff9a9a 10%,#ff5e5e 50%)}.brift-ui .mouse-list{position:absolute;top:9px;right:20px;bottom:2px;display:flex}.brift-ui .mouse-type{display:flex;flex-direction:column;max-width:100px;padding:4px;margin:0 5px;background-color:#bfced0cf;border-radius:10px;box-shadow:inset 0 0 0 3px #cbdde0,inset 0 0 4px 4px #8d9392,0 2px 6px #5b5d5d}.brift-ui .mouse-type-title{min-width:95px;padding:3px 0;margin:-1px;font-size:12px;color:#d0f0f3;text-align:center;cursor:pointer;background-color:#828282;border-top-left-radius:7px;border-top-right-radius:8px}.brift-ui .mouse-type-mice{display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;margin:3px 0;font-size:6px}.brift-ui .mouse-type-title:hover,.brift-ui .mouse-type-title:focus{color:#b1ed71;cursor:pointer}.brift-ui .mouse-type-mouse{display:block;width:25px;height:25px}.brift-ui img.mouse-type-mouse-image{width:25px;height:25px}.brift-ui .mouse-type-mouse:nth-child(5) .mouse-type-mouse-image{border-bottom-left-radius:4px}.brift-ui .mouse-type-mouse:nth-child(8) .mouse-type-mouse-image{border-bottom-right-radius:4px}.brift-ui .mouse-type-mouse-link{position:relative}.brift-ui .mouse-type-mouse-name{position:absolute;bottom:-30px;left:-25px;z-index:2;display:none;padding:6px;font-size:10px;color:#000;text-align:center;white-space:nowrap;background-color:#fff;border:2px solid #000;border-radius:10px}.brift-ui .mouse-type-mouse-link:hover .mouse-type-mouse-name,.brift-ui .mouse-type-mouse-link:focus .mouse-type-mouse-name{display:block}.brift-ui .mouse-type.active{box-shadow:inset 0 0 0 2px #a7fc32,inset 0 0 4px 4px #8d9392,0 2px 6px #5b5d5d}.brift-ui .mouse-type.active .mouse-type-title{color:#b1ed71}.riftBurroughsHud .baitOption .toolTip .item .itemImage .quantity{font-size:14px;background-color:#ffffffbf}.riftBurroughsHud .baitWarning{top:36px;left:275px;z-index:20;width:280px;padding:5px;font-size:12px;line-height:15px;color:#000;background-color:#ffbfbf;border:1px solid #b60000;border-radius:10px;box-shadow:0 0 10px 3px #4d4a4a}.is_misting .mist-display:after{top:9px;bottom:unset;content:"\\2191"}.mist-display:after{position:absolute;right:0;bottom:6px;left:0;font-weight:900;color:#2f3b1c;text-align:center;content:"\\2193"}.riftBurroughsHud .mistButton{filter:hue-rotate(258deg) brightness(.9)}.riftBurroughsHud.is_misting .mistButton{filter:hue-rotate(319deg) brightness(1.3)}.riftBurroughsHud .mistQuantity{font-size:12px;font-weight:900;color:#3d3d3d;text-shadow:1px 1px 2px #f4f4f4}\n'; } }); // src/modules/location-huds/rift-burroughs/area-mice.json var area_mice_default; var init_area_mice = __esm({ "src/modules/location-huds/rift-burroughs/area-mice.json"() { area_mice_default = { tier_0: { string: [ "rift_amplified_brown", "rift_amplified_grey", "rift_amplified_white", "rift_automated_sentry", "rift_cybernetic_specialist", "rift_doktor", "rift_evil_scientist", "rift_portable_generator", "rift_bio_engineer", "rift_surgeon_bot" ], terra: [], polluted: [] }, tier_1: { string: ["rift_count_vampire", "rift_phase_zombie", "rift_prototype", "rift_robat", "rift_tech_ravenous_zombie"], terra: [ "rift_clump", "rift_cyber_miner", "rift_itty_bitty_burroughs", "rift_pneumatic_dirt_displacement", "rift_rifterranian" ], polluted: ["rift_mecha_tail", "rift_spore", "rift_toxikinetic"] }, tier_2: { string: [ "rift_count_vampire", "rift_lycan", "rift_phase_zombie", "rift_prototype", "rift_revenant", "rift_robat", "rift_tech_ravenous_zombie", "rift_zombot_unipire" ], terra: [ "rift_boulder_biter", "rift_clump", "rift_cyber_miner", "rift_itty_bitty_burroughs", "rift_lambent", "rift_master_exploder", "rift_pneumatic_dirt_displacement", "rift_rifterranian" ], polluted: [ "rift_mecha_tail", "rift_spore", "rift_rancid_bog_beast", "rift_radioactive_gold", "rift_toxic_avenger", "rift_toxikinetic" ] }, tier_3: { string: ["rift_monstrous_abomination"], terra: ["rift_big_bad_burroughs"], polluted: [ "rift_assassin_beast", "rift_menace", "rift_plutonium_tentacle", "rift_rancid_bog_beast", "rift_radioactive_gold", "rift_toxic_avenger" ] } }; } }); // src/modules/location-huds/rift-burroughs/mice-name-images.json var mice_name_images_default; var init_mice_name_images = __esm({ "src/modules/location-huds/rift-burroughs/mice-name-images.json"() { mice_name_images_default = { rift_amplified_brown: { name: "Amplified Brown Mouse", image: "9547c50891ce66c00188a0ce278cd9e0.gif" }, rift_amplified_grey: { name: "Amplified Grey Mouse", image: "b6a9a248439e08367139cba601583781.gif" }, rift_amplified_white: { name: "Amplified White Mouse", image: "877fd4f1831f1ffd76e6ab9334e96efc.gif" }, rift_automated_sentry: { name: "Automated Sentry Mouse", image: "d57b33cdbb0d14bb138fe91c166325fa.gif" }, rift_cybernetic_specialist: { name: "Cybernetic Specialist Mouse", image: "5a0d95f2211444717f29f74959b89366.gif" }, rift_doktor: { name: "Doktor Mouse", image: "a44277c1d72f76fb507df2a7a4938542.gif" }, rift_evil_scientist: { name: "Evil Scientist Mouse", image: "fc4030fcea4bb7e0118aa4d46705f37e.gif" }, rift_portable_generator: { name: "Portable Generator Mouse", image: "f0437620c8c86379e6f8fefb9e82d2c3.gif" }, rift_bio_engineer: { name: "Rift Bio Engineer", image: "1d91dc3220b096af75ca0423a77ccc83.gif" }, rift_surgeon_bot: { name: "Surgeon Bot Mouse", image: "6678f8a7003093b081c941a3d571abb8.gif" }, rift_count_vampire: { name: "Count Vampire Mouse", image: "851f1d4c760d0f263a38d0fa28bbf2fa.gif" }, rift_phase_zombie: { name: "Phase Zombie", image: "c9675fb32b01e91d43f5ebbbf3bf8f02.gif" }, rift_prototype: { name: "Prototype Mouse", image: "8be0e48b2fa241e65312726433612871.gif" }, rift_robat: { name: "Robat Mouse", image: "fa345c83ff784adfbe79230f279be2c6.gif" }, rift_tech_ravenous_zombie: { name: "Tech Ravenous Zombie", image: "6249796e35d572687db2aa4a4e391335.gif" }, rift_clump: { name: "Clump Mouse", image: "a901fe9feea2e04ca1da1a3769dd7f77.gif" }, rift_cyber_miner: { name: "Cyber Miner Mouse", image: "b3768e070c9b40fdfbfef4f39025acc3.gif" }, rift_itty_bitty_burroughs: { name: "Itty Bitty Rifty Burroughs Mouse", image: "723735735fcbc38d75c5d980b454dc4e.gif" }, rift_pneumatic_dirt_displacement: { name: "Pneumatic Dirt Displacement Mouse", image: "70bc4cb7409df8be9e1942e27b75c05f.gif" }, rift_rifterranian: { name: "Rifterranian Mouse", image: "7abd07fac15972db28231f80fd03c075.gif" }, rift_mecha_tail: { name: "Mecha Tail Mouse", image: "e329e623c6ff501d03c7077b8ecfabf9.gif" }, rift_spore: { name: "Radioactive Ooze Mouse", image: "f037c2df0d654caaadfe4c8a58a13431.gif" }, rift_toxikinetic: { name: "Toxikinetic Mouse", image: "bae7062027162025735a5ccbcaf58e5f.gif" }, rift_lycan: { name: "Lycanoid", image: "18c987fe4ec5ee678114cb748dedfb6d.gif" }, rift_revenant: { name: "Revenant Mouse", image: "a0060e929e11030025f6609a5cb81c51.gif" }, rift_zombot_unipire: { name: "Zombot Unipire the Third", image: "95be1a40ec7cf3868fb9041bf43658a8.gif" }, rift_boulder_biter: { name: "Boulder Biter Mouse", image: "7da77ad10f719afce4f17453cb964f40.gif" }, rift_lambent: { name: "Lambent Mouse", image: "b301f96263690c2a3dc02a4625aa1c9b.gif" }, rift_master_exploder: { name: "Master Exploder Mouse", image: "6d04a2ec4e21296272e080df7033a29a.gif" }, rift_rancid_bog_beast: { name: "Rancid Bog Beast Mouse", image: "5a7f8551ed42a6344e7948b18687e97d.gif" }, rift_radioactive_gold: { name: "Super Mega Mecha Ultra RoboGold Mouse", image: "022763eaba9d7f6fdbd5cddb3813d6b8.gif" }, rift_toxic_avenger: { name: "Toxic Avenger Mouse", image: "74891cb924851366d67a3632ed56fa6b.gif" }, rift_monstrous_abomination: { name: "Monstrous Abomination Mouse", image: "12dc2f226fd5e26144deb154d293e6db.gif" }, rift_big_bad_burroughs: { name: "Big Bad Behemoth Burroughs Mouse", image: "dfb15f35c1fe4bb07e2b276071a7c439.gif" }, rift_assassin_beast: { name: "Assassin Beast Mouse", image: "ddb77d3c8cad610f4270f6d1b401602c.gif" }, rift_menace: { name: "Menace of the Rift Mouse", image: "a286833ada1c4718096e30db734514a2.gif" }, rift_plutonium_tentacle: { name: "Plutonium Tentacle Mouse", image: "97c996e63dab24de6ed6a089f318012e.gif" } }; } }); // src/modules/location-huds/rift-burroughs/index.js var makeMiceList, hud5, rift_burroughs_default2; var init_rift_burroughs2 = __esm({ "src/modules/location-huds/rift-burroughs/index.js"() { init_utils2(); init_styles84(); init_area_mice(); init_mice_name_images(); makeMiceList = (type, title, mice, currentType, appendTo) => { const wrapper = makeElement("div", ["mouse-type", type]); if (currentType === type) { wrapper.classList.add("active"); } const mTitle = makeElement("a", "mouse-type-title", title); mTitle.addEventListener("click", () => { let id = 1426; if ("terra" === type) { id = 1551; } else if ("polluted" === type) { id = 1550; } hg.utils.TrapControl.setBait(id); hg.utils.TrapControl.go(); }); wrapper.append(mTitle); const miceWrapper = makeElement("div", "mouse-type-mice"); mice.forEach((mouse) => { const mouseWrapper = makeElement("div", "mouse-type-mouse"); const mouseLink = makeElement("a", "mouse-type-mouse-link"); mouseLink.addEventListener("click", (e) => { hg.views.MouseView.show(mouse); e.preventDefault(); }); const mouseImage = makeElement("img", "mouse-type-mouse-image"); mouseImage.src = `https://www.mousehuntgame.com/images/mice/thumb/${mice_name_images_default[mouse].image}`; mouseLink.append(mouseImage); makeElement("div", "mouse-type-mouse-name", mice_name_images_default[mouse].name, mouseLink); mouseWrapper.append(mouseLink); miceWrapper.append(mouseWrapper); }); wrapper.append(miceWrapper); appendTo.append(wrapper); return wrapper; }; hud5 = () => { var _a; if (!((_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRiftBurroughs)) { return; } const quest = user.quests.QuestRiftBurroughs; const armedBait = (quest == null ? void 0 : quest.armed_bait) || "disarmed"; const mistLevel = (quest == null ? void 0 : quest.mist_released) || 0; const mistTier = (quest == null ? void 0 : quest.mist_tier) || "tier_0"; const hudEl = document.querySelector("#hudLocationContent .riftBurroughsHud"); if (!hudEl) { return; } let color = "yellow"; if (mistLevel >= 6) { color = "green"; } if (mistLevel >= 19) { color = "red"; } const existing = document.querySelector(".brift-ui"); if (existing) { existing.remove(); } const wrapper = makeElement("div", ["brift-ui"]); const mist = makeElement("div", ["mist-display", `state-${color}`], `${mistLevel} / 20 `); mist.addEventListener("click", (e) => { hg.views.HeadsUpDisplayRiftBurroughsView.toggleMist(e.target); }); wrapper.append(mist); const availableMice = area_mice_default[mistTier]; const mouseWrapper = makeElement("div", "mouse-list"); let currentType = null; switch (armedBait) { case "brie_string_cheese": case "marble_string_cheese": case "magical_string_cheese": currentType = "string"; break; case "polluted_parmesan_cheese": currentType = "polluted"; break; case "terre_ricotta_cheese": currentType = "terra"; break; } makeMiceList("string", "Magical String", availableMice.string, currentType, mouseWrapper); makeMiceList("terra", "Terra Ricotta", availableMice.terra, currentType, mouseWrapper); makeMiceList("polluted", "Polluted Parm.", availableMice.polluted, currentType, mouseWrapper); wrapper.append(mouseWrapper); hudEl.append(wrapper); }; rift_burroughs_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default83); hud5(); onRequest("*", hud5); }); } }); // src/modules/location-huds/rift-furoma/styles.css var styles_default84; var init_styles85 = __esm({ "src/modules/location-huds/rift-furoma/styles.css"() { styles_default84 = ".riftFuromaHUD-battery-energyRemaining{right:0;left:-1px;width:auto;font-size:13px;font-style:normal;color:#fff;text-shadow:1px 1px 1px #000,1px 1px 2px #000;background-color:#7a8b8a;border:1px solid #535757;border-radius:1px}.riftFuromaHUD-itemGroup-activeItem .quantity{padding:1px 2px;font-size:12px;font-weight:400;background-color:#dadada}.riftFuromaHUD-battery-energyTotal{font-size:10px;color:#e0e0e0}.riftFuromaHUD-droid-details .riftFuromaHUD-chargeLevel-stat-value{text-shadow:1px 1px 1px #000,0 0 2px #000}.riftFuromaHUD-droid-image{transition:all .5s}.riftFuromaHUD-droid-image:hover{filter:brightness(1.3)}.riftFuromaHUD-battery-image:hover,.riftFuromaHUD-itemGroup.can_craft .riftFuromaHUD-itemGroup-craftButton:hover{filter:brightness(1.2)}.riftFuromaHUD.pagoda .riftFuromaHUD-chargeLevel-statContainer{display:grid;grid-template-columns:1fr 1fr;justify-items:stretch}.riftFuromaHUD-chargeLevel-stat.power{width:unset}.riftFuromaHUD-chargeLevel-stat.luck,.riftFuromaHUD-chargeLevel-stat.power{display:flex;flex-direction:column;align-items:center;width:unset}.riftFuromaHUD-chargeLevel-stat.power_usage{grid-column:span 2;width:unset}.riftFuromaHUD-chargeLevel-statContainer .riftFuromaHUD-chargeLevel-stat-value{padding-top:3px;font-size:17px}.riftFuromaHUD-chargeLevel-stat.power_usage .riftFuromaHUD-chargeLevel-stat-value{padding-top:0;margin-top:-2px;font-size:13px}.riftFuromaHUD-chargeLevel-stat.luck .riftFuromaHUD-chargeLevel-stat-label,.riftFuromaHUD-chargeLevel-stat.power .riftFuromaHUD-chargeLevel-stat-label{font-size:10px;font-weight:900}span.riftFuromaHUD-craftingPopup-recipe-part-quantity,.riftFuromaHUD-craftingPopup-recipe-part-padding span.quantity{font-size:12px}\n"; } }); // src/modules/location-huds/rift-furoma/index.js var rift_furoma_default2; var init_rift_furoma2 = __esm({ "src/modules/location-huds/rift-furoma/index.js"() { init_utils2(); init_styles85(); rift_furoma_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default84); }); } }); // src/modules/location-huds/rift-gnawnia/styles.css var styles_default85; var init_styles86 = __esm({ "src/modules/location-huds/rift-gnawnia/styles.css"() { styles_default85 = ".riftGnawniaHud:hover .riftGnawniaHud-targetsBackground,.riftGnawniaHud:focus .riftGnawniaHud-targetsBackground,.riftGnawniaHud:active .riftGnawniaHud-targetsBackground{filter:hue-rotate(-40deg)}.riftGnawniaHud-targetsBackground{transition:.5s}.riftGnawniaHud-targets .mousehuntTooltip{inset:0 34px 0 -5px;display:flex;align-items:center;width:auto;font-size:11px;text-align:center;background-color:#d6e8e4;border:1px solid #29c7cb;opacity:.9}.riftGnawniaHud-targets.mousehuntTooltipParent:hover .mousehuntTooltip{display:flex}.riftGnawniaHud-targets{right:-10px}.riftGnawniaHud-targets .mousehuntTooltip .mousehuntTooltip-arrow{display:none}.riftGnawniaHud .riftGnawniaHud-stringBait>.itemImage,.riftGnawniaHud .riftGnawniaHud-potion>.itemImage,.riftGnawniaHud .riftGnawniaHud-craftingBait>.itemImage{background-color:#a39d99}.riftGnawniaHud .mousehuntTooltip.top{width:280px;min-height:40px}.riftGnawniaHud .riftGnawniaHud-tooltip-content{margin-right:0}.riftGnawniaHud .riftGnawniaHud-stringBait.mousehuntTooltipParent:hover .mousehuntTooltip,.riftGnawniaHud .riftGnawniaHud-potion.mousehuntTooltipParent:hover .mousehuntTooltip,.riftGnawniaHud .riftGnawniaHud-craftingBait.mousehuntTooltipParent:hover .mousehuntTooltip{display:grid;grid-template-columns:1fr 1fr;place-items:center stretch}.riftGnawniaHud .mousehuntTooltipParent:hover .mousehuntTooltip .riftGnawniaHud-tooltip-result{position:relative;bottom:0;display:flex;align-items:center;justify-content:center;width:100%}.riftGnawniaHud-tooltip-quantity{box-sizing:border-box;width:50px;padding:2px}.riftGnawniaHud-label{text-shadow:1px 1px #333,0 0 1px #333,-1px 0 1px #333}\n"; } }); // src/modules/location-huds/rift-gnawnia/index.js var rift_gnawnia_default; var init_rift_gnawnia = __esm({ "src/modules/location-huds/rift-gnawnia/index.js"() { init_utils2(); init_styles86(); rift_gnawnia_default = () => __async(void 0, null, function* () { addHudStyles(styles_default85); }); } }); // src/modules/location-huds/rift-valour/styles.css var styles_default86; var init_styles87 = __esm({ "src/modules/location-huds/rift-valour/styles.css"() { styles_default86 = '#overlayPopup.mh-vrift-popup .jsDialogContainer{background:linear-gradient(#20216f,#703271,#20216f);outline:1px solid #20216f}#overlayPopup.mh-vrift-popup .title{padding:10px;font-size:18px;color:#fff}.mh-vrift-sim-results{display:grid;grid-template-columns:70% 30%;margin:0 1em;color:#fff}.mh-vrift-sim-results .stats{display:grid;grid-template-columns:repeat(2,1fr);grid-row-gap:1rem;margin-bottom:2em}.mh-vrift-sim-results .result{display:flex;place-content:center space-between}.mh-vrift-sim-results .label{width:100%;padding-left:10px;font-size:13px;line-height:30px;color:#eaeaea;vertical-align:middle;background-color:#c3c3c31a;border-radius:5px}.mh-vrift-sim-results .value{position:relative;left:-25px;width:35px;font-size:14px;line-height:30px;color:#eaeaea;text-align:center;background:linear-gradient(#07041d,#4d3bac);border:1px solid #6d86de;border-radius:5px}.mh-vrift-sim-results .eclipses{padding:10px;margin-bottom:2em;font-size:13px;background-color:#c3c3c31a;border-radius:5px}.mh-vrift-sim-results .eclipses h3{padding-bottom:11px;font-size:16px;color:#fff}.mh-vrift-sim-results .eclipses .header{padding-bottom:3px;margin-bottom:10px;font-size:12px;line-height:unset;color:#afafafd9;border-bottom:1px solid rgb(175 175 175 / 85%)}.mh-vrift-sim-results .eclipses li{display:flex;justify-content:space-between;line-height:24px;text-align:right}.mh-vrift-sim-results .eclipses .guaranteed{color:#80e472}.mh-vrift-sim-results .number{text-align:left}.valourRiftHUD-dialog-inventory-item-quantity.quantity{min-width:30px;font-size:12px;font-weight:900;line-height:20px;text-align:center;text-shadow:none;background-color:#282659;box-shadow:none}.valourRiftHUD-dialog-inventory-item-name{text-align:center}.valourRiftHUD-towerUpgradeLevel-costTotal{font-size:14px}span.valourRiftHUD-towerUpgrade-currentValue{font-size:13px;font-weight:900;line-height:20px;color:#fff;background-color:#282659}.valourRiftHUD-towerUpgrade-currentValueContainer{display:block;line-height:20px;vertical-align:middle}.valourRiftHUD-towerUpgrade-header-title{padding:10px;font-size:15px}.valourRiftHUD-towerUpgrade-header{display:grid;grid-template-columns:150px 1fr;place-items:center stretch}.valourRiftHUD-towerUpgrade-content{padding:10px}.valourRiftHUD-powerUp.canUpgrade:after{top:6px;left:13px;filter:drop-shadow(1px 4px 6px #40f5ff) hue-rotate(73deg);box-shadow:0 0 6px 3px #2d9ba2}.valourRiftHUD-powerUp-level span{margin-left:-1px;border-radius:0}.valourRiftHUD-powerUp-level:first-child span{border-top-left-radius:5px;border-bottom-left-radius:5px}.valourRiftHUD-powerUp-level:last-child span{border-top-right-radius:5px;border-bottom-right-radius:5px}.valourRiftHUD-powerUp-currentLevel{top:9px;right:8px;width:23px;padding:2px;font-size:15px;line-height:27px;color:#fff;background:radial-gradient(circle,#4d3bac,#1a115b);border:none;border-radius:10px 15px 15px 10px;box-shadow:inset 0 0 2px 1px #171717}.valourRiftHUD-powerUp.hunt_limit .valourRiftHUD-powerUp-currentLevel{font-size:11px}.valourRiftHUD-gauntletBait-quantity.quantity{top:45px;font-size:13px;font-weight:900}.valourRiftHUD-towerLoot-quantity.quantity{font-size:12px;font-weight:900}.valourRiftHUD-bait-quantity.quantity{width:60px;font-size:13px;line-height:18px}.valourRiftHUD-crafting-quantity.quantity{width:42px;font-size:12px}.valourRiftHUD-fuelContainer-quantity.quantity{z-index:1;padding:1px 2px;margin-top:-7px;margin-right:-3px;font-size:14px;background-color:#281c55;border:1px solid #7db4dc;box-shadow:0 0 0 1px #7eaacd}.valourRiftHUD-fuelContainer-buyButton{top:-4px;left:98px}.valourRiftHUD-previewTower{top:45px;left:580px;filter:grayscale(1);opacity:.6}.valourRiftHUD-previewTower.mh-vrift-sim-link{top:43px;left:550px;width:21px;height:21px;color:transparent;background-image:url(https://i.mouse.rip/mh-improved/sim.png);filter:grayscale(1);opacity:.4}.valourRiftHUD-previewTower.mh-vrift-sim-link:hover{opacity:.8}span.valourRiftHUD-huntsRemaining-value{margin-right:5px;font-size:15px;font-weight:900;line-height:14px}span.valourRiftHUD-stepsTaken-value{font-size:13px;font-weight:900;color:#2d2964}#mh-vrift-floor-name{position:absolute;top:2px;right:25px;left:25px;z-index:1;height:20px;font-family:Rockwell,Rockwell Nova,Roboto Slab,"DejaVu Serif",Sitka Small,serif;font-size:21px;font-variant:petite-caps;color:#ebfffd;text-shadow:0 0 1px #62fff3;background-color:#231857;opacity:0;transition:opacity .2s ease-in-out;-webkit-text-stroke:1px #4fc5bc}.valourRiftHUD-currentFloor:hover #mh-vrift-floor-name,.valourRiftHUD-state.tower:hover #mh-vrift-floor-name,.valourRiftHUD-currentFloor:focus #mh-vrift-floor-name,.valourRiftHUD-state.tower:focus #mh-vrift-floor-name{opacity:1}.bottom.mh-vrift-floor-tooltip{right:-60px;bottom:-40px;left:-70px;font-size:11px}.bottom.mh-vrift-floor-tooltip .mousehuntTooltip-arrow{display:none}.valourRiftHUD-stepsTaken .mousehuntTooltip{top:-5px;left:107%;width:auto;min-width:170px}.valourRiftHUD-huntsRemaining .mousehuntTooltip{top:5px;left:105%;width:auto;min-width:335px}.valourRiftPopupClaim-lootLog-name{font-size:12px}.valourRiftPopup-towerStat .valourRiftPopup-label{font-size:14px}.valourRiftPopupClaim-stats-content{display:grid;grid-template-columns:repeat(3,1fr);place-items:center center;padding:5px 0 5px 15px;margin:20px;text-align:unset}.valourRiftPopup-towerStat .valourRiftPopup-value{font-size:25px;line-height:30px}.valourRiftPopup-towerStat{display:flex;flex-flow:column;align-items:center;justify-content:center;width:auto;text-align:center}.valourRiftPopup-towerStat.wide{width:unset}.valourRiftPopup-towerStat:last-child{margin-right:-110px}.valourRiftPopupClaim-cacheLoot-image,.valourRiftPopupClaim-lootLog .itemImage{box-shadow:none}.valourRiftPopupClaim-footer{margin-top:-40px}.valourRiftPopupClaim-chest-floor{filter:drop-shadow(0 0 5px #fee198)}.valourRiftPopupClaim-cacheLoot.robbery_slot_a .valourRiftPopupClaim-cacheLoot-image{filter:drop-shadow(0 5px 10px #fe8f21);box-shadow:none}.valourRiftPopupClaim-cacheLoot.research_slot_b .valourRiftPopupClaim-cacheLoot-image{filter:drop-shadow(0 5px 10px #28a938);box-shadow:none}.valourRiftPopupClaim-cacheLoot .mousehuntTooltip .mousehuntTooltip-arrow,.valourRiftPopupClaim-cacheLoot.robbery_slot_a .mousehuntTooltip:after,.valourRiftPopupClaim-cacheLoot.research_slot_b .mousehuntTooltip:after{display:none}.valourRiftPopupClaim-cacheLoot.robbery_slot_a .valourRiftPopupClaim-cacheLoot-image:before,.valourRiftPopupClaim-cacheLoot.research_slot_b .valourRiftPopupClaim-cacheLoot-image:before{top:unset;right:-2px;bottom:0;width:30px;height:30px;content:""}.valourRiftPopupClaim-lootLogTitle{color:#462605}.valourRiftPopupClaim-newFloorRecord{grid-column:span 3}.valourRiftPopupIllustrated-inventoryCostContainer{right:0;left:80px;width:352px;font-size:12px;font-weight:400;line-height:14px;text-align:center}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-highestFloor{font-size:12px;font-weight:900;color:#f2bc7d}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-highestFloorReachedContainer{top:72px;right:69px;display:flex;padding:3px 6px;background-color:#3f354d;border:1px solid #2f283a;border-radius:4px}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-description{display:flex;font-size:12px;font-style:normal;line-height:13px}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost-quantity{margin-top:3px;margin-left:-14px;font-size:14px;box-shadow:1px -4px 2px #310f3c inset,0 0 3px 3px #b06fd3 inset}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost-image{background-color:#c7c8c6;background-position:-1px -1px}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost.error .valourRiftHUD-augmentation-cost-quantity{color:#ccc;background-color:#744444}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-augmentation-cost.error .valourRiftHUD-augmentation-cost-image{filter:grayscale(1);box-shadow:0 0 2px 2px #744444}.valourRiftPopupIllustrated.enterTower a[data-type=tu] .valourRiftHUD-augmentation-description{font-size:10px;line-height:10px}.valourRiftPopupIllustrated.enterTower a.valourRiftHUD-augmentation.locked{filter:grayscale(.8) opacity(.6)}.valourRiftPopupIllustrated.enterTower .valourRiftHUD-dialog-inventory-item-name{padding-right:6px;font-size:12px;line-height:12px}.valourRiftHUD-tower .valourRiftHUD-tower-sprite-name,.valourRiftHUD-tower .valourRiftHUD-tower-sprite.step,.valourRiftHUD-tower .valourRiftHUD-tower-sprite.player,.valourRiftHUD-tower .valourRiftHUD-tower-sprite.floor .valourRiftHUD-tower-sprite-image:before{opacity:1;transition:opacity .4s ease-in-out}.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.step,.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.player,.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.floor .valourRiftHUD-tower-sprite-image:before{opacity:.4}.valourRiftHUD-tower:hover .valourRiftHUD-tower-sprite.player:hover{opacity:1}.valourRiftHUD-tower-sprite.floor .valourRiftHUD-tower-sprite-name{font-size:11px;mix-blend-mode:hard-light}.valourRiftHUD.tower .valourRiftHUD-huntsRemaining .valourRiftHUD-state.tower,.valourRiftHUD.tower .valourRiftHUD-stepsTaken .valourRiftHUD-state.tower{display:flex;gap:5px;align-items:center;justify-content:flex-end}.valourRiftHUD.tower .valourRiftHUD-state.tower{font-size:10px}.valourRiftHUD-powerUp .valourRiftHUD-powerUpIcon{top:2px;left:2px;width:44px;height:45px}.valourRiftHUD-powerUp-title{margin-top:-3px;margin-left:2px;font-size:13px}a.valourRiftHUD-gauntletBait-image{background-color:#694481;outline:1px solid #564065}a.valourRiftHUD-bait-image{background-color:#6d90de;outline:2px solid #4f71bc;box-shadow:0 0 0 2px #5071bc}.valourRiftHUD-towerLoot-thumb:hover{transform:scale(2.2)}.valourRiftHUD-towerLoot-thumb{background-size:80%;transition:.2s ease-in;transform:scale(1.7)}a.valourRiftHUD-gauntletBait-image.active{filter:drop-shadow(0 5px 5px #68b868)}.floor_8 .valourRiftHUD-currentFloor{filter:hue-rotate(125deg);mix-blend-mode:color-dodge}.floor_8 .valourRiftHUD-floorProgress-barContainer{filter:hue-rotate(110deg)}.eclipse.floor_8 .valourRiftHUD-floorProgress-barContainer{filter:brightness(1.2);animation:fortRoxlairPulse 2s 3}.valourRiftHUD-tower-sprite.floor_8 .valourRiftHUD-tower-sprite-image{filter:saturate(1.2);box-shadow:inset 0 10px 25px 5px #000}.valourRiftHUD-floorProgress-boss{top:-2px;z-index:2;width:32px;height:32px;border-radius:3px;outline:2px solid #6c87be;box-shadow:0 0 2px 2px #231855}.mh-improved-player-spin{animation:mh-improved-spin .7s linear 1}.flipped .mh-improved-player-spin{animation:mh-improved-spin-flipped .7s linear 1}.mh-improved-player-spin.mh-improved-player-large{animation:mh-improved-spin-large .7s linear 1}.flipped .mh-improved-player-spin.mh-improved-player-large{animation:mh-improved-spin-large-flipped .7s linear 1}@media (prefers-reduced-motion: reduce){.eclipse.floor_8 .valourRiftHUD-floorProgress-barContainer,.mh-improved-player-spin,.mh-improved-player-spin.mh-improved-player-large,.flipped .mh-improved-player-spin,.flipped .mh-improved-player-spin.mh-improved-player-large{animation:none}}.valourRiftHUD-crafting-image{background-position:center;background-size:120%}.valourRiftHUD-tower-sprite.player .valourRiftHUD-tower-sprite-image.mh-improved-player-large{transform:scale(2)}.valourRiftHUD-tower-sprite.player.flipped .valourRiftHUD-tower-sprite-image.mh-improved-player-large{transform:scale(-2,2)}.valourRiftHUD{filter:drop-shadow(0 2px 1px #25266a)}.valourRiftHUD.tower .valourRiftHUD-huntsRemaining .valourRiftHUD-state.tower{gap:0;margin-right:-3px}.valourRiftHUD-fuelContainer-armButton{font-size:12px}.valourRiftHUD-warningContainer.active.hidden,.valourRiftHUD-powerTypeWarning.active.hidden{display:none}.uc-text-highlight,.valourRiftHUD-powerUp-currentLevel.uc-text-highlight{color:#90ffe1}\n'; } }); // src/modules/location-huds/rift-valour/simulator.js function getCacheLoot(floor) { let idx = floor > 1 ? floor - 1 : 0; if (idx >= cacheLoot.length) { idx = cacheLoot.length - 1; } const loot = cacheLoot[idx]; return loot; } function convertToCR(power, luck, stats) { const mPower = stats[0]; const mEff = stats[1]; return Math.min(1, (power * mEff + 2 * Math.pow(luck * Math.min(mEff, 1.4), 2)) / (mPower + power * mEff)); } function simulate(shouldDisplay = true) { const time = Date.now() / 1e3; const lvSpeed = window.user.enviroment_atts.power_up_data.long_stride.current_value; const lvSync = window.user.enviroment_atts.power_up_data.hunt_limit.current_level + 1; const lvSiphon = window.user.enviroment_atts.power_up_data.boss_extension.current_level + 1; let siphon = window.user.enviroment_atts.power_up_data.boss_extension.current_value; const sync = window.user.enviroment_atts.hunts_remaining; const steps = window.user.enviroment_atts.current_step; const torchState = window.user.enviroment_atts.is_fuel_enabled; const torchEclipse = true; const umbra = window.user.enviroment_atts.active_augmentations.tu; const superSiphon = window.user.enviroment_atts.active_augmentations.ss; const strStep = window.user.enviroment_atts.active_augmentations.sste; const curFloor = window.user.enviroment_atts.floor; const sh = window.user.enviroment_atts.active_augmentations.hr; const sr = window.user.enviroment_atts.active_augmentations.sr; const bail = 999; let power = window.user.trap_power; let luck = window.user.trinket_name == "Ultimate Charm" ? 1e5 : window.user.trap_luck; try { const altpower = Number(document.querySelectorAll(".campPage-trap-trapStat.power")[0].children[1].innerText.match(/\d/g).join("")); const altluck = Number(document.querySelectorAll(".campPage-trap-trapStat.luck")[0].children[1].innerText); power = Number.isNaN(altpower) ? power : Math.max(power, altpower); luck = Number.isNaN(altluck) ? luck : Math.max(luck, altluck); } catch (error) { console.log(error); } const mouseCR = mouseStats.map(function(stats) { return convertToCR(power, luck, stats); }); if (useUConEclipse) { mouseCR[9] = 1; mouseCR[17] = 1; } const mouseAR = umbra ? umbraAR : normalAR; const eclipseCR = umbra ? mouseCR[17] : mouseCR[9]; const eclipseSG = umbra ? mouseDrops[17][0] : mouseDrops[9][0]; const eclipseSC = umbra ? mouseDrops[17][2] : mouseDrops[9][2]; const eclipseGold = umbra ? mouseDrops[17][4] : mouseDrops[9][4]; const catchProfile = { push: [eclipseCR], ta: [0], kb: [1 - eclipseCR], bkb: [0], fta: [0], sg: [eclipseSG * eclipseCR], sgi: [0], sc: [eclipseSC * eclipseCR], sci: [0], gold: [eclipseGold * eclipseCR], cf: [0] }; for (var j = 1; j <= 4; j++) { catchProfile.ta[j] = mouseCR[24] * mouseAR[24][j - 1]; catchProfile.bkb[j] = (1 - mouseCR[25]) * mouseAR[25][j - 1]; catchProfile.fta[j] = 0; catchProfile.sg[j] = 0; catchProfile.sgi[j] = 0; catchProfile.sc[j] = 0; catchProfile.sci[j] = 0; catchProfile.gold[j] = 0; catchProfile.cf[j] = 0; catchProfile.push[j] = -catchProfile.ta[j]; mouseCR.map(function(cr, index) { catchProfile.push[j] += cr * mouseAR[index][j - 1]; catchProfile.sg[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][0]; catchProfile.sgi[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][1]; catchProfile.sc[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][2]; catchProfile.sci[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][3]; catchProfile.gold[j] += cr * mouseAR[index][j - 1] * mouseDrops[index][4]; }); catchProfile.kb[j] = 1 - catchProfile.ta[j] - catchProfile.bkb[j] - catchProfile.push[j]; } console.log(catchProfile); const speed = torchState ? Number(lvSpeed) + 1 : lvSpeed; siphon = superSiphon ? siphon * 2 : siphon; let sigils = 0; let secrets = 0; let gold = 0; let cfDrops = 0; let totalHunts = 0; let catches = 0; function addRate(step2, hunts, change) { if (runValues[step2] == null) { runValues[step2] = []; } if (runValues[step2][hunts] == null) { runValues[step2][hunts] = 0; } runValues[step2][hunts] += change; } function stepBuild(step2) { stepDetails[step2] = {}; let lap = Math.floor(Math.pow(step2 / 35 + 2809 / 1225, 0.5) - 53 / 35) + 1; const checkLap = Math.floor(Math.pow((step2 + 1) / 35 + 2809 / 1225, 0.5) - 53 / 35) + 1; const toEC = checkLap * (106 + 35 * checkLap) - 1; const floorLength = 10 * (lap + 1); const onEC = lap * (106 + 35 * lap) - 1; const flFromEC = Math.ceil((onEC - step2) / floorLength); const floorStart = onEC - flFromEC * floorLength; stepDetails[step2].floor = lap * 8 - flFromEC; stepDetails[step2].sync = siphon * (lap - 1) - syncSpent; stepDetails[step2].toPush = flFromEC == 0 ? Math.min(step2 + speed - torchState + torchEclipse, toEC) : Math.min(step2 + speed, toEC); stepDetails[step2].toTA = strStep ? Math.min(step2 + 4 * speed, toEC) : Math.min(step2 + 2 * speed, toEC); stepDetails[step2].toKB = umbra === true ? Math.max(step2 - 5, floorStart) : Math.max(step2, floorStart); stepDetails[step2].toBKB = Math.max(step2 - 10, floorStart); lap = flFromEC == 0 ? 0 : Math.min(lap, 4); stepDetails[step2].cPush = catchProfile.push[lap]; stepDetails[step2].cTA = catchProfile.ta[lap]; stepDetails[step2].cKB = catchProfile.kb[lap]; stepDetails[step2].cBKB = catchProfile.bkb[lap]; stepDetails[step2].cFTA = catchProfile.fta[lap]; stepDetails[step2].sg = catchProfile.sg[lap]; stepDetails[step2].sgi = catchProfile.sgi[lap]; stepDetails[step2].sc = catchProfile.sc[lap]; stepDetails[step2].sci = catchProfile.sci[lap]; stepDetails[step2].gold = catchProfile.gold[lap]; stepDetails[step2].cf = catchProfile.cf[lap]; } var syncSpent = 0; const valuesDistribution = Array.from({ length: 500 }); for (var i = 0; i < 500; i++) { valuesDistribution[i] = []; } var stepDetails = []; let loopActive = 1; let startActive = steps; let endActive = steps; let loopEnd; for (const element of valuesDistribution) { element[0] = 0; } var runValues = []; for (var step = 0; step < steps; step++) { runValues[step] = []; runValues[step][0] = 0; } runValues[steps] = [1]; stepBuild(steps); syncSpent = stepDetails[steps].sync - sync; stepBuild(steps); for (let hunts = 1; loopActive == 1; hunts++) { loopActive = 0; loopEnd = endActive; for (step = startActive; step <= loopEnd; step++) { if (runValues[step] == null) { runValues[step] = []; } else { const rate = runValues[step][hunts - 1]; if (rate != null && rate > 1e-8) { if (stepDetails[step] == null) { stepBuild(step); } gold += rate * stepDetails[step].gold; cfDrops += rate * stepDetails[step].cf; sigils += rate * stepDetails[step].sg; secrets += rate * stepDetails[step].sc; if (torchState && stepDetails[step].floor % 8 != 0 || torchEclipse && stepDetails[step].floor % 8 == 0) { sigils += rate * stepDetails[step].sgi; secrets += rate * stepDetails[step].sci; } if (hunts <= stepDetails[step].sync && rate != 0 && stepDetails[step].floor < bail) { loopActive = 1; startActive = Math.min(startActive, stepDetails[step].toBKB); endActive = Math.max(endActive, stepDetails[step].toTA); addRate(stepDetails[step].toPush, hunts, rate * stepDetails[step].cPush); addRate(stepDetails[step].toTA, hunts, rate * stepDetails[step].cTA); addRate(stepDetails[step].toKB, hunts, rate * stepDetails[step].cKB); addRate(stepDetails[step].toBKB, hunts, rate * stepDetails[step].cBKB); addRate(step, hunts, rate * stepDetails[step].cFTA); catches += rate * (stepDetails[step].cPush + stepDetails[step].cTA); } else if (hunts - 1 == stepDetails[step].sync || stepDetails[step].floor >= bail) { totalHunts += (hunts - 1) * rate; valuesDistribution[stepDetails[step].floor - 1][0] += rate; } } } } } let averageFloor = 0; valuesDistribution.map(function(a, b) { averageFloor += a * (b + 1); }); const loopDistribution = Array.from({ length: 25 }).fill(0).map( function(a, index) { let sum = 0; valuesDistribution.slice(index * 8, (index + 1) * 8).map( function(a2) { sum += Number(a2); } ); return Number(sum); } ); let runningProbability = 1; const loopCumulative = loopDistribution.map(function(a) { const result = runningProbability; runningProbability -= a; return result; }); const loopCopy = [...loopDistribution].filter(function(a) { return a > 1e-3; }); const avgFloor = Math.round(averageFloor); const curCache = getCacheLoot(curFloor); const avgCache = getCacheLoot(avgFloor); const mult = [sh ? 1.5 : 1, sr ? 1.5 : 1]; const deltaCache = [Math.ceil(avgCache[0] * mult[0]) - Math.ceil(curCache[0] * mult[0]), Math.ceil(avgCache[1] * mult[1]) - Math.ceil(curCache[1] * mult[1])]; const display = [ "VRift Sim: " + lvSpeed + "/" + lvSync + "/" + lvSiphon + (torchState ? " CF" : "") + (superSiphon ? " SS" : "") + (umbra ? " UU" : "") + (strStep ? " SSt" : "") + (useUConEclipse ? " (UC Eclipse)" : ""), "Steps: " + steps + " Sync: " + sync, "Power: " + power + " Luck: " + luck, "Average Highest Floor: " + avgFloor + ", Average Hunts: " + Math.round(totalHunts), "| Loot: Sigils: +" + Math.round(sigils) + ", Secrets: +" + Math.round(secrets), "| Cache: Sigils: +" + deltaCache[0] + ", Secrets: +" + deltaCache[1], "" ]; const startDisplay = display.length; const fullDisplay = [ "VRift Run Simulation: " + (Date.now() / 1e3 - time) + " seconds taken.", "Speed: " + lvSpeed, "Siphon: " + siphon, (torchState ? "CF " : "") + (superSiphon ? "SS " : "") + (umbra ? "UU " : "") + (strStep ? "SSt " : ""), "Steps: " + steps, "Sync: " + sync, "Power: " + power, "Luck: " + luck, "Sigils: " + sigils, "Secrets: " + secrets, "Gold: " + gold, "Average Highest Floor: " + Math.round(averageFloor), "Average Hunts: " + Math.round(totalHunts), "" ]; const startFullDisplay = fullDisplay.length; const eclipses = []; for (i = 0; i < loopCopy.length; i++) { const loopIndex = loopDistribution.indexOf(loopCopy[i]); const eEntry = (loopCopy[i] * 100).toFixed(1); const cEntry = (loopCumulative[loopIndex] * 100).toFixed(1); let entry = "Eclipse #" + loopIndex.toString() + ": "; const fullEntry = entry + eEntry + "% (" + cEntry + "% cumulative)"; if (exactDisplay && cumulativeDisplay) { entry = fullEntry; } else if (cumulativeDisplay) { entry += cEntry + "%"; } else { entry += eEntry + "%"; } display[startDisplay + i] = entry; fullDisplay[startFullDisplay + i] = fullEntry; eclipses.push({ number: loopIndex, percent: eEntry, cumulative: cEntry }); } if (shouldDisplay) { console.log(fullDisplay.join("\n")); alert(display.join("\n")); } else { return { speed: lvSpeed, sync: lvSync, siphon: lvSiphon, cfOn: torchState, superSiphon, umbra, strStep, ucEclipse: useUConEclipse, steps, power, luck, avgFloor, avgHunts: Math.round(totalHunts), lootSigils: Math.round(sigils), lootSecrets: Math.round(secrets), cacheSigils: deltaCache[0], cacheSecrets: deltaCache[0], eclipses }; } } var cumulativeDisplay, exactDisplay, useUConEclipse, cacheLoot, normalAR, umbraAR, mouseDrops, mouseStats, simulator_default; var init_simulator = __esm({ "src/modules/location-huds/rift-valour/simulator.js"() { cumulativeDisplay = true; exactDisplay = false; useUConEclipse = false; cacheLoot = [ [0, 0], [7, 0], [16, 0], [24, 0], [32, 0], [40, 0], [48, 0], [50, 0], [59, 8], [69, 10], [80, 11], [88, 13], [98, 14], [107, 16], [118, 17], [120, 17], [135, 20], [150, 22], [165, 24], [182, 26], [199, 28], [217, 31], [235, 33], [254, 33], [272, 37], [290, 40], [308, 43], [325, 45], [342, 48], [357, 51], [372, 54], [386, 54], [399, 60], [410, 63], [421, 66], [430, 70], [439, 73], [446, 77], [453, 80], [459, 80], [464, 88], [469, 92], [473, 96], [477, 101], [480, 105], [482, 109], [485, 113], [487, 113], [489, 123], [490, 128], [492, 133], [493, 138], [494, 143], [495, 148], [495, 153], [496, 153], [497, 161], [497, 167], [497, 173], [498, 178], [498, 184], [498, 190], [499, 196], [500, 196], [500, 205], [500, 212], [500, 218], [500, 224], [500, 231], [500, 237], [500, 244], [500, 244], [500, 253], [500, 260], [500, 267], [500, 274], [500, 282], [500, 289], [500, 296], [500, 300] ]; normalAR = [ [0, 0, 0, 0], [0, 0, 0, 0], [0.08246, 0.05616, 0.04866, 0.04231], [0.08246, 0.05616, 0.04866, 0.04231], [0.08246, 0.05616, 0.04866, 0.04231], [0.08246, 0.05616, 0.04866, 0.04231], [0.08246, 0.05616, 0.04866, 0.04231], [0.08246, 0.05616, 0.04866, 0.04231], [0.08246, 0.05616, 0.04866, 0.04231], [0, 0, 0, 0], [0, 0.01658, 0.02836, 0.04121], [0, 0.01658, 0.02836, 0.04121], [0, 0.01658, 0.02836, 0.04121], [0, 0.01658, 0.02836, 0.04121], [0, 0.01658, 0.02836, 0.04121], [0, 0.01658, 0.02836, 0.04121], [0, 0.01658, 0.02836, 0.04121], [0, 0, 0, 0], [0.17073, 0.06332, 0.06193, 0.08571], [0.04065, 0.01583, 0.02368, 0.01978], [0.03252, 0.01583, 0.02732, 0.01209], [0, 0.29288, 0.1184, 0.03626], [0, 0, 0.1275, 0.07473], [0, 0, 0, 0.09725], [0.17886, 0.1029, 0.102, 0.08956], [0, 0, 0, 0], [0, 0, 0, 0] ]; umbraAR = [ [0, 0, 0, 0], [0, 0, 0, 0], [0.066, 0.04129, 0.03857, 0.031], [0.066, 0.04129, 0.03857, 0.031], [0.066, 0.04129, 0.03857, 0.031], [0.066, 0.04129, 0.03857, 0.031], [0.066, 0.04129, 0.03857, 0.031], [0.066, 0.04129, 0.03857, 0.031], [0.066, 0.04129, 0.03857, 0.031], [0, 0, 0, 0], [0, 0.01043, 0.01886, 0.036], [0, 0.01043, 0.01886, 0.036], [0, 0.01043, 0.01886, 0.036], [0, 0.01043, 0.01886, 0.036], [0, 0.01043, 0.01886, 0.036], [0, 0.01043, 0.01886, 0.036], [0, 0.01043, 0.01886, 0.036], [0, 0, 0, 0], [0.115, 0.072, 0.065, 0.056], [0.038, 0.023, 0.02, 0.017], [0.023, 0.014, 0.013, 9e-3], [0, 0.2311, 0.10806, 0.033], [0, 0, 0.098, 0.055], [0, 0, 0, 0.081], [0.183, 0.112, 0.102, 0.08], [0.179, 0.186, 0.192, 0.2], [0, 0, 0, 0] ]; mouseDrops = [ [0, 0, 0, 0, 1982], [0, 0, 0, 0, 4250], [0.60515, 0.60515, 0, 0, 1e3], [0.63774, 0.63774, 0, 0, 1250], [0.56444, 0.56444, 0, 0, 1500], [0.57674, 0.57674, 0, 0, 2e3], [0.63102, 0.63102, 0, 0, 2500], [0.57209, 0.57209, 0, 0, 3e3], [0.59, 0.59, 0, 0, 4e3], [2.40541, 0.98649, 0, 0, 25e3], [0.01, 0.01, 1.1, 1, 6e3], [0, 0, 1.1, 1, 6e3], [909e-5, 909e-5, 1.1, 1, 6e3], [0, 0, 1.1, 1, 6e3], [8e-3, 8e-3, 1.1, 1, 6e3], [826e-5, 826e-5, 1.1, 1, 6e3], [0.0315, 0.0315, 1.1, 1, 6e3], [3.82927, 1, 0, 0, 1e5], [0.0177, 0.0177, 0, 0, 2e3], [0, 0, 0, 0, 1500], [0.01429, 0.01429, 0, 0, 1e3], [643e-5, 643e-5, 1.1, 1, 5e3], [0, 0, 1.15, 1, 5e3], [0.02475, 0.02475, 1.75, 1, 8e3], [0.99597, 0.99396, 0, 0, 4795], [0, 0, 0, 0, 12e3], [0, 0, 0, 0, 0] ]; mouseStats = [ [3300, 1], [5050, 1], [2900, 1], [6650, 2], [8800, 3], [11750, 4], [16e3, 5], [21500, 6], [29e3, 7], [7e6, 1e3], [72e3, 9], [72e3, 9], [72e3, 9], [72e3, 9], [72e3, 9], [72e3, 9], [72e3, 9], [135e5, 1e3], [4800, 1.75], [8250, 1.75], [23e3, 1.75], [38e3, 10], [15e4, 25], [35e4, 50], [100, 2], [818250, 75], [1e30, 1] ]; simulator_default = simulate; } }); // src/modules/location-huds/rift-valour/index.js var displayResults, doSimulation, addUIComponents, modifyPlayerIcon, addSimulatorEvents, removeWarningIfUcEquipped, highlightQuantitiesIfUcEquipped, ifUcEquipped, rift_valour_default2; var init_rift_valour2 = __esm({ "src/modules/location-huds/rift-valour/index.js"() { init_utils2(); init_styles87(); init_simulator(); displayResults = (results) => { let eclipseText = ""; results.eclipses.forEach((eclipse) => { eclipseText += `<li> <span class="number">Eclipse ${eclipse.number}</span> <span class="percent ${eclipse.percent === "100.0" ? "guaranteed" : ""}">${eclipse.percent}%</span> <span class="cumulative ${eclipse.cumulative === "100.0" ? "guaranteed" : ""}">${eclipse.cumulative}%</span> </li>`; }); return `<div class="mh-vrift-sim-results"> <div class="stats"> <div class="result"> <div class="label">Speed</div> <div class="value">${results.speed}</div> </div> <div class="result"> <div class="label">Sync</div> <div class="value">${results.sync}</div> </div> <div class="result"> <div class="label">Avg. Highest Floor</div> <div class="value">${results.avgFloor}</div> </div> <div class="result"> <div class="label">Avg. Hunts</div> <div class="value">${results.avgHunts}</div> </div> <div class="result"> <div class="label">Sigils (Loot)</div> <div class="value">${results.lootSigils}</div> </div> <div class="result"> <div class="label">Secrets (Loot)</div> <div class="value">${results.lootSecrets}</div> </div> <div class="result"> <div class="label">Sigils (Cache)</div> <div class="value">${results.cacheSigils}</div> </div> <div class="result"> <div class="label">Secrets (Cache)</div> <div class="value">${results.cacheSecrets}</div> </div> </div> <div class="eclipses"> <ol> <li class="header"> <span class="number">#</span> <span class="percent">Chance</span> <span class="cumulative">Total</span> </li> ${eclipseText} </ol> </div> </div>`; }; doSimulation = (selector) => { const simPopup = document.querySelector(selector); if (!simPopup) { return; } simPopup.addEventListener("click", () => { const data = simulator_default(false); const popup = createPopup({ title: "Valour Rift Run Simulation", content: displayResults(data), show: false }); popup.setAttributes({ className: "mh-vrift-popup" }); popup.show(); }); }; addUIComponents = () => { var _a, _b; const existing = document.querySelector("#mh-vrift-floor-name"); if (existing) { existing.remove(); } const floor = document.querySelector(".valourRiftHUD-currentFloor"); if (floor) { const floorName = makeElement("div", "valourRiftHUD-floorName", (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRiftValour) == null ? void 0 : _b.floor_name); floorName.id = "mh-vrift-floor-name"; floor.append(floorName); } const floorTooltipParent = document.querySelector(".valourRiftHUD-floorProgress.mousehuntTooltipParent"); if (!floorTooltipParent) { return; } const tooltip = floorTooltipParent.querySelector(".mousehuntTooltip"); if (!tooltip) { return; } tooltip.classList.add("bottom", "mh-vrift-floor-tooltip"); tooltip.classList.remove("top"); const stepsRemaining = tooltip.querySelector(".valourRiftHUD-stepsRemaining"); if (!stepsRemaining) { return; } const floorBar = document.querySelector(".valourRiftHUD-floorProgress-barContainer"); if (!floorBar) { return; } const stepsExisting = document.querySelector(".mh-vrift-steps-remaining"); if (stepsExisting) { stepsExisting.remove(); } makeElement("div", "mh-vrift-steps-remaining", stepsRemaining.textContent, floorBar); }; modifyPlayerIcon = () => { const playerIcon = document.querySelector(".valourRiftHUD-tower-sprite.player .valourRiftHUD-tower-sprite-image"); if (!playerIcon) { return; } let timeout; playerIcon.addEventListener("click", (event) => { if (event.shiftKey) { playerIcon.classList.toggle("mh-improved-player-large"); return; } playerIcon.classList.add("mh-improved-player-spin"); clearTimeout(timeout); timeout = setTimeout(() => { playerIcon.classList.remove("mh-improved-player-spin"); }, 700); }); }; addSimulatorEvents = () => { doSimulation(".valourRiftHUD-floorProgress-barContainer"); const magnifyingGlass = document.querySelector(".valourRiftHUD-previewTower"); if (!magnifyingGlass) { return; } const existing = document.querySelector(".mh-vrift-sim-link"); if (existing) { existing.remove(); } const simLink = makeElement("a", ["valourRiftHUD-previewTower", "mh-vrift-sim-link"], "Simulate Run"); simLink.title = "Simulate Valour Rift Run"; magnifyingGlass.after(simLink); doSimulation(".mh-vrift-sim-link"); }; removeWarningIfUcEquipped = () => { const warningContainer = document.querySelector(".valourRiftHUD-warningContainer.active"); if (!warningContainer) { return; } warningContainer.classList.remove("hidden"); const powerTypeWarning = warningContainer.querySelector(".valourRiftHUD-powerTypeWarning.active"); if (!powerTypeWarning) { return; } powerTypeWarning.classList.remove("hidden"); if (1075 == user.trinket_item_id) { warningContainer.classList.add("hidden"); powerTypeWarning.classList.add("hidden"); } }; highlightQuantitiesIfUcEquipped = () => __async(void 0, null, function* () { const selectors = [ ".valourRiftHUD-gauntletBait-quantity.quantity", ".valourRiftHUD-towerLoot-quantity.quantity", ".valourRiftHUD-powerUp-currentLevel" ]; selectors.forEach((selector) => { const existing = document.querySelectorAll(selector); if (!existing) { return; } existing.forEach((e) => { if (1075 == user.trinket_item_id) { e.classList.add("uc-text-highlight"); } else { e.classList.remove("uc-text-highlight"); } }); }); }); ifUcEquipped = () => { removeWarningIfUcEquipped(); highlightQuantitiesIfUcEquipped(); }; rift_valour_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default86); addUIComponents(); addSimulatorEvents(); modifyPlayerIcon(); onTrapChange(ifUcEquipped); }); } }); // src/modules/location-huds/rift-whisker-woods/styles.css var styles_default87; var init_styles88 = __esm({ "src/modules/location-huds/rift-whisker-woods/styles.css"() { styles_default87 = '.riftWhiskerWoodsHUD-zone-title{right:20%;left:20%;font-size:12px}span.riftWhiskerWoodsHUD-zone-rageLevel{padding-top:0;margin-top:-3px;font-size:18px}span.riftWhiskerWoodsHUD-zone-rageMax{position:unset;display:block;font-size:10px}.riftWhiskerWoodsHUD-zone-rageContainer{top:-9px;left:-4px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;background:#5b3b1a;border-radius:10px;box-shadow:0 0 1px 2px inset #b78c5c,0 0 3px 3px inset #292928}.riftWhiskerWoodsHUD-baitWarning{right:20%;left:20%;padding:10px 60px;font-size:12px;text-align:center;background-color:#ffa5a5;border-color:#992023}.riftWhiskerWoodsHUD-zone-charm-quantity.quantity{width:30px;font-size:12px}.riftWhiskerWoodsHUD-zone .mousehuntArmNowButton{right:-2px}.riftWhiskerWoodsHUD-zone-charm-craftingItem{display:grid;grid-template-columns:1fr;place-items:center}.riftWhiskerWoodsHUD-zone-charm-craftingItem-container{display:inline-flex;align-items:stretch;width:270px}.riftWhiskerWoodsHUD-zone-charm-craftButtonContainer{width:110px}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity{display:grid;grid-template-columns:1fr 1fr;gap:3px;align-items:end}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity br{display:none}.riftWhiskerWoodsHUD-zone-charm-craftingItem-quantity-label{display:block;margin:0}.riftWhiskerWoodsHUD-zone-charm-craftingItem .itemName{display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:center;margin-bottom:4px}.riftWhiskerWoodsHUD-zone-charm-craftButton{display:inline-block;float:none;width:30px}.riftWhiskerWoodsHUD-zone-charm-craftButtonMargin{margin-right:0}.riftWhiskerWoodsHUD-zone-charm-description>b{display:inline-block;padding-bottom:5px;font-size:11px;text-align:center}.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.low .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.low .riftWhiskerWoodsHUD-zone-progress:after{position:absolute;top:0;bottom:0;left:9px;display:flex;align-items:center;padding:2px;font-size:14px;text-shadow:1px 1px #000;content:"Low";background-color:#0006}.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.high .riftWhiskerWoodsHUD-zone-progress:after{content:"High"}.riftWhiskerWoodsHUD:hover .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after,.riftWhiskerWoodsHUD:focus .riftWhiskerWoodsHUD-zone.boss .riftWhiskerWoodsHUD-zone-progress:after{content:"Boss"}.boss .riftWhiskerWoodsHUD-zone-rageContainer{box-shadow:0 0 1px 3px inset #b72929,0 0 1px 2px inset #b78c5c,0 0 3px 3px inset #292928}.mhui-taunting-warning{top:36px;left:150px;width:414px;padding:10px 20px;border-color:#992023}.mhui-taunting-warning-close{position:absolute;top:-6px;right:-6px;z-index:15;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:18px;height:17px;padding:5px;font-size:12px;font-weight:700;line-height:15px;color:#fff;text-align:center;background-color:#e03a3a;border:1px solid #992023;border-color:#d1d0cf;border-radius:20px}.mhui-taunting-warning-close:hover{color:#ffb4b4;background-color:#992023}\n'; } }); // src/modules/location-huds/rift-whisker-woods/index.js var hasHiddenTauntingWarning, showTauntingWarning, checkAndWarnWhenNoTauntingCharm, rift_whisker_woods_default; var init_rift_whisker_woods = __esm({ "src/modules/location-huds/rift-whisker-woods/index.js"() { init_utils2(); init_styles88(); hasHiddenTauntingWarning = false; showTauntingWarning = () => { const existing = document.querySelector(".mhui-taunting-warning"); if (existing) { return; } const baitWarning = document.querySelector(".riftWhiskerWoodsHUD-bossBaitWarning"); if (!baitWarning) { return; } if (hasHiddenTauntingWarning) { return; } const warning = baitWarning.cloneNode(true); warning.classList.add("mhui-taunting-warning", "active"); warning.innerHTML = "You don't have a Taunting Charm equipped! You will reset your rage!"; const warningClose = makeElement("div", "mhui-taunting-warning-close"); warningClose.innerHTML = "\xD7"; warningClose.onclick = (e) => { e.preventDefault(); hasHiddenTauntingWarning = true; warning.classList.remove("active"); }; warning.append(warningClose); baitWarning.after(warning); }; checkAndWarnWhenNoTauntingCharm = () => { var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l; if ("1647" == user.trinket_item_id) { return; } const rage = { clearing: ((_d = (_c = (_b = (_a = user.quests) == null ? void 0 : _a.QuestRiftWhiskerWoods) == null ? void 0 : _b.zones) == null ? void 0 : _c.clearing) == null ? void 0 : _d.level) || 0, lagoon: ((_h = (_g = (_f = (_e = user.quests) == null ? void 0 : _e.QuestRiftWhiskerWoods) == null ? void 0 : _f.zones) == null ? void 0 : _g.lagoon) == null ? void 0 : _h.level) || 0, tree: ((_l = (_k = (_j = (_i = user.quests) == null ? void 0 : _i.QuestRiftWhiskerWoods) == null ? void 0 : _j.zones) == null ? void 0 : _k.tree) == null ? void 0 : _l.level) || 0 }; if (rage.clearing > 48 || rage.lagoon > 48 || rage.tree > 48 || // eslint-disable-next-line eqeqeq "1646" == user.bait_item_id) { showTauntingWarning(); } }; rift_whisker_woods_default = () => __async(void 0, null, function* () { addHudStyles(styles_default87); checkAndWarnWhenNoTauntingCharm(); onRequest("*", checkAndWarnWhenNoTauntingCharm); }); } }); // src/modules/location-huds/seasonal-garden/styles.css var styles_default88; var init_styles89 = __esm({ "src/modules/location-huds/seasonal-garden/styles.css"() { styles_default88 = '.seasonalGardenHUD-season.sg,.seasonalGardenHUD-season.sr,.seasonalGardenHUD-season.fl,.seasonalGardenHUD-season.wr{background:url(https://i.mouse.rip/seasonal-garden-season.png) no-repeat 0 0;transform:scale(1.3);transform-origin:bottom}.seasonalGardenHUD{background:url(https://i.mouse.rip/seasonal-garden-hud.png) no-repeat 0 0}.seasonalGardenHUD-season.sg:after,.seasonalGardenHUD-season.sr:after,.seasonalGardenHUD-season.fl:after,.seasonalGardenHUD-season.wr:after{position:absolute;inset:0;content:""}.seasonalGardenHUD-season.sg:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/spring_icon.png)}.seasonalGardenHUD-season.sr:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/summer_icon.png)}.seasonalGardenHUD-season.fl:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/fall_icon.png)}.seasonalGardenHUD-season.wr:after{background-image:url(https://www.mousehuntgame.com/images/ui/hud/winter_icon.png)}.seasonalGardenHUD-currentAmplifier{top:19px;font-size:15px;text-shadow:1px 1px 0 #ded3c1}.seasonalGardenHUD-currentAmplifier:before{position:absolute;top:-15px;left:10px;width:125px;padding:0 20px;font-size:12px;font-weight:900;color:#765e4c;content:"Tower Amplifier";background:radial-gradient(circle,#dac8ab 14%,#efe2cd 76%,transparent 100%)}.seasonalGardenHUD-maxAmplifier{top:34px;left:60px;display:flex;align-items:center;justify-content:center;width:75px;height:14px;padding:3px;text-align:center;background:radial-gradient(circle,#dac8ab 14%,#d7c1a4 76%,#c4b096);border-bottom-right-radius:40px;border-bottom-left-radius:40px}.seasonalGardenHUD-maxAmplifier:before{content:"Max:"}span.seasonalGardenHUD-maxAmplifier-value{font-size:15px;color:#000;text-shadow:1px 1px 0 #ded3c1}.seasonalGardenHUD-amplifierBoundingBox{width:80px;border-radius:30px}.seasonalGardenHUD-amplifierProgress{overflow:hidden}.seasonalGardenHUD-currentAmplifier:after{position:absolute;top:0;right:-6px;width:12px;height:19px;content:"";background:linear-gradient(249deg,#f6e5d0,#dfc9aa);border-top-left-radius:5px;border-bottom-left-radius:7px}.seasonalGardenHUD-amplifierProgress-bar{transition:width .2s cubic-bezier(.175,.885,.32,1.275);transform-origin:left;will-change:transform}.seasonalGardenHUD-amplifierProgress-bar--animating{animation:.3s mh-improved-bounce-and-stretch 2}@media (prefers-reduced-motion: reduce){.seasonalGardenHUD-amplifierProgress-bar--animating{animation:none}}.seasonalGardenHUD-amplifierBoundingBox .mousehuntTooltip{top:-10px;left:120px;width:460px;font-size:11px;line-height:1.6}.seasonalGardenHUD-amplifierBoundingBox .mousehuntTooltip .mousehuntTooltip-arrow{display:none}\n'; } }); // src/modules/location-huds/seasonal-garden/index.js var makeProgressDraggable, changeBarColor, seasonal_garden_default; var init_seasonal_garden2 = __esm({ "src/modules/location-huds/seasonal-garden/index.js"() { init_utils2(); init_styles89(); makeProgressDraggable = () => { const progressBar = document.querySelector(".seasonalGardenHUD-amplifierProgress"); if (!progressBar) { return; } const progressBarMarker = document.querySelector(".seasonalGardenHUD-amplifierProgress-bar"); if (!progressBarMarker) { return; } const originalWidth = progressBarMarker.style.width; let timeout = null; progressBar.addEventListener("click", (e) => { const rect = progressBar.getBoundingClientRect(); const x = e.clientX - rect.left; const width = rect.width; const percent = Math.round(x / width * 100); progressBarMarker.style.width = `${percent}%`; setTimeout(() => { progressBarMarker.classList.add("seasonalGardenHUD-amplifierProgress-bar--animating"); }, 50); if (timeout) { clearTimeout(timeout); } timeout = setTimeout(() => { progressBarMarker.style.width = originalWidth; setTimeout(() => { progressBarMarker.classList.remove("seasonalGardenHUD-amplifierProgress-bar--animating"); }, 300); }, 600); }); }; changeBarColor = () => { const trigger = document.querySelector(".seasonalGardenHUD-season"); if (!trigger) { return; } const bar = document.querySelector(".seasonalGardenHUD-amplifierProgress-bar"); if (!bar) { return; } trigger.addEventListener("click", () => { const hue = Math.round(Math.random() * 360); bar.style.filter = `hue-rotate(${hue}deg)`; }); }; seasonal_garden_default = () => __async(void 0, null, function* () { addHudStyles(styles_default88); makeProgressDraggable(); changeBarColor(); }); } }); // src/modules/location-huds/slushy-shoreline/index.js var slushy_shoreline_default; var init_slushy_shoreline = __esm({ "src/modules/location-huds/slushy-shoreline/index.js"() { init_cheese_selectors(); slushy_shoreline_default = () => __async(void 0, null, function* () { cheese_selectors_default("slushy-shoreline", ["toxic_super_brie_cheese"]); }); } }); // src/modules/location-huds/ss-huntington-ii/index.js var ss_huntington_ii_default; var init_ss_huntington_ii = __esm({ "src/modules/location-huds/ss-huntington-ii/index.js"() { init_cheese_selectors(); ss_huntington_ii_default = () => __async(void 0, null, function* () { cheese_selectors_default("ss-huntington-ii", ["galleon_gouda_cheese"]); }); } }); // src/modules/location-huds/sunken-city/styles.css var styles_default89; var init_styles90 = __esm({ "src/modules/location-huds/sunken-city/styles.css"() { styles_default89 = '.sunkenCityHud .leftSidebar{border:1px solid #333}.sunkenCityHud .leftSidebar .craftingItems{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:98px;padding:0;border-color:#7e7e7e;border-radius:0}.sunkenCityHud .leftSidebar .craftingItems a{line-height:initial;border-bottom:1px solid #7e7e7e;border-radius:0}.sunkenCityHud .leftSidebar .craftingItems a:first-child{margin-top:-3px}.sunkenCityHud .leftSidebar .craftingItems a:last-child{border-bottom:none}.sunkenCityHud .leftSidebar .craftingItems a img{width:30px;height:30px;border-radius:10px}.sunkenCityHud .leftSidebar .craftingItems a .item.quantity{display:inline-block;font-size:14px;vertical-align:middle}.sunkenCityHud .sunkenCharms{top:0;right:131px;bottom:0;display:grid;grid-template-columns:1fr 1fr;place-items:center stretch;padding-right:3px;background:#333;border:1px solid #7e7e7e;border-radius:5px 0 0 5px}.sunkenCityHud .sunkenCharms a{position:initial;padding:0 1px;margin-left:2px;background-color:#646465;border:none;border-radius:9px}.sunkenCityHud .sunkenCharms a.active{margin-left:2px;background-color:#19a0b8}.sunkenCityHud .sunkenCharms a .toolTip{top:10px;right:130px;left:unset;font-size:10px}.sunkenCityHud .sunkenCharms a .toolTip .arrow{display:none}.sunkenCityHud .sunkenCharms a:last-child,.sunkenCityHud .sunkenCharms a:nth-child(5){border-bottom:none}.sunkenCityHud .sunkenCharms a .itemImage{float:none;width:unset;height:unset}.sunkenCityHud .sunkenCharms a .clear-block{display:flex;align-items:center;justify-content:space-around}.sunkenCityHud .sunkenCharms a .quantity{margin-left:3px;font-size:13px;line-height:initial}.sunkenCityHud .sunkenCharms a .itemImage img{display:inline-block;width:25px;height:25px}.sunkenCityHud .sunkenCharms a .armNow,.sunkenCityHud .sunkenCharms a.disabled .armNow{display:none}.sunkenCityHud .sidebar,.sunkenCityHud .sidebarBox{width:130px}.sunkenCityHud .sidebar{height:98px;border:1px solid #7e7e7e;border-bottom-right-radius:3px}.sunkenCityHud .sidebar .oxygen{color:transparent}.sunkenCityHud .sidebar .oxygen .item,.sunkenCityHud .sidebar .oxygen .item.long{margin-left:3px;font-size:13px}.sunkenCityHud .sidebar .oxygen .item:after{position:absolute;width:25px;margin-left:10px;font-size:12px;color:#000;text-align:left;content:"O\\2082"}.sunkenCityHud .sidebar .diveButton{width:35px;height:20px;padding:2px;margin-right:3px;font-size:9px;line-height:22px;text-align:center;box-shadow:3px 3px 3px #ee9d47 inset,-5px -5px 50px #c66c0c inset}.sunkenCityHud .sidebarTitle{font-size:14px;letter-spacing:3px;background-color:#474747;border:none}.sunkenCityHud .sidebarContent{display:flex;flex-direction:column;justify-content:center;height:39px;border:none}.sunkenCityHud .sidebarContent .zoneName{padding-top:0;line-height:.9}.sunkenCityHud .diveControls{display:flex;align-items:center;border-top:1px solid #8b93a9;box-shadow:0 0 20px #fff inset,0 -6px 7px #4b587d inset}.sunkenCityHud .baitWarning{bottom:30%;left:154px;width:330px;font-size:12px;line-height:15px;color:#000;background-color:#ffbfbf;border-radius:10px;box-shadow:none}\n'; } }); // src/modules/location-huds/sunken-city/index.js var updateHudImages, makeCharmElement, addMoreCharms, hud6, sunken_city_default2; var init_sunken_city2 = __esm({ "src/modules/location-huds/sunken-city/index.js"() { init_utils2(); init_styles90(); updateHudImages = () => { const upscaleMapping = { "/crafting_items/thumbnails/1a7897042ba8f3fa31fa6805404456d6.gif": "/crafting_items/transparent_thumb/9197ccdec26278bfb07ab7846b1a2648.png", // damaged coral. "/crafting_items/thumbnails/4aaa6478c10308ac865507e4d7915b3c.gif": "/crafting_items/transparent_thumb/d7f3f77c87ea7849a2ec8bc3f7d05b74.png", // mouse scale. "/crafting_items/thumbnails/e12ed1306d81665278952d4b4349b495.gif": "/crafting_items/transparent_thumb/5057d634368131d5ab4ad62bf0963800.png", // barnacle. "/bait/1f6237cebe21954e53d6586b2cbdfe39.gif": "/bait/transparent_thumb/0d27e0c72c3cbdc8e9fe06fb7bdaa56d.png", // fishy fromage. "/trinkets/555bb67ba245aaf2b05db070d2b4cfcb.gif": "/trinkets/transparent_thumb/be6749a947b746fbece2754d9bd02f74.png", // anchor. "/trinkets/5f56cb017ff9414e584ced35b2491aef.gif": "/trinkets/transparent_thumb/2dc6b3e505fd1eaac8c6069937490386.png" // water jet. }; const upscaleImage = (image) => { const normalizedImage = image.src.replace("https://www.mousehuntgame.com/images/items", "").replace("?cv=1", "").replace("?cv=2", "").replace("?cv=3", "").replace("?v=1", "").replace("?v=2", "").replace("?v=3", ""); if (upscaleMapping[normalizedImage]) { image.src = `https://www.mousehuntgame.com/images/items/${upscaleMapping[normalizedImage]}`; } }; const hudImages = document.querySelectorAll(".sunkenCityHud .leftSidebar .craftingItems a img"); hudImages.forEach((image) => { upscaleImage(image); }); const baitImage = document.querySelector(".sunkenCityHud .sunkenBait .itemImage img"); if (baitImage) { upscaleImage(baitImage); } const charms = document.querySelectorAll(".sunkenCityHud .sunkenCharms a .itemImage img"); charms.forEach((charm) => { upscaleImage(charm); }); }; makeCharmElement = (charm, appendTo) => { const existing = document.querySelector(`.mhui-sunken-charm[data-item-type="${charm.type}"]`); if (existing) { existing.remove(); } const wrapper = makeElement("a", ["charm", "mhui-sunken-charm"]); if (user.trinket_item_id == charm.item_id) { wrapper.classList.add("active"); } wrapper.setAttribute("href", "#"); wrapper.setAttribute("data-item-type", charm.type); wrapper.setAttribute("data-item-classification", "trinket"); wrapper.setAttribute("title", charm.name); wrapper.setAttribute("onclick", "app.views.HeadsUpDisplayView.hud.sunkenCityArmItem(this);return false;"); const clearBlock = makeElement("div", "clear-block"); const itemImage = makeElement("div", "itemImage"); const image = makeElement("img"); image.setAttribute("src", charm.thumbnail_transparent); itemImage.append(image); clearBlock.append(itemImage); const quantity = makeElement("div", "item quantity", charm.quantity); quantity.setAttribute("data-item-type", charm.type); clearBlock.append(quantity); wrapper.append(clearBlock); if ("smart_water_jet_trinket" == charm.type) { charm.description = "Overcharge your engine for a 500m boost with an automatic unequip after the hunt."; } else if ("brilliant_water_jet_trinket" == charm.type) { charm.description = "Supercharge your engine for a boost to the end of the current zone!"; } else if ("spiked_anchor_trinket" == charm.type) { charm.description = "Slow down your sub while also boosting your power!"; } else if ("golden_anchor_trinket" == charm.type) { charm.description = "Set your sub to super-slow and also find additional sand dollars!"; } const toolTip = makeElement("div", "toolTip"); toolTip.innerHTML = `<b>${charm.name}s</b><br>${charm.description}`; wrapper.append(toolTip); appendTo.append(wrapper); }; addMoreCharms = () => __async(void 0, null, function* () { const charmsWrapper = document.querySelector(".sunkenCityHud .sunkenCharms"); if (!charmsWrapper) { return; } const existingCharms = charmsWrapper.querySelectorAll(".mhui-sunken-charm"); for (const charm of existingCharms) { charm.remove(); } const itemsData = yield getUserItems([ "spiked_anchor_trinket", "smart_water_jet_trinket", "golden_anchor_trinket", "brilliant_water_jet_trinket" ]); if (user.trinket_item_id == 1517) { const waterJetCharm = document.querySelector('.sunkenCityHud .sunkenCharms a[data-item-type="water_jet_trinket"]'); if (waterJetCharm) { waterJetCharm.classList.add("active"); } } if (user.trinket_item_id == 423) { const anchorCharm = document.querySelector('.sunkenCityHud .sunkenCharms a[data-item-type="anchor_trinket"]'); if (anchorCharm) { anchorCharm.classList.add("active"); } } for (const item of itemsData) { makeCharmElement(item, charmsWrapper); } }); hud6 = () => { updateHudImages(); addMoreCharms(); }; sunken_city_default2 = () => __async(void 0, null, function* () { addHudStyles(styles_default89); hud6(); }); } }); // src/modules/location-huds/table-of-contents/styles.css var styles_default90; var init_styles91 = __esm({ "src/modules/location-huds/table-of-contents/styles.css"() { styles_default90 = ".folkloreForestRegionView-libraryStatsContainer{display:grid;grid-template-columns:1fr 1fr 1fr;justify-items:center;margin:10px 0 10px 10px}.folkloreForestRegionView-libraryStats.bestBook{padding:10px 15px;margin:10px 0;border:1px solid #2e602b;border-top:none;border-radius:30px}.folkloreForestRegionView-libraryStats.bestBook:after{display:none}.folkloreForestRegionView-libraryStats-label{max-width:130px;height:unset;padding:5px;font-size:13px;font-weight:400}.folkloreForestRegionView-libraryStats.bestBook .folkloreForestRegionView-libraryStats-value{gap:10px}.folkloreForestRegionView-libraryBestBook-name{min-width:100px;margin-bottom:5px;font-size:13px;line-height:15px}.folkloreForestRegionView-libraryStats.bestBook .folkloreForestRegionView-libraryStats-label{position:absolute;top:-16px;left:-10px;max-width:unset;padding:5px 10px;background-color:#6a9e43;border-radius:10px;box-shadow:0 1px 5px #070707;rotate:-10deg}.folkloreForestRegionView-libraryStats{display:flex;flex-direction:column;align-items:center;width:210px}.folkloreForestRegionView-libraryStats-value{height:unset}.folkloreForestRegionView-libraryStats-value.longestWritingSession{display:flex;flex-direction:row;column-gap:5px;align-items:baseline;justify-content:center;margin-left:30px}.folkloreForestRegionView-libraryBooksContainer{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:center;padding-bottom:20px}.folkloreForestRegionView-libraryBook{width:auto;min-width:150px}.folkloreForestRegionView-libraryBook-words{font-size:12px;color:#b4c2ab}.folkloreForestRegionView-libraryBook-name{font-size:14px;font-weight:400}.folkloreForestRegionView-libraryBook-quantity{font-size:30px;color:#81eb00;text-shadow:1px 1px 1px #143706,0 1px 1px #143706,1px 0 1px #143706,0 0 1px #143706;filter:drop-shadow(0 0 2px #000)}.folkloreForestRegionView-libraryStats-value.bigText{color:#81eb00;text-shadow:1px 1px 1px #143706,0 1px 1px #143706,1px 0 1px #143706,0 0 1px #143706}.folkloreForestRegionView-libraryStats.totalWords{flex:1}.folkloreForestRegionView-libraryBook.disabled .tableOfContentsView-bookCover{filter:opacity(.8) grayscale(1)}.folkloreForestRegionView-libraryBook.disabled .folkloreForestRegionView-libraryBook-name{color:#979797}#overlayPopup.fabledForestDialog .title{font-size:19px;letter-spacing:1px}.tableOfContentsProgressView-nextBookContainer{position:absolute;bottom:-33px;padding:3px;font-size:11px;white-space:nowrap;background-color:#fdebab;box-shadow:0 1px 1px 1px #f1b960;transform:translate(-50%)}.tableOfContentsView-wordMeter-value{margin-right:2px;font-size:14px;border-radius:3px}.tableOfContentsProgressView-nextBook-wordsRequired{text-decoration:none}.tableOfContentsProgressView-book-huntsRemaining span{font-size:13px}.tableOfContentsProgressView-book-wordCount{margin:10px 0 5px}a.tableOfContentsProgressView-claimButton.reveal{filter:hue-rotate(80deg) brightness(1.2)}.tableOfContentsClaimDialogView-miceLoot .itemImage .quantity{font-size:13px;background-color:#fff9}.folkloreForestRegionView-boost{display:none}.tableOfContentsView-initialFuel-checkboxContainer{background-color:transparent}.tableOfContentsProgressView-progressBar-value{filter:sepia(1)}.tableOfContentsProgressView-progressBar{background:none;box-shadow:none}.tableOfContentsProgressView-cancelButton.active{top:-31px;left:338px;border-radius:50%;box-shadow:0 0 0 4px #48762a,inset 0 -1px 3px 1px #d7a086}\n"; } }); // src/modules/location-huds/table-of-contents/index.js var updateWordLootQuantity, updateNextWordCount, table_of_contents_default2; var init_table_of_contents2 = __esm({ "src/modules/location-huds/table-of-contents/index.js"() { init_utils2(); init_folklore_forest2(); init_styles64(); init_styles91(); updateWordLootQuantity = () => { const lootSpan = document.querySelector(".tableOfContentsView-wordMeter-value"); if (!lootSpan) { return; } const loot = lootSpan.innerText; const lootParts = loot.split("-"); if (lootParts.length > 1 && lootParts[0] === lootParts[1]) { lootSpan.innerText = lootParts[0]; } }; updateNextWordCount = () => { const wordsRequired = document.querySelector(".tableOfContentsProgressView-nextBook-wordsRequired"); if (!wordsRequired) { return; } wordsRequired.innerText = wordsRequired.getAttribute("title").replace(" words", ""); }; table_of_contents_default2 = () => __async(void 0, null, function* () { addHudStyles([styles_default63, styles_default90]); folklore_forest_default2(); updateWordLootQuantity(); onRequest("environment/table_of_contents.php", updateWordLootQuantity); updateNextWordCount(); onTurn(() => { updateNextWordCount(); setTimeout(updateNextWordCount, 500); setTimeout(updateNextWordCount, 1e3); }); }); } }); // src/modules/location-huds/tournament-hall/index.js var tournament_hall_default; var init_tournament_hall = __esm({ "src/modules/location-huds/tournament-hall/index.js"() { init_cheese_selectors(); tournament_hall_default = () => __async(void 0, null, function* () { cheese_selectors_default("tournament-hall", ["runny_cheese"]); }); } }); // src/modules/location-huds/town-of-digby/index.js var town_of_digby_default; var init_town_of_digby = __esm({ "src/modules/location-huds/town-of-digby/index.js"() { init_cheese_selectors(); town_of_digby_default = () => __async(void 0, null, function* () { cheese_selectors_default("town-of-digby", ["limelight_cheese"]); }); } }); // src/modules/location-huds/town-of-gnawnia/styles.css var styles_default91; var init_styles92 = __esm({ "src/modules/location-huds/town-of-gnawnia/styles.css"() { styles_default91 = ".townOfGnawniaHUD-intro{line-height:17px}.townOfGnawniaHUD-bountyRewardContainer{background:#e5c9a8 url(https://www.mousehuntgame.com/images/items/stats/large/f659a8a07d3877df4165b188f13bb0db.png) 5px 0 no-repeat;background-size:contain}.townOfGnawniaHUD-mouse-bait-thumb{background-color:#c19d74;outline:2px solid #886843}.townOfGnawniaHUD-mouse-bait-name{font-size:13px}.townOfGnawniaHUD-mouse-image.reveal{animation-name:town-of-gnawnia-mouse-reveal-new}@media screen and (prefers-reduced-motion: reduce){.townOfGnawniaHUD-mouse-image{animation:none}}@keyframes town-of-gnawnia-mouse-reveal-new{0%{opacity:0;transform:scale(.1) rotate(30deg);transform-origin:center bottom}50%{transform:rotate(-10deg)}70%{transform:rotate(3deg)}to{opacity:1;transform:scale(1)}}\n"; } }); // src/modules/location-huds/town-of-gnawnia/index.js var town_of_gnawnia_default; var init_town_of_gnawnia = __esm({ "src/modules/location-huds/town-of-gnawnia/index.js"() { init_utils2(); init_styles92(); town_of_gnawnia_default = () => __async(void 0, null, function* () { addHudStyles(styles_default91); }); } }); // src/modules/location-huds/train-station/styles.css var styles_default92; var init_styles93 = __esm({ "src/modules/location-huds/train-station/styles.css"() { styles_default92 = ".pendingTrainContainer .trainTableBody{height:340px}.trainStationHUD{height:400px}.trainStationHUD .trainStationPhase .wrongEnvironment b{position:absolute;top:-41px;box-sizing:border-box;height:32px;padding:3px 10px;font-weight:400;line-height:30px;vertical-align:middle;background-color:#ffbfbf}.mousehuntHud-marbleDrawer .tournamentStatusHud.hasError.train{height:32px;overflow:hidden}.pendingTrainContainer .trainRow:hover,.pendingTrainContainer .trainRow:nth-child(2n):hover{background-color:#645052}\n"; } }); // src/modules/location-huds/train-station/index.js var train_station_default; var init_train_station = __esm({ "src/modules/location-huds/train-station/index.js"() { init_utils2(); init_styles93(); train_station_default = () => __async(void 0, null, function* () { addHudStyles(styles_default92); }); } }); // src/modules/location-huds/windmill/styles.css var styles_default93; var init_styles94 = __esm({ "src/modules/location-huds/windmill/styles.css"() { styles_default93 = '.windmillHud-helpContainer-section-quantity{font-size:12px;font-weight:49;color:#000}.windmillHud-bossContainer.complete:after{position:absolute;inset:0;display:block;content:"";background:url(https://www.mousehuntgame.com/images/ui/hud/windmill/boss.png) 0 100% no-repeat;filter:drop-shadow(2px 4px 4px #16240a)}.windmillHud-helpContainer-section-content{top:-5px;right:0;left:57px;height:80px;line-height:13px}.windmillHud-helpContainer-section-title{margin-bottom:5px}.windmillHud-bonusContainer{top:34px;left:110px;display:flex;align-items:center;justify-content:center;width:105px;height:67px;padding:0;font-size:11px;text-align:center}.windmillHud-bonusContainer.none .windmillHud-bonus.none,.windmillHud-bonusContainer.low .windmillHud-bonus.low,.windmillHud-bonusContainer.ultra_low .windmillHud-bonus.ultra_low,.windmillHud-bonusContainer.medium .windmillHud-bonus.medium,.windmillHud-bonusContainer.high .windmillHud-bonus.high,.windmillHud-bonusContainer.max .windmillHud-bonus.max{line-height:1.4}.windmillHud-bonusContainer.none{font-size:13px}.windmillHud-bonusContainer.low .windmillHud-bonus.low,.windmillHud-bonusContainer.medium .windmillHud-bonus.medium{font-size:12px}.windmillHud-speed{left:17px;display:flex;align-items:center;justify-content:center;width:80px;height:20px;font-size:13px;font-weight:900;user-select:none}.windmillHud-speed span{margin-right:5px}\n'; } }); // src/modules/location-huds/windmill/index.js var start, spinNeedle, windmill_default; var init_windmill = __esm({ "src/modules/location-huds/windmill/index.js"() { init_utils2(); init_styles94(); spinNeedle = () => { const needle = document.querySelector(".windmillHud-needle"); if (!needle) { return; } const speed = document.querySelector(".windmillHud-speed"); if (!speed) { return; } start = needle.style.transform.match(/rotate\(([^)]+)\)/); if (!start.length > 1) { return; } start = Number.parseInt(start[1].replace("deg", ""), 10); let timeout; let spins = 1; speed.addEventListener("click", () => { needle.style.transition = "transform 0.4s"; needle.style.transform = `rotate(${start + 360 * spins}deg)`; spins += 1; clearTimeout(timeout); timeout = setTimeout(() => { needle.style.transition = "none"; needle.style.transform = `rotate(${start}deg)`; spins = 1; }, spins * 400); }); }; windmill_default = () => __async(void 0, null, function* () { addHudStyles(styles_default93); spinNeedle(); }); } }); // src/modules/location-huds/zugzwang-tower/styles.css var styles_default94; var init_styles95 = __esm({ "src/modules/location-huds/zugzwang-tower/styles.css"() { styles_default94 = '.zuzwangsTowerHUD-progress{overflow:visible;counter-reset:chess 0}.zuzwangsTowerHUD-progress img{position:relative;display:inline-block;counter-increment:chess 1}.zuzwangsTowerHUD:hover .zuzwangsTowerHUD-progress:after{position:absolute;top:0;right:0;display:block;padding:2px;margin-right:-40px;font-size:10px;color:#000;content:counter(chess) "/15";background-color:#dcccb3;border-radius:10px}.zuzwangsTowerHUD-amplifierBoundingBox .mousehuntTooltip{left:86px}.zuzwangsTowerHUD-amplifierBoundingBox .mousehuntTooltip .mousehuntTooltip-arrow{display:none}.zuzwangsTowerHUD-currentAmplifier{top:19px;font-size:15px;text-shadow:1px 1px 0 #ded3c1}.zuzwangsTowerHUD:before{position:absolute;top:4px;left:125px;padding:0 20px;font-size:12px;font-weight:900;color:#765e4c;content:"Tower Amplifier";background:radial-gradient(circle,#dac8ab 14%,#efe2cd 76%,transparent 100%)}a.zugzwangsTowerHUD-retreatButton.mousehuntTooltipParent{top:95px}.zugzwangsTowerHUD-retreatButton:hover{background-color:#7d2b2b}\n'; } }); // src/modules/location-huds/zugzwang-tower/index.js var zugzwang_tower_default; var init_zugzwang_tower2 = __esm({ "src/modules/location-huds/zugzwang-tower/index.js"() { init_utils2(); init_styles95(); zugzwang_tower_default = () => __async(void 0, null, function* () { addHudStyles(styles_default94); }); } }); // src/modules/location-huds/region-living-garden/styles.css var styles_default95; var init_styles96 = __esm({ "src/modules/location-huds/region-living-garden/styles.css"() { styles_default95 = '.livingGardenHud .essenceContainer .item{padding-top:26px;padding-bottom:5px;font-size:14px;text-shadow:0 0 4px #5e5e5e}.livingGardenHud .itemContainer .itemImage .quantity{right:1px;bottom:1px;padding:2px 3px;font-size:12px;font-weight:400}.livingGardenHud.desert_oasis .minigameContainer .pourEstimate{top:45px;font-size:12px}.livingGardenHud.desert_oasis.corrupted .minigameContainer.drops .itemImage .quantity{padding:1px 2px;font-size:12px}.livingGardenHud .itemContainer .itemImage:hover{opacity:.9}.livingGardenHud .essenceContainer .item:hover{border-radius:7px;box-shadow:inset 0 0 5px 2px #8cffde}.livingGardenHud .essenceContainer .item.essence_a_crafting_item{display:inline;padding-left:0;margin-left:23px;text-align:center}.itemImage.dewthief_petal_crafting_item:before,.itemImage.dreamfluff_herbs_crafting_item:before,.itemImage.duskshade_petal_crafting_item:before{position:absolute;top:-26px;left:-2px;z-index:1;padding:4px;font-size:12px;font-weight:900;text-align:center;text-shadow:1px 1px 0 #2e1800;content:"Garden";background-color:#412200}.itemImage.dewthief_petal_crafting_item:before{right:-2px;left:-9px;padding-left:6px;color:#2f9d31;border-top-left-radius:10px}.livingGardenHud.desert_oasis .itemImage.dewthief_petal_crafting_item:before{color:#7fd981}.itemImage.dreamfluff_herbs_crafting_item:before{right:-2px;left:-3px;color:#079dbb;content:"City"}.livingGardenHud.lost_city .itemImage.dreamfluff_herbs_crafting_item:before{color:#91e9fb}.itemImage.duskshade_petal_crafting_item:before{right:-8px;left:-3px;padding-left:2px;color:#d48321;content:"Desert";border-top-right-radius:10px}.livingGardenHud.sand_dunes .itemImage.duskshade_petal_crafting_item:before{color:#f4daba}.livingGardenHud .itemContainer .itemImage,.livingGardenHud .itemContainer .itemImage:hover img,.livingGardenHud .itemContainer .itemImage:hover .quantity,.livingGardenHud .itemContainer .itemImage.faded:hover img,.livingGardenHud .itemContainer .itemImage.faded:hover .quantity{overflow:visible;opacity:1}.livingGardenHud .itemContainer .itemImage.faded img,.livingGardenHud .itemContainer .itemImage.faded .quantity{opacity:.4}.travelHudLg>div{display:none}.livingGardenHud.corrupted .minigameContainer .curseContainer .curse.active:after{position:absolute;right:13px;bottom:0;left:15px;padding:2px;font-size:11px;font-weight:900;text-align:center;content:"cursed!";background-color:#050605;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.livingGardenHud.corrupted .minigameContainer .curseContainer .curse.mist.active:after{color:#086c6a;content:"Clarity";background-color:#8bf7f5;box-shadow:-3px 0 5px 1px #8bf7f5,3px 0 5px -1px #8bf7f5}.livingGardenHud.corrupted .minigameContainer .curseContainer .curse.darkness.active:after{color:#68a856;text-shadow:0 0 3px #63765f;content:"Shine";background-color:#050605;box-shadow:-7px 4px 5px -1px #649e53,7px 2px 5px -1px #649e53}.livingGardenHud.corrupted .minigameContainer .curseContainer .curse.fear.active:after{text-shadow:0 0 1px #fee236;content:"Bravery";background-color:#f09036;box-shadow:-7px 2px 5px -1px #da7b34,5px 2px 5px -1px #da7b34}.livingGardenHud.lost_city.corrupted .curse.active .curseActive{display:flex;flex-direction:column;align-items:center;text-align:center}.livingGardenHud .minigameContainer .curseContainer .curse.active .help{inset:20px 18px 20px 20px;display:block;width:unset;height:unset;padding:5px;visibility:hidden;background-color:transparent}.livingGardenHud .minigameContainer .curseContainer .curse.active .help img{inset:5px 0 0 6px;width:45px;height:45px;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff) drop-shadow(0 0 4px #fff) drop-shadow(0 0 5px #fff)}.livingGardenHud .minigameContainer .curseContainer .curse.active:hover .help{visibility:visible}.livingGardenHud .minigameContainer .curseContainer .curse.active .help b{position:absolute;top:-22px;right:-5px;left:-5px;padding-top:2px;font-size:12px;visibility:visible;border-top-left-radius:5px;border-top-right-radius:5px}.livingGardenHud .minigameContainer .curseContainer .curse.mist.active .help b{color:#086c6a;content:"Clarity";background-color:#8bf7f5;box-shadow:-3px 0 5px 1px #8bf7f5,3px 0 5px -1px #8bf7f5}.livingGardenHud .minigameContainer .curseContainer .curse.darkness.active .help b{color:#68a856;text-shadow:0 0 3px #63765f;content:"Shine";background-color:#050605;box-shadow:-5px -3px 5px -2px #649e53,6px -2px 5px -2px #649e53}.livingGardenHud .minigameContainer .curseContainer .curse.fear.active .help b{text-shadow:0 0 1px #fee236;content:"Bravery";background-color:#f09036;box-shadow:-7px 2px 5px -1px #da7b34,5px 2px 5px -1px #da7b34}.livingGardenHud .minigameContainer .curseContainer .curse.active{cursor:pointer}.livingGardenHud .minigameContainer .curseContainer .curse.active .help span{display:none}.livingGardenHud.lost_city.corrupted .curse{display:block!important;visibility:hidden}.livingGardenHud.lost_city.corrupted .curse .corruptedispelled{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;visibility:visible;background-color:#f6ffd4;box-shadow:inset 0 0 5px #000}.livingGardenHud.lost_city.corrupted .curse.active{visibility:visible}.livingGardenHud.lost_city.corrupted .curse .corruptedispelled b{font-size:11px;text-decoration:line-through}.livingGardenHud.lost_city.corrupted .curse .corruptedispelled br{display:none}.livingGardenHud .minigameContainer{z-index:1}.livingGardenHud{margin-top:25px;margin-bottom:20px}.livingGardenHud .spongeDoubleYellow{width:55px}.livingGardenHud .essenceContainer a.livingGardenRecipes:hover{background-image:url(https://i.mouse.rip/living-garden/recipe_rollover-new.png)}.livingGardenHud.desert_oasis.normal{background-image:url(https://i.mouse.rip/living-garden/living_garden_bg.png)}.livingGardenHud.desert_oasis.corrupted{background-image:url(https://i.mouse.rip/living-garden/twisted_garden_bg.png)}.livingGardenHud.lost_city.normal{background-image:url(https://i.mouse.rip/living-garden/lost_city_bg.png);border-bottom-right-radius:35px;border-bottom-left-radius:15px}.livingGardenHud.lost_city.corrupted{background-image:url(https://i.mouse.rip/living-garden/cursed_city_bg.png)}.livingGardenHud.sand_dunes.normal{background-image:url(https://i.mouse.rip/living-garden/grubling_bg.png)}.livingGardenHud.sand_dunes.corrupted{background-image:url(https://i.mouse.rip/living-garden/king_grub_bg.png)}.livingGardenHud .minigameContainer .minigameHelp{bottom:25px;font-size:11px;line-height:1.5}.livingGardenHud.lost_city.corrupted .minigameContainer.blessed{visibility:visible}\n'; } }); // src/modules/location-huds/region-living-garden/index.js var clickCharmsToEquip, region_living_garden_default; var init_region_living_garden = __esm({ "src/modules/location-huds/region-living-garden/index.js"() { init_utils2(); init_styles96(); clickCharmsToEquip = () => { const charms = document.querySelectorAll(".livingGardenHud .minigameContainer .curseContainer .curse.active"); const charmMap = { fear: 1011, darkness: 1019, mist: 1012 }; charms.forEach((charm) => { const charmClass = [...charm.classList].find((c) => c !== "curse" && c !== "active"); charm.addEventListener("click", () => { if (charmClass in charmMap) { hg.utils.TrapControl.armItem(charmMap[charmClass], "trinket"); hg.utils.TrapControl.go(); } }); charm.title = "Click to equip charm"; }); }; region_living_garden_default = () => __async(void 0, null, function* () { addHudStyles(styles_default95); clickCharmsToEquip(); }); } }); // src/modules/location-huds/region-queso/styles.css var styles_default96; var init_styles97 = __esm({ "src/modules/location-huds/region-queso/styles.css"() { styles_default96 = ".quesoHUD-wildTonic-quantity.quantity{top:4px;left:42px;padding:1px;font-size:13px;line-height:initial;text-shadow:1px 1px 1px #825842}.quesoHUD-bait-group-baitQuantity.quantity{z-index:1;font-size:12px;text-shadow:1px 1px 1px #715c4e;border-radius:4px}.ember_root_crafting_item .quesoHUD-bait-group-craftingQuantity.quantity,.ember_stone_crafting_item .quesoHUD-bait-group-craftingQuantity.quantity{position:absolute;top:5px;right:-20px;z-index:1;display:block;font-size:12px;text-shadow:1px 1px 1px #715c4e;background-color:#715c4eab;border-radius:4px}.quesoGeyserHUD .quesoHUD-bait-group .mousehuntItem-image{background-color:#e8c4ab}.quesoGeyserHUD .disabled .mousehuntItem-image{top:1px;left:-1px;box-shadow:0 0 20px #333 inset}.quesoGeyserHUD .quesoHUD-bait-group-spiceImage .mousehuntItem-image{top:1px;left:-1px;width:21px;height:21px;background-color:#755541;background-size:100%}.quesoGeyserHUD .quesoHUD-bait-group.bland_queso_cheese .mousehuntItem-image{top:-2px}.quesoGeyserHUD-nestBlock:hover .quesoGeyserHUD-nestBlock-image-transition{opacity:1;transition:opacity .3s ease-in-out}.quesoHUD-bait-group:hover .quesoHUD-bait-group-tooltip{padding:4px 3px;font-size:12px;background-color:#505050;border:none;border-radius:10px}.quesoCanyonHUD-pump-nachore-padding span.quantity{padding:3px;font-size:12px;background:#4d8d4a;border-radius:10px}.quesoGeyserHUD-block-title.quesoGeyserHUD-stateName{margin:2px 8px 1px;font-size:13px;background-color:#723b14;box-shadow:0 0 5px -1px inset #90542a}#hudLocationContent .quesoGeyserHUD:hover .quesoHUD-wildTonic-button.selected:after{transform-origin:center;animation:mh-improved-shake-light .45s 2}@media (prefers-reduced-motion: reduce){#hudLocationContent .quesoGeyserHUD:hover .quesoHUD-wildTonic-button.selected:after{animation:none}}.quesoGeyserHUD-block-huntsRemaining{padding-top:4px;padding-bottom:2px;font-size:38px}.quesoGeyserHUD-block-huntsRemaining-label.eruption.claim{font-size:10px;color:#d7d7d7;text-transform:lowercase}.quesoGeyserHUD-craftingItem-quantity.quantity{font-size:13px;background-color:#815942;border-radius:3px;box-shadow:0 0 5px -1px inset #90542a}.quesoHUD-bait-group-spiceQuantity.quantity{top:29px;font-size:12px}.quesoGeyserHUD .quesoHUD-bait-group.bland_queso_cheese .quesoHUD-bait-group-baitQuantity{top:18px;padding-left:3px;background-color:#723b14;border-top-left-radius:5px;border-bottom-left-radius:5px;box-shadow:0 0 5px -1px inset #90542a}.quesoCanyonHUD.showBossCheese .quesoHUD-bait-group.super_brie_cheese .quesoHUD-bait-group-baitQuantity{right:26px}.quesoHUD-bait-group{display:inline-block}.quesoHUD-bait-group-cheeseImage .mousehuntItem-image,.quesoHUD-bait-group-spiceImage .mousehuntItem-image{background-color:transparent}.quesoHUD-bait-group-spiceImage .mousehuntItem-image{border:none;box-shadow:none;transform:scale(1.2);transform-origin:top}\n"; } }); // src/modules/location-huds/region-queso/index.js var region_queso_default; var init_region_queso = __esm({ "src/modules/location-huds/region-queso/index.js"() { init_utils2(); init_styles97(); region_queso_default = () => __async(void 0, null, function* () { addHudStyles(styles_default96); }); } }); // src/modules/location-huds/event-locations/shared.js var updateDateTooltip, spaceNumbers, updateDateDates; var init_shared = __esm({ "src/modules/location-huds/event-locations/shared.js"() { updateDateTooltip = (selector) => { const tooltip = document.querySelector(selector); if (!tooltip) { return; } if (tooltip.getAttribute("data-changed")) { return; } tooltip.classList.add("bottom"); tooltip.classList.remove("top"); tooltip.setAttribute("data-changed", "true"); }; spaceNumbers = (text) => { return text.replaceAll(/(\d+)/g, " $1 ").trim(); }; updateDateDates = (remainingSelector, textSelector = false) => { const badge = document.querySelector(remainingSelector); if (badge) { if (badge.getAttribute("data-changed")) { return; } badge.innerHTML = spaceNumbers(badge.innerHTML); badge.setAttribute("data-changed", "true"); } if (!textSelector) { return; } const tooltip = document.querySelector(textSelector); if (tooltip) { if (tooltip.getAttribute("data-changed")) { return; } tooltip.innerHTML = spaceNumbers(tooltip.innerHTML); tooltip.setAttribute("data-changed", "true"); } }; } }); // src/modules/location-huds/event-locations/birthday/styles.css var styles_default97; var init_styles98 = __esm({ "src/modules/location-huds/event-locations/birthday/styles.css"() { styles_default97 = '.superBrieFactoryHUD-vendingMachine-quantity.quantity,.superBrieFactoryHUD-item-quantity.quantity{font-size:12px;line-height:15px}.superBrieFactoryHUD-itemContainer.boss_ticket .superBrieFactoryHUD-item-quantity.quantity{padding:1px;margin-right:-2px;font-size:12px;line-height:12px;background-color:#f6f3eb;border:1px solid #aeb1b0;border-radius:2px}.superBrieFactoryHUD-pipeProgress{font-size:10px}.superBrieFactoryHUD-vendingMachine-quantity{min-width:30px;margin-right:4px;text-align:right}.superBrieFactoryHUD-factoryRoom.mixing_room,.superBrieFactoryHUD-factoryRoom.break_room,.superBrieFactoryHUD-factoryRoom.pumping_room,.superBrieFactoryHUD-factoryRoom.quality_assurance_room{box-sizing:border-box;padding:2px;border:1px solid #000}.superBrieFactoryHUD-factoryRoom.mixing_room,.superBrieFactoryHUD-factoryRoom.break_room,.superBrieFactoryHUD-factoryRoom.pumping_room,.superBrieFactoryHUD-factoryRoom.quality_assurance_room,.superBrieFactoryHUD-factoryRoom.mixing_room:before,.superBrieFactoryHUD-factoryRoom.break_room:before,.superBrieFactoryHUD-factoryRoom.pumping_room:before,.superBrieFactoryHUD-factoryRoom.quality_assurance_room:before{background-repeat:no-repeat;background-size:100%}.superBrieFactoryHUD-factoryRoom.mixing_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_mixing_room.jpg)}.superBrieFactoryHUD-factoryRoom.break_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_break_room.jpg);background-size:contain}.superBrieFactoryHUD-factoryRoom.pumping_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_pump_room.jpg)}.superBrieFactoryHUD-factoryRoom.quality_assurance_room{background-image:url(https://www.mousehuntgame.com/images/ui/events/birthday_factory/active_qa_room.jpg)}.superBrieFactoryHUD-factoryRoom.mixing_room:before,.superBrieFactoryHUD-factoryRoom.break_room:before,.superBrieFactoryHUD-factoryRoom.pumping_room:before,.superBrieFactoryHUD-factoryRoom.quality_assurance_room:before{background-image:none}.superBrieFactoryHUD-factoryRoom:before{border-color:#fe9ff1;border-width:1px;border-radius:1px;outline:1px solid #dc4a9e;box-shadow:inset 0 0 2px 1px #87378f}.superBrieFactoryHUD-factoryRoom:after{top:44px;left:3px;width:149px;background-color:#15ff46;background-image:none;filter:invert(1);mix-blend-mode:color;opacity:.3}.superBrieFactoryHUD-factoryRoom:nth-child(2) .superBrieFactoryHUD-factoryRoom-level,.superBrieFactoryHUD-factoryRoom:nth-child(4) .superBrieFactoryHUD-factoryRoom-level{left:43px}.superBrieFactoryHUD-room-name{margin-top:5px;font-size:12px}.superBrieFactoryHUD-room-effectPrefix{margin-bottom:4px;font-size:10px}.superBrieFactoryHUD-room-costLevel.level_max{margin-top:5px}.level_5 .superBrieFactoryHUD-room-cost-levelNumber{display:none}.level_5 .superBrieFactoryHUD-room-cost-effect{margin-left:-6px}.superBrieFactoryHUD-room-costLevel{margin-top:5px}.superBrieFactoryHUD-factoryRoom-level{left:75.5px}.superBrieFactoryHUD-showControlPanelButton:after{background-color:#4cc2a6;border-radius:4px}.superBrieFactoryHUD-craftingItem.active .quantity:before{position:absolute;inset:8px 0 0;display:block;content:""}.superBrieFactoryHUD-craftingItem .quantity{position:absolute;inset:4px 5px 2px 15px;display:flex;align-items:center;justify-content:flex-end;padding-right:3px;margin-right:-10px;background-color:#f6f3eb;border:1px solid #aeb1b0;border-radius:2px}.superBrieFactoryHUD-craftingItem.active .quantity{color:#fff;text-shadow:none;background-color:#338577;border-color:#2dc49f}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_break_room_stat_item]:after,.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_mixing_room_stat_item]:after,.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_pumping_room_stat_item]:after,.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_quality_assurance_room_stat_item]:after{position:absolute;top:-4px;left:-16px;width:20px;height:20px;content:"";background-size:contain}.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_break_room_stat_item]:after,.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_mixing_room_stat_item]:after,.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_pumping_room_stat_item]:after,.superBrieFactoryHUD-craftingItem.active .quantity[data-item-type=birthday_factory_quality_assurance_room_stat_item]:after{transform:scale(1.3)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_break_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/4a52c6d8607991a93d3167ac401802ec.png)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_mixing_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/2396577aacb317979238844ae30b62c1.png)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_pumping_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/c3c5cb340c3949ba5280c63b2f552a19.png)}.superBrieFactoryHUD-craftingItem .quantity[data-item-type=birthday_factory_quality_assurance_room_stat_item]:after{background-image:url(https://www.mousehuntgame.com/images/items/stats/large/97bb19e8f5ae6cc29a7a0f312a1a3b14.png)}.superBrieFactoryHUD-item-boundingBox{z-index:1}.superBrieFactoryHUD-item-boundingBox[data-item-type=coggy_colby_cheese]:before,.superBrieFactoryHUD-item-boundingBox[data-item-type=speed_coggy_colby_cheese]:before,.superBrieFactoryHUD-item-boundingBox[data-item-type=birthday_factory_trinket]:before{position:absolute;inset:-16px 0 0 -1px;content:"";background-repeat:no-repeat;background-size:45px;transition:transform .3s;transform:rotate(351deg)}.superBrieFactoryHUD-item-boundingBox[data-item-type=coggy_colby_cheese]:before{background-image:url(https://www.mousehuntgame.com/images/items/bait/large/39a63a48084383a7eb07d64c74357544.png)}.superBrieFactoryHUD-item-boundingBox[data-item-type=speed_coggy_colby_cheese]:before{top:-15px;background-image:url(https://www.mousehuntgame.com/images/items/bait/large/9326f63ea3644631c5fe8360ea4ffdf5.png)}.superBrieFactoryHUD-item-boundingBox[data-item-type=birthday_factory_trinket]:before{top:-9px;left:5px;background-image:url(https://www.mousehuntgame.com/images/items/trinkets/large/907ce5291e023dedae8ed33c98546743.png);background-size:36px;transform:rotate(0)}.superBrieFactoryHUD-item-boundingBox:hover:before{transform:scale(1.3)}.superBrieFactoryHUD-item-quantity.quantity{position:relative;z-index:2}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot{animation:mh-improved-hue-rotate-and-scale 1s 1}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(1){animation-delay:0s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(2){animation-delay:.2s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(3){animation-delay:.4s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(4){animation-delay:.5s}.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot:nth-child(5){animation-delay:.6s}@media (prefers-reduced-motion: reduce){.superBrieFactoryHUD-factoryRoom:hover .superBrieFactoryHUD-factoryRoom-level-dot{animation:none}.superBrieFactoryHUD-item-boundingBox:hover:before{transform:none}}.superBrieFactoryVendingMachinePopup .superBrieFactoryVendingMachineView-numTokens{top:202px;right:57px;background:transparent;border:none;box-shadow:none}.superBrieFactoryHUD .superBrieFactoryHUD-dateCountdownMiniWrapper{top:-10px}.hudLocationContent.super_brie_factory{filter:drop-shadow(0 1px 2px #000)}.superBrieFactoryVendingMachineView-snackPack-cost{font-size:14px;line-height:15px;text-shadow:0 2px #343440}.superBrieFactoryVendingMachineView-snackPack:hover .superBrieFactoryVendingMachineView-snackPack-cost{text-shadow:0 2px #f7d877}.superBrieFactoryVendingMachineView{background-image:url(https://i.mouse.rip/bday/vending-machine-2.png)}.vending-machine-can{position:absolute;right:1px;bottom:40px;width:40px;height:53px;content:"";background-image:url(https://i.mouse.rip/bday/vending-machine-can.png);background-repeat:no-repeat;background-size:contain}.vending-machine-hat{position:absolute;top:23px;right:41px;z-index:1;width:38px;height:21px;content:"";background-image:url(https://i.mouse.rip/bday/vending-machine-hat-2.png);background-repeat:no-repeat;background-size:contain}.superBrieFactoryHUD-dateCountdownMiniWrapper.mousehuntTooltipParent .mousehuntTooltip{top:40px}.superBrieFactoryClaimReward-item .itemImage{border:none}\n'; } }); // src/modules/location-huds/event-locations/birthday/index.js var changeColors, birthdayGlobal, birthdayLocation; var init_birthday2 = __esm({ "src/modules/location-huds/event-locations/birthday/index.js"() { init_utils2(); init_shared(); init_styles98(); changeColors = () => { const popup = document.querySelector(".superBrieFactoryVendingMachinePopup"); if (!popup) { return; } const can = makeElement("div", "vending-machine-can"); const updateColor = () => { const hue = Math.floor(Math.random() * 360); can.style.filter = `hue-rotate(${hue}deg)`; }; can.addEventListener("click", updateColor); updateColor(); popup.append(can); const hat = makeElement("div", "vending-machine-hat"); let initialMouseX = 0; let initialHatX = 0; let isDragging = false; hat.addEventListener("mousedown", (event) => { isDragging = true; initialMouseX = event.clientX; initialHatX = Number.parseInt(window.getComputedStyle(hat).left, 10); }); document.addEventListener("mousemove", (event) => { if (isDragging) { const deltaX = event.clientX - initialMouseX; const newPosition = initialHatX + deltaX; if (newPosition >= 25 && newPosition <= 415) { hat.style.left = `${newPosition}px`; } } }); document.addEventListener("mouseup", () => { isDragging = false; }); popup.append(hat); }; birthdayGlobal = () => { }; birthdayLocation = () => __async(void 0, null, function* () { addHudStyles(styles_default97); setMultipleTimeout(() => { updateDateTooltip(".superBrieFactoryHUD-dateCountdownMiniWrapper.mousehuntTooltipParent .mousehuntTooltip"); updateDateDates(".superBrieFactoryHUD-dateCountdownMiniContainer .dateCountdownMini__remainingText", ".superBrieFactoryHUD-dateCountdownMiniWrapper.mousehuntTooltipParent .mousehuntTooltip .dateCountdown__datesContainer .dateCountdown__remainingText"); }, [100, 500, 1e3]); onDialogShow("superBrieFactoryVendingMachinePopup", () => { setTimeout(changeColors, 500); }); }); } }); // src/modules/location-huds/event-locations/great-winter-hunt/styles.css var styles_default98; var init_styles99 = __esm({ "src/modules/location-huds/event-locations/great-winter-hunt/styles.css"() { styles_default98 = '.headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{margin-top:-2px;margin-right:1px;margin-left:0;font-size:12px;background-color:#4484a2;border-radius:3px;box-shadow:inset 0 0 0 1px #154b6f}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(3) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{margin-right:-2px;margin-left:2px}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(2) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{margin-right:-1px;margin-left:1px}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(4) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{padding-top:0;padding-bottom:2px;margin-top:4px;margin-right:0;margin-left:0;color:#133850;background:linear-gradient(90deg,#0c5168 1%,#95c2d3 10%,#a8d3e0 16% 84%,#6ba1bb 92%,#0c5168 96%);border-radius:0 0 3px 3px;box-shadow:inset 1px -2px 2px -1px #0b3f55}.headsUpDisplayWinterHuntRegionView__golemPart:nth-child(5) .headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity{padding-top:1px;padding-bottom:1px;margin-top:-2px;margin-right:-1px;margin-left:1px;color:#133850;background-color:#a8d3e0;box-shadow:inset 0 0 1px 1px #5f9bb4}.headsUpDisplayWinterHuntRegionView__golemBuffQuantity.quantity{font-size:11px;color:#133850}.headsUpDisplayWinterHuntRegionView__golemUpgradeCost{position:absolute;top:6px;right:22px;left:24px;display:flex;align-items:center;justify-content:center;height:15px;padding:2px;margin-left:-1px;font-size:12px;color:#86c8e4;text-align:center;background-color:#18536d;border:1px solid #915211;border-radius:10px;box-shadow:inset 0 0 2px 1px #113346,1px -2px 1px -1px #e9c320,-8px 6px 0 -6px #6c5528}.headsUpDisplayWinterHuntRegionView__golemUpgradeCost:after{display:none}.headsUpDisplayWinterHuntRegionView__golemLevel{align-items:center;justify-content:center;margin-top:1px}.headsUpDisplayWinterHuntRegionView__environmentItemQuantity.quantity{font-size:13px}.headsUpDisplayWinterHuntRegionView__cinnamon{margin-bottom:9px}.headsUpDisplayWinterHuntRegionView__fuelQuantity.quantity{font-size:13px}.headsUpDisplayWinterHuntRegionView__baitImageButton{filter:drop-shadow(0 0 3px #a8d3e0);background-position:-1px -4px;background-size:41px;border-radius:50%}.headsUpDisplayWinterHuntRegionView__basicBaitContainer.super_brie_cheese .headsUpDisplayWinterHuntRegionView__baitImageButton{background-position:-3px -4px;border-radius:50%}.greatWinterHuntGolemManagerLaunchTabView__toggleButton{background:linear-gradient(to bottom,#fff9f9 50%,#71a4eb);border:none}.greatWinterHuntGolemManagerLaunchTabView__toggleButton--disabled{filter:grayscale(1);opacity:.7}.greatWinterHuntGolemManagerLaunchTabView__toggleItemQuantity{padding:4px;font-size:13px}.greatWinterHuntGolemManagerLaunchTabView__toggleItemImage{top:-10px;left:-11px;width:40px;height:40px}.greatWinterHuntDialogView__footerItemQuantity.quantity{padding:3px;font-size:13px;border-radius:5px;box-shadow:inset 0 0 1px 1px #a8d3e0}.greatWinterHuntDialogView__inventoryFooter .headsUpDisplayWinterHuntRegionView__plusButton{position:absolute;right:-15px;display:none;width:19px;height:19px;background-size:cover;border-radius:2px;box-shadow:0 0 1px 1px #527e8f}.greatWinterHuntDialogView__inventoryFooter:hover button.headsUpDisplayWinterHuntRegionView__plusButton,.greatWinterHuntDialogView__inventoryFooter:focus button.headsUpDisplayWinterHuntRegionView__plusButton,.greatWinterHuntDialogView__inventoryFooter:active button.headsUpDisplayWinterHuntRegionView__plusButton{display:block}.headsUpDisplayWinterHuntRegionView__golemHuntsRemaining{display:flex;align-items:center;justify-content:center;height:26px;padding-top:0;margin-top:1px;font-size:15px;line-height:unset;background-color:#0d3650;border-radius:5px 1px 1px 5px;box-shadow:inset 0 0 2px 2px #5d747f}.headsUpDisplayWinterHuntRegionView__golemChatMessage span{display:flex;width:unset;padding-bottom:2px;font-size:10px;line-height:10px}.headsUpDisplayWinterHuntRegionView__golemChatMessage:before{top:100%}.headsUpDisplayWinterHuntRegionView__golem:nth-child(1) .headsUpDisplayWinterHuntRegionView__golemChatMessage{padding:3px;transform:rotate(-5deg) translate(-10px) translateY(-25px)}.headsUpDisplayWinterHuntRegionView__golem:nth-child(2) .headsUpDisplayWinterHuntRegionView__golemChatMessage{padding:3px;transform:translateY(-25px)}.headsUpDisplayWinterHuntRegionView__golem:nth-child(3) .headsUpDisplayWinterHuntRegionView__golemChatMessage{padding:3px;transform:rotate(5deg) translate(10px) translateY(-25px)}.headsUpDisplayWinterHuntRegionView__golem .headsUpDisplayWinterHuntRegionView__golemChatMessage{opacity:0;transition:opacity .3s}.headsUpDisplayWinterHuntRegionView__golem:hover .headsUpDisplayWinterHuntRegionView__golemChatMessage,.headsUpDisplayWinterHuntRegionView__golem:focus .headsUpDisplayWinterHuntRegionView__golemChatMessage,.headsUpDisplayWinterHuntRegionView__golem:active .headsUpDisplayWinterHuntRegionView__golemChatMessage{opacity:1}.winterHuntGolemView__golem{z-index:11;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 4px #18536d);transform:translateY(-8px)}.winterHuntGolemView__head,.winterHuntGolemView__arms,.winterHuntGolemView__legs,.winterHuntGolemView__torso,.winterHuntGolemView__scarf{transform:scale(1.6)}.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__head,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__arms,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__legs,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__torso,.greatWinterHuntClaimRewardDialogView__golem .winterHuntGolemView__scarf{transform:scale(1.3) translate(10px)}.winterHuntGolemView.winterHuntGolemView--idleAnimation .winterHuntGolemView__head,.winterHuntGolemView.winterHuntGolemView--idleAnimation:hover .winterHuntGolemView__head,.winterHuntGolemView.winterHuntGolemView--idleAnimation:focus .winterHuntGolemView__head,.winterHuntGolemView.winterHuntGolemView--idleAnimation:active .winterHuntGolemView__head{transform-origin:48% 51%}.winterHuntGolemView__background{box-shadow:0 0 25px 25px #e0f7fd inset}@keyframes golemLegWiggle{0%{transform:scale(1.6) rotate(2deg)}50%{transform:scale(1.6) rotate(-2deg)}to{transform:scale(1.6) rotate(2deg)}}@keyframes golemArmWiggle{0%{transform:scale(1.6) rotate(8deg)}50%{transform:scale(1.6) rotate(-8deg)}to{transform:scale(1.6) rotate(8deg)}}@keyframes golemHeadWiggle{0%{transform:scale(1.6) translateY(-3px)}50%{transform:scale(1.6) translateY(3px)}to{transform:scale(1.6) translateY(-3px)}}@keyframes golemHeadWiggleExcited{0%{transform:scale(1.6) translateY(-5px)}50%{transform:scale(1.6) translateY(1px)}to{transform:scale(1.6) translateY(-5px)}}@keyframes golemJump{0%{transform:scaleY(.28)}20%{transform:scaleY(.96)}50%{transform:scaleY(1.6) translateY(-8.5%)}60%{transform:scaleY(1.6) translateY(-8%)}95%{transform:scaleY(1.52) translateY(1%)}to{transform:scaleY(1.6) translateY(0)}}.greatWinterHuntGolemManagerDialogView__activeGolem{overflow:visible}.activeJsDialog .headsUpDisplayWinterHuntRegionView__golemChatMessage{display:none}.greatWinterHuntGolemManagerDialogView__golemPanel{background-color:#32748c}.greatWinterHuntGolemManagerDialogView__golemPreview .winterHuntGolemView__background{border-bottom:1px solid #3887a3;box-shadow:0 0 40px 76px #99cadc inset,0 11px 10px -6px #52b1d3}.greatWinterHuntGolemManagerDialogView__golem .winterHuntGolemView{width:60px}.greatWinterHuntGolemManagerDialogView__golem{width:33%;margin:0}.greatWinterHuntGolemManagerDialogView__golemUpgradeButton{position:absolute;bottom:-25px;left:5px;display:flex;flex-direction:row;width:90%;font-size:13px;background-position-x:45px;transform-origin:0 -40px}.greatWinterHuntGolemManagerDialogView__golem:hover,.greatWinterHuntGolemManagerDialogView__golem:focus,.greatWinterHuntGolemManagerDialogView__golem:active{transform:none}.greatWinterHuntGolemManagerDialogView__golem:hover button.greatWinterHuntGolemManagerDialogView__golemSelectButton,.greatWinterHuntGolemManagerDialogView__golem:focus button.greatWinterHuntGolemManagerDialogView__golemSelectButton,.greatWinterHuntGolemManagerDialogView__golem:active button.greatWinterHuntGolemManagerDialogView__golemSelectButton{transform:scale(1.1)}.greatWinterHuntGolemManagerDialogView__golem .greatWinterHuntGolemManagerDialogView__golemSelectButton{filter:brightness(.9)!important}.greatWinterHuntGolemManagerUpgradeTabView__itemQuantity{margin-top:35px;font-size:14px;background:#d7f4fe;border:1px solid #000;box-shadow:none}.greatWinterHuntGolemManagerUpgradeTabView__item--box{background-color:#96e3fd;border-width:1px}.greatWinterHuntDialogView__bigButtonInlineCostQuantity{margin-top:12px;font-size:19px;box-shadow:0 0 20px 4px #074762 inset}.greatWinterHuntDialogView__bigButtonInlineCost{margin-right:20px}.greatWinterHuntDialogView__button{filter:saturate(.6)}.greatWinterHuntGolemManagerReturnTabView__progressContainer b{display:block;font-size:15px}.greatWinterHuntGolemManagerReturnTabView__progressContainer b:after,.greatWinterHuntGolemManagerReturnTabView__progressContainer b:before{content:" \\1f389\\fe0f "}.greatWinterHuntGolemManagerReturnTabView__instantReturnBellCost{padding:0 3px 1px;margin:0 -3px -1px -5px;font-size:23px;background:linear-gradient(23deg,#e78700,#d16e07);border-radius:3px;box-shadow:-1px -3px 5px -3px #f9a148}.greatWinterHuntGolemManagerReturnTabView__instantReturnButton--disabled .greatWinterHuntGolemManagerReturnTabView__instantReturnBellCost{background:linear-gradient(23deg,#8d8d8d,#7e7e7e);box-shadow:none}.greatWinterHuntRecycleDialogView__itemQuantity.quantity{top:185px;right:unset;left:unset;min-width:40px;font-size:18px;background-color:#ffffffbf}.greatWinterHuntRecycleDialogView__item{align-items:center}.greatWinterHuntRecycleDialogView__action{border-radius:4px}.greatWinterHuntRecycleDialogView__craftCost:before{font-size:24px;content:"\\2212"}.greatWinterHuntRecycleDialogView__smashYield:before{font-size:24px;content:"+"}.greatWinterHuntRecycleDialogView__golemRequirement{margin-bottom:3px;font-size:13px}.greatWinterHuntRecycleDialogView__action:after{position:absolute;top:60px;left:-10px;width:20px;height:10px;content:""}.greatWinterHuntRecycleDialogView__golemRequirementContainer{margin-left:-10px}.greatWinterHuntRecycleDialogView__golemRequirementTitle{padding-bottom:4px;color:#1863bf}.greatWinterHuntRecycleDialogView__item:nth-child(1) .greatWinterHuntRecycleDialogView__itemQuantity.quantity{top:175px}.possibleGolems .greatWinterHuntDialogView__footerItemQuantity.quantity{background-color:#51516e;box-shadow:inset 0 0 1px 1px #6ea0d1}.greatWinterHuntDialogView__footerItemSeperator{width:50px}.headsUpDisplayWinterHuntIceFortressView__shieldLabel.headsUpDisplayWinterHuntIceFortressView__shieldLabel--active{top:6px;font-size:11px;background-color:#273852;border-radius:13px}.headsUpDisplayWinterHuntRegionView__hailstones .headsUpDisplayWinterHuntRegionView__resourceCost{top:39px;font-size:14px;background-color:#8de3e4}.greatWinterHuntRecycleDialogView__itemQuantity.quantity[data-item-type=golem_part_limb_stat_item]{display:flex;gap:4px;align-items:center;justify-content:space-evenly}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{top:172px;left:54px;width:20px;font-size:14px;background:linear-gradient(54deg,#c87d0e,#9f510c);border-radius:4px}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton:nth-child(2) .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{left:55px}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton:nth-child(3) .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{left:56px}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{background:linear-gradient(90deg,#7d3415,#5a231c)}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive:hover .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive:focus .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--inactive:active .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{background:linear-gradient(112deg,#91492a,#602726)}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--active:hover .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--active:focus .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining,.headsUpDisplayWinterHuntGolemWorkshopView__droidButton--active:active .headsUpDisplayWinterHuntGolemWorkshopView__droidHuntsRemaining{background:linear-gradient(54deg,#e77f14,#b8590f)}#overlayPopup.greatWinterHuntDialog{margin-top:30px}.greatWinterHuntClaimRewardDialogView__title{padding-left:20px}.greatWinterHuntGolemManagerDialogView__destinationViewContainer--active{z-index:11}button.greatWinterHuntGolemManagerDialogView__randomizeButton{top:15px}.greatWinterHuntGolemManagerDialogView__activeGolemControls.greatWinterHuntGolemManagerDialogView__activeGolemControls--decrement{right:-25px;left:unset;border-radius:10px 0 0 10px}.greatWinterHuntGolemManagerDialogView__partButton{opacity:1}.greatWinterHuntGolemManagerDialogView__activeGolemControls--increment{right:-45px}.greatWinterHuntGolemManagerDialogView__activeGolemControls:hover,.greatWinterHuntGolemManagerDialogView__activeGolemControls:focus,.greatWinterHuntGolemManagerDialogView__activeGolemControls:active,.greatWinterHuntGolemManagerDialogView__activeGolem:hover .greatWinterHuntGolemManagerDialogView__activeGolemControls,.greatWinterHuntGolemManagerDialogView__activeGolem:focus .greatWinterHuntGolemManagerDialogView__activeGolemControls,.greatWinterHuntGolemManagerDialogView__activeGolem:active .greatWinterHuntGolemManagerDialogView__activeGolemControls{z-index:12;opacity:.8}.greatWinterHuntGolemManagerDialogView__activeGolemControls{top:40px;padding:20px 5px 0;background-color:#32748c;opacity:.1}.greatWinterHuntGolemManagerDialogView__activeGolemControls.greatWinterHuntGolemManagerDialogView__activeGolemControls--increment{border-radius:0 10px 10px 0}.greatWinterHuntGolemManagerDialogView__activeGolemContent .winterHuntGolemView--hasScarf .winterHuntGolemView__scarf{top:15px}.headsUpDisplayWinterHuntRegionView__warning{width:170px;padding:10px;font-size:13px;font-weight:900;line-height:20px;color:#2f2a2a;text-align:center;border:none}.headsUpDisplayWinterHuntRegionView__trapWarningContainer .greatWinterHuntDialogView{top:25%;z-index:11}.headsUpDisplayWinterHuntRegionView__trapWarningContainer.headsUpDisplayWinterHuntRegionView__trapWarningContainer--active{filter:drop-shadow(0 0 7px #000)}.headsUpDisplayWinterHuntRegionView__trapWarningContainer.headsUpDisplayWinterHuntRegionView__trapWarningContainer--active .greatWinterHuntDialogView__content{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.greatWinterHuntRewardTrackView--allRewardsClaimed .greatWinterHuntRewardTrackView__claimedLabel{color:transparent;background:transparent}.greatWinterHuntRewardTrackView--allRewardsClaimed .greatWinterHuntRewardTrackView__bar{filter:hue-rotate(347deg);transition:none}.greatWinterHuntRewardTrackView__golem:hover{animation:wallDamageWiggleSmall .3s infinite}.greatWinterHuntRewardTrackView__golem:focus,.greatWinterHuntRewardTrackView__golem:active{animation-name:wallDamageWiggle}@media (prefers-reduced-motion: reduce){.greatWinterHuntRewardTrackView__golem,.greatWinterHuntRewardTrackView__golem:hover,.greatWinterHuntRewardTrackView__golem:focus,.greatWinterHuntRewardTrackView__golem:active{animation:none}}.headsUpDisplayWinterHuntGolemWorkshopView__droidButton .mousehuntTooltip{bottom:30%}.greatWinterHuntNewYearsDialogView__shopsButton{transition:none}.greatWinterHuntNewYearsDialogView__itemImage{background-size:contain}#overlayPopup.winter_hunt_profile_tree_possible_gifts .suffix{display:flex;flex-direction:row;align-items:center;justify-content:flex-end}#overlayPopup.winter_hunt_profile_tree_possible_gifts .wrappingGoldCost{order:1;margin-right:10px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .suffix .cancelGift{order:5}#overlayPopup.winter_hunt_profile_tree_possible_gifts .suffix .sendGift{order:10}#overlayPopup.winter_hunt_profile_tree_possible_gifts .giftCostContainer{line-height:2}#overlayPopup.winter_hunt_profile_tree_possible_gifts .recipientContainer img{width:100px;height:100px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .recipientContainer{padding:10px;border:1px solid #ccc;border-radius:5px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-search{padding:5px;margin:10px;font-size:12px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch{top:10px;right:12px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch:hover,#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch:focus,#overlayPopup.winter_hunt_profile_tree_possible_gifts .winter_hunt_profile_tree_possible_gifts-clearSearch:active{color:#e33f3f;text-decoration:none}#overlayPopup.winter_hunt_profile_tree_possible_gifts .giftChannel-title{margin-bottom:10px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .recipient{float:right;padding:10px;margin:-25px 20px 0 10px;border:1px solid #ccc;border-radius:5px}#overlayPopup.winter_hunt_profile_tree_possible_gifts .giftDescription{margin-left:0}.winterHuntProfileInteractionView-gifting{background-position-x:0;background-size:130px}.winterHuntProfileInteractionView .info{width:190px;margin-top:10px}.winterHuntProfileInteractionView-giftCeremony{line-height:1.5}.winterHuntProfileInteractionView a.giftBox:hover,.winterHuntProfileInteractionView a.giftBox:focus,.winterHuntProfileInteractionView a.giftBox:active{filter:brightness(1.1)}.headsUpDisplayWinterHuntRegionView__bait .mousehuntTooltip{width:175px;line-height:1.5}.greatWinterHuntGolemManagerTabView__destinationCount{margin-left:5px}.greatWinterHuntGolemDestinationView__environmentImage{border-radius:0 0 2px 2px;transition:all .2s ease-in-out}.headsUpDisplayWinterHuntRegionView__newYearsButton--active{opacity:.8}.headsUpDisplayWinterHuntRegionView__newYearsButton--active:hover{opacity:1}.headsUpDisplayWinterHuntRegionView{filter:drop-shadow(0 1px 5px #1b202b)}\n'; } }); // src/modules/location-huds/event-locations/great-winter-hunt/global.css var global_default; var init_global2 = __esm({ "src/modules/location-huds/event-locations/great-winter-hunt/global.css"() { global_default = ".campHudSnowballShowdownView__disabled{top:45px}.advent-calendar-spoilers .adventCalendarView-gift .adventCalendarView-gift-label,.advent-calendar-spoilers .adventCalendarView-gift .adventCalendarView-gift-image{display:none}.mousehuntActionButton.tiny.toggle-advent-calendar-spoilers{position:absolute;left:20px;font-size:12px}.adventCalendarView-subtitle{padding:10px;font-size:12px;line-height:19px;background-color:#d3ddfe}.adventCalendarView-gift.canClaim{filter:brightness(1.75)}.adventCalendarView-gift-rewardContainer{inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0;background-color:#d3ddfe;border-radius:0}.adventCalendarView-gift-reward-close{padding:2px 4px 5px 6px;font-size:13px;font-weight:900;color:#e03a3a;background-color:#b1bfed;border-top-right-radius:0;border-bottom-left-radius:10px}.adventCalendarView-gift-reward-items{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.adventCalendarView-gift-item,.adventCalendarView-gift-item img{width:55px;height:55px}.adventCalendarView-title{background-color:#d3ddfe;border-width:1px}.adventCalendarView-header{background-color:#e2ebee}.campHudSnowballShowdownView__imageContainer{height:35px;margin-top:-5px;background:#dabc9b99;border-radius:13px}.campHudSnowballShowdownView__image{height:35px;background-position:bottom center}.campHudSnowballShowdownView__snowball .campHudSnowballShowdownView__image{background-position:center 5px}.campHudSnowballShowdownView__quantity{padding:1px;font-size:13px;color:#133850;text-align:center;background-color:#a8d3e0;border-radius:5px;box-shadow:inset 0 0 0 1px #2174ab}button.campHudSnowballShowdownView__buyButton{display:none}.campHudSnowballShowdownView__item:hover button.campHudSnowballShowdownView__buyButton,.campHudSnowballShowdownView__item:focus button.campHudSnowballShowdownView__buyButton,.campHudSnowballShowdownView__item:active button.campHudSnowballShowdownView__buyButton{position:absolute;right:-1px;bottom:-2px;display:block;width:17px;height:17px;background-size:cover}.snowballShowdownView-reward-subtitle,.snowballShowdownView-rewardsTitle{display:none}.snowballShowdownView-rewardsContainer{overflow:hidden;border-radius:10px}.snowballShowdownView-reward-image{height:120px}.snowballShowdownView-reward-item{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center}.snowballShowdownView-reward-item-name span{display:inline}.snowballShowdownView-reward-item-name{display:inline-block;height:unset;text-align:center}.snowballShowdownView-reward-item .itemImage{float:none;width:unset;height:unset}.snowballShowdownView-reward-item .itemImage img{width:45px;height:auto}.snowballShowdownView-item-quantity{padding:1px 5px;font-size:12px}.snowballShowdownView-item-name{margin:0 4px;font-size:11px}.snowballShowdownView-item{box-shadow:0 -7px 8px #ccc inset,0 0 0 3px #3e71be}.snowballShowdownView-message{display:inline-block;width:auto;padding:8px;font-size:10px;background:#3e71be;border-radius:4px;box-shadow:0 0 1px #103060 inset}.snowballShowdownView-messageContainer{padding:0;background:none;box-shadow:none}.snowballShowdownView-item:after{filter:drop-shadow(-2px 2px 0 #3e71be) drop-shadow(1px -2px 0 #3e71be)}.snowballShowdownView-board-row-cell.available:hover,.snowballShowdownView-board-row-cell.available:focus{cursor:pointer;box-shadow:inset 0 0 1px 3px #3e71be}.snowballShowdownView-board-row-cell.hit{box-shadow:inset 0 0 0 3px #b8ffe3}.winter_hunt_profile_tree_possible_gifts .gift{width:20%}.campHudSnowballShowdownView__quantityContainer.possibleAmount{display:none;margin-top:7px}.campHudSnowballShowdownView--hasSnowballShowdown:hover .campHudSnowballShowdownView__quantityContainer.possibleAmount,.campHudSnowballShowdownView--hasSnowballShowdown:focus .campHudSnowballShowdownView__quantityContainer.possibleAmount{display:flex}.possibleAmount .campHudSnowballShowdownView__quantity{background-color:#d2e8ef;box-shadow:inset 0 0 0 1px #7ebde7}\n"; } }); // src/modules/location-huds/event-locations/great-winter-hunt/index.js var updateGolemFooter, getFraction, updateGolemPartsQuantity, updateGolemTravelCount, updateGolemPopup, golemDance, getQuest, expandAnimatedSnowCount, showPossibleSnowballShowdownDustCount, getGolemCounts, adventCalendarPopup, maybeHideAdventCalendarInMenu, greatWinterHuntGlobal, greatWinterHuntLocation; var init_great_winter_hunt = __esm({ "src/modules/location-huds/event-locations/great-winter-hunt/index.js"() { init_utils2(); init_utils2(); init_styles99(); init_global2(); updateGolemFooter = () => { const footer = document.querySelector(".greatWinterHuntDialogView__inventoryFooter"); if (!footer) { return; } const headsEl = footer.querySelector('.greatWinterHuntDialogView__footerItemQuantity[data-item-type="golem_part_head_stat_item"]'); const torsoEl = footer.querySelector('.greatWinterHuntDialogView__footerItemQuantity[data-item-type="golem_part_torso_stat_item"]'); const limbsEl = footer.querySelector('.greatWinterHuntDialogView__footerItemQuantity[data-item-type="golem_part_limb_stat_item"]'); if (!headsEl && !torsoEl && !limbsEl) { return; } const heads = headsEl ? Number.parseInt(headsEl.textContent, 10) : 0; const torso = torsoEl ? Number.parseInt(torsoEl.textContent, 10) : 0; const limbs = limbsEl ? Number.parseInt(limbsEl.textContent, 10) : 0; const limbSet = Math.floor(limbs / 4); const possibleGolems = Math.min(heads, torso, limbSet); const existing = footer.querySelector(".greatWinterHuntDialogView__footerItem.possibleGolems"); if (existing) { existing.remove(); } const possibleWrapper = makeElement("div", ["greatWinterHuntDialogView__footerItem", "mousehuntTooltipParent", "possibleGolems"]); const possibleImage = makeElement("div", ["greatWinterHuntDialogView__footerItemImage"]); possibleImage.style.backgroundImage = "url(https://i.mouse.rip/mh-improved/golem-thumb.png)"; possibleWrapper.append(possibleImage); makeElement("div", ["greatWinterHuntDialogView__footerItemQuantity", "quantity"], possibleGolems, possibleWrapper); const possibleTooltip = makeElement("div", ["mousehuntTooltip", "tight", "top", "noEvents"], `You can make ${possibleGolems} golem${possibleGolems === 1 ? "" : "s"}`); makeElement("div", ["mousehuntTooltip-arrow"], null, possibleTooltip); possibleWrapper.append(possibleTooltip); footer.insertBefore(possibleWrapper, footer.children[3]); }; getFraction = (num) => { switch (num) { case 1: return "\xBC"; case 2: return "\xBD"; case 3: return "\xBE"; default: return ""; } }; updateGolemPartsQuantity = () => { const limbs = document.querySelector('.greatWinterHuntRecycleDialogView__itemQuantity.quantity[data-item-type="golem_part_limb_stat_item"]'); if (!limbs) { return; } const original = limbs.getAttribute("original-quantity"); if (original) { const footerLimbs = document.querySelector('.greatWinterHuntDialogView__footerItemQuantity.quantity[data-item-type="golem_part_limb_stat_item"]'); limbs.textContent = footerLimbs ? footerLimbs.textContent : original; } const limbCount = Number.parseInt(limbs.textContent, 10); limbs.setAttribute("original-quantity", limbCount); const limbSet = Math.floor(limbCount / 4); const limbSetFraction = getFraction(limbCount % 4); const newLimbsEl = makeElement("span", ["golemLimbsTotal"], limbCount); const newLimbsSetEl = makeElement("span", ["golemLimbsPossible"], `(${limbSet}${limbSetFraction})`); limbs.textContent = ""; limbs.append(newLimbsEl, newLimbsSetEl); }; updateGolemTravelCount = () => __async(void 0, null, function* () { const title = document.querySelector(".greatWinterHuntGolemManagerTabView__destinationHeader"); if (!title) { return; } const name = title.querySelector(".greatWinterHuntGolemManagerTabView__destinationName"); if (!name) { return; } const allEnvironments = yield getData("environments"); const currentEnvironment = allEnvironments.find((env) => env.name === name.textContent); if (!currentEnvironment) { return; } const golemCounts = getGolemCounts(); const existing = title.querySelector(".greatWinterHuntGolemManagerTabView__destinationCount"); if (existing) { existing.textContent = golemCounts[currentEnvironment.id] || 0; return; } const countEl = makeElement("span", ["greatWinterHuntGolemManagerTabView__destinationCount"], `(${golemCounts[currentEnvironment.id] || 0})`); name.append(countEl); }); updateGolemPopup = () => { setTimeout(() => { const golems = document.querySelectorAll(".greatWinterHuntGolemManagerDialogView__golem"); if (golems) { golems.forEach((golem) => { golem.addEventListener("click", () => { eventRegistry.doEvent("golem-switch-in-dialog"); }); }); } updateGolemTravelCount(); updateGolemFooter(); updateGolemPartsQuantity(); }, 250); }; golemDance = () => { const trigger = document.querySelector(".greatWinterHuntRewardTrackView__progress"); if (!trigger) { return; } trigger.addEventListener("click", () => { const golems = document.querySelectorAll(".headsUpDisplayWinterHuntRegionView__golem .winterHuntGolemView"); if (!golems) { return; } count = 0; golems.forEach((golem) => { setTimeout(() => { golem.classList.add("winterHuntGolemView--idleAnimation"); }, 100 * count); count++; }); }); }; getQuest = () => { if ("winter_hunt_grove" === getCurrentLocation()) { return user.quests.QuestCinnamonTreeGrove; } else if ("winter_hunt_workshop" === getCurrentLocation()) { return user.quests.QuestGolemWorkshop; } else if ("winter_hunt_fortress" === getCurrentLocation()) { return user.quests.QuestIceFortress; } return {}; }; expandAnimatedSnowCount = () => { var _a, _b; const limbEl = document.querySelector('.headsUpDisplayWinterHuntRegionView__golemPartQuantity.quantity[data-item-type="animate_snow_stat_item"]'); if (!limbEl) { return; } limbEl.textContent = ((_b = (_a = getQuest()) == null ? void 0 : _a.items) == null ? void 0 : _b.animate_snow_stat_item.quantity_formatted) || 0; }; showPossibleSnowballShowdownDustCount = () => { const showdownItems = document.querySelector(".campHudSnowballShowdownView__itemsContainer"); if (!showdownItems) { return; } const snowballEl = showdownItems.querySelector(".campHudSnowballShowdownView__snowball"); const snowballQtyEl = snowballEl.querySelector(".campHudSnowballShowdownView__quantity"); const snowballQty = snowballQtyEl ? Number.parseInt(snowballQtyEl.textContent.replaceAll(",", ""), 10) : 0; const dustEl = showdownItems.querySelector(".campHudSnowballShowdownView__dust"); const currentDustQtyEl = dustEl.querySelector(".campHudSnowballShowdownView__quantity"); const currentDustQty = currentDustQtyEl ? Number.parseInt(currentDustQtyEl.textContent.replaceAll(",", ""), 10) : 0; const possibleDustQty = Math.floor(snowballQty / 175); const snowballText = snowballQty - possibleDustQty * 175; const dustText = currentDustQty + possibleDustQty; const possibleSnowballExists = showdownItems.querySelector(".campHudSnowballShowdownView__quantity.possibleSnowball"); if (possibleSnowballExists) { possibleSnowballExists.textContent = snowballText; } else { const possibleSnowballWrapper = makeElement("div", "campHudSnowballShowdownView__quantityContainer possibleAmount"); makeElement("div", ["campHudSnowballShowdownView__quantity", "possibleSnowball"], snowballText, possibleSnowballWrapper); snowballEl.append(possibleSnowballWrapper); } const possibleDustExists = showdownItems.querySelector(".campHudSnowballShowdownView__quantity.possibleDust"); if (possibleDustExists) { possibleDustExists.textContent = dustText; } else { const dustWrapper = makeElement("div", "campHudSnowballShowdownView__quantityContainer possibleAmount"); makeElement("div", ["campHudSnowballShowdownView__quantity", "possibleDust"], dustText, dustWrapper); dustEl.append(dustWrapper); } }; getGolemCounts = () => { var _a; const golemCounts = {}; const destinations = ((_a = getQuest()) == null ? void 0 : _a.destinations) || {}; for (const region in destinations) { destinations[region].environments.forEach((env) => { golemCounts[env.type] = env.num_golem_visits; }); } return golemCounts; }; adventCalendarPopup = () => { const suffix = document.querySelector("#overlayPopup .suffix"); if (!suffix) { return; } const existingToggle = document.querySelector(".toggle-advent-calendar-spoilers"); if (existingToggle) { return; } const toggleBtn = makeElement("button", ["mousehuntActionButton", "tiny", "toggle-advent-calendar-spoilers"]); makeElement("span", "", "View unblurred calendar", toggleBtn); toggleBtn.setAttribute("data-enabled", "false"); toggleBtn.addEventListener("click", () => { const popup = document.querySelector("#overlayPopup"); if (!popup) { return; } popup.classList.toggle("advent-calendar-spoilers"); const enabled = toggleBtn.getAttribute("data-enabled"); if ("true" === enabled) { toggleBtn.setAttribute("data-enabled", "false"); toggleBtn.querySelector("span").innerText = "View unblurred calendar"; } else { toggleBtn.setAttribute("data-enabled", "true"); toggleBtn.querySelector("span").innerText = "Hide unblurred calendar"; } }); suffix.append(toggleBtn); }; maybeHideAdventCalendarInMenu = () => { const now = /* @__PURE__ */ new Date(); if (now.getMonth() !== 11) { } return ""; }; greatWinterHuntGlobal = () => { addStyles([global_default, maybeHideAdventCalendarInMenu], "location-hud-events-great-winter-hunt"); onDialogShow("adventCalendarPopup", adventCalendarPopup); }; greatWinterHuntLocation = () => { addHudStyles(styles_default98); onDialogShow("greatWinterHuntDialog", updateGolemPopup); golemDance(); expandAnimatedSnowCount(); showPossibleSnowballShowdownDustCount(); onRequest("purchases/itempurchase.php", () => { updateGolemPartsQuantity(); setTimeout(updateGolemFooter, 250); }); onRequest("*", () => { expandAnimatedSnowCount(); showPossibleSnowballShowdownDustCount(); }); onEvent("golem-switch-in-dialog", () => { updateGolemTravelCount(); }); setTimeout(expandAnimatedSnowCount, 1e3); }; } }); // src/modules/location-huds/event-locations/halloween/styles.css var styles_default99; var init_styles100 = __esm({ "src/modules/location-huds/event-locations/halloween/styles.css"() { styles_default99 = ".halloweenBoilingCauldronHUD-bait-quantity{top:29px;left:40px;font-size:13px;text-shadow:1px 1px 1px #282828}.halloweenBoilingCauldronHUD-bait-ingredientQuantity{top:45px;width:38px;font-size:12px}body .halloweenBoilingCauldronHUD-bait.basic_baits .halloweenBoilingCauldronHUD-bait-quantity{top:29px;left:42px;width:58px;padding-right:8px;background:linear-gradient(0deg,#2b3320,#4b5837,#2b3320);border:1px solid #6f8d70;border-radius:6px}body .halloweenBoilingCauldronHUD-bait.basic_baits.active .halloweenBoilingCauldronHUD-bait-quantity{background:linear-gradient(0deg,#03461a,#03792d,#03461a);border-color:#03d14c}a.halloweenBoilingCauldronHUD-cauldron-boundingBox{font-size:14px}.halloweenBoilingCauldronHUD-cauldron-imageContainer .halloweenBoilingCauldronHUD-cauldron-queue-brewTime{width:auto;padding-right:4px;font-size:19px;color:#f9e8b1;text-align:center;text-shadow:1px 1px 1px #515b3a;background-image:none}.halloweenBoilingCauldronHUD-cauldron-tooltip{top:0;height:50px;font-size:13px;line-height:1.3;background-color:#292827;transition:.3s ease-in-out}.halloweenBoilingCauldronHUD-cauldron-tooltip i{font-size:15px;color:#f8e7b0}.halloweenBoilingCauldronHUD-cauldron-tooltip b{font-weight:400;color:#ccc}.halloweenBoilingCauldronHUD-bait-cauldronButton{box-shadow:none}.halloweenBoilingCauldronHUD-cauldron.active:hover .halloweenBoilingCauldronHUD-cauldron-instantFinishButton{opacity:1}.halloweenBoilingCauldronHUD-cauldron-instantFinishButton{display:block;opacity:0;transition:opacity .2s ease-in-out}.halloweenBoilingCauldronHUD-shutdownButton{left:271px;width:198px}.itemPurchaseView-container.apothecary .itemPurchaseView-content-name{display:block;padding-top:3px}.itemPurchaseView-container.apothecary .itemPurchaseView-image-container{background-color:transparent}.itemPurchaseView-container.apothecary .itemPurchaseView-action-purchaseHelper-owned{padding-left:0;margin:0;text-shadow:none;background-color:transparent;border:none}.itemPurchaseView-container.apothecary .itemPurchaseView-content-description{height:80px}.itemPurchaseView-container.apothecary.no_gold_cost .itemPurchaseView-action-goldGost{display:none}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table{width:100%;margin-right:0;margin-left:0;background-color:#e8f2e5}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table-row{display:flex;align-items:center;justify-content:flex-start;width:auto;height:50px;padding:0;margin:0}.itemPurchaseView-container.apothecary .itemPurchaseView-action-quantity{margin-top:-1px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-quantity input{width:90px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-container{height:130px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table-cell a{padding:20px 6px 20px 29px;font-size:13px;background-position:-10px 50%;background-size:42px}.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table .itemPurchaseView-action-itemCost-table-cell.cost{width:20%;font-size:17px;font-weight:400;text-shadow:1px 1px 1px #788c59}.itemPurchaseView-container.apothecary .itemPurchaseView-content-container{background-color:transparent}.halloweenBoilingCauldronHUD-dialog-boonImage{display:flex;align-items:center}.halloweenBoilingCauldronHUD-dialog-reward.complete:after{top:45px;filter:drop-shadow(0 5px 6px #000);transform:rotate(348deg)}a.halloweenBoilingCauldronHUD-dialog-closeButton{top:0;right:-6px;width:46px;height:38px;background-size:100%}#overlayPopup.halloweenBoilingCauldronRecipePopup #jsDialogClose{top:146px;right:22px;z-index:1;width:46px;height:37px;color:transparent;background-size:cover}#overlayPopup.halloweenBoilingCauldronRecipePopup #jsDialogClose:hover{background-size:cover}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer table{border:none}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer{padding:0;border-radius:5px}.halloweenBoilingCauldronRecipeView-recipe-ingredient-header{display:none}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer td:first-child{padding-left:10px}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer td:last-child{padding-right:10px}.halloweenBoilingCauldronRecipeView-recipe-ingredientContainer td{font-size:12px}.halloweenBoilingCauldronRecipeView-recipe-description{line-height:1.3;color:#4c4d37}.halloweenBoilingCauldronRecipeView-recipe-mouse{font-size:11px}.halloweenBoilingCauldronRecipeView-recipe-mice-list.num_5 .halloweenBoilingCauldronRecipeView-recipe-mouse{width:33%}.halloweenBoilingCauldronHUD-cauldron-queue-brewTime{padding-top:4px;margin-left:3px;font-size:13px;text-shadow:0 1px 1px #efd28e;background-color:#efd28e;background-position-y:bottom;border-radius:10px}.halloweenBoilingCauldronRecipeView-cauldron-queueSlot.cauldron .halloweenBoilingCauldronHUD-cauldron-queue-brewTime{padding-top:2px;font-size:13px;font-weight:900}a.halloweenBoilingCauldronRecipeView-cauldron-queueSlot-cancelButton{top:-17px;right:7px;left:unset}.halloweenBoilingCauldronRecipeView-content{font-size:12px}.hudLocationContent .halloweenBoilingCauldronHUD-cauldron-imageContainer .halloweenBoilingCauldronHUD-cauldron-queue-brewTime{padding:0;background-color:transparent}.campHudSpookyShuffleView__quantity{font-size:12px}.halloweenBoilingCauldronHUD-cauldron-imageContainer,.fuelActive .halloweenBoilingCauldronHUD-reward-progress-bar{transition:all .2s ease-in-out}.fuelActive .halloweenBoilingCauldronHUD-cauldron-imageContainer{background-image:url(https://i.mouse.rip/mh-improved/cauldrons.png);filter:drop-shadow(2px 4px 6px #ff8b1c)}.fuelActive a.halloweenBoilingCauldronHUD-moreInfoButton{filter:hue-rotate(256deg)}.halloweenBoilingCauldronHUD.fuelReveal .halloweenBoilingCauldronHUD-candle{animation-delay:.5s}.halloweenBoilingCauldronHUD-yield-huntsRemaining{right:30px;left:30px;height:6px;border-width:1px;border-radius:0}.halloweenBoilingCauldronHUD-yield-huntsRemaining-progress-bar{height:5px;background-color:#03cd4a;box-shadow:inset 0 0 2px #037e2d}.halloweenBoilingCauldronHUD-dialog-state.item .halloweenBoilingCauldronHUD-dialog-title{margin-right:20px}\n"; } }); // src/modules/location-huds/event-locations/halloween/index.js var unDisableCheese, halloweenGlobal, halloweenLocation; var init_halloween2 = __esm({ "src/modules/location-huds/event-locations/halloween/index.js"() { init_utils2(); init_styles100(); unDisableCheese = () => { const armButtons = document.querySelectorAll(".halloweenBoilingCauldronHUD-bait"); armButtons.forEach((armButton) => { armButton.classList.remove("disabled"); const link = armButton.querySelector("a.disabled"); if (link) { link.classList.remove("disabled"); } const tooltipLink = armButton.querySelector(".halloweenBoilingCauldronHUD-bait-tooltipContent a.disabled"); if (tooltipLink) { tooltipLink.classList.remove("disabled"); } }); }; halloweenGlobal = () => __async(void 0, null, function* () { }); halloweenLocation = () => __async(void 0, null, function* () { addHudStyles(styles_default99); unDisableCheese(); onRequest("*", unDisableCheese); }); } }); // src/modules/location-huds/event-locations/lunar-new-year/styles.css var styles_default100; var init_styles101 = __esm({ "src/modules/location-huds/event-locations/lunar-new-year/styles.css"() { styles_default100 = ".lunarNewYearCampPopup-content-endDate{font-size:14px;line-height:20px}.lunarNewYearCampPopup-environment .mousehuntTooltip{top:-44%}.lunarNewYearCampHUD-window-row-reward:after{top:1px;background-color:#9b2034;border-color:#ef617e}.lunarNewYearCampHUD-window-row:nth-child(2n) .lunarNewYearCampHUD-window-row-reward:after{right:35px}.lunarNewYearCampHUD-window-row:nth-child(odd) .lunarNewYearCampHUD-window-row-reward:after{top:0;left:35px}.lunarNewYearCampHUD-window-row .lunarNewYearCampHUD-window-row-reward:after{box-shadow:0 -1px 1px #f3577c,0 1px 1px #f3577c}.lunarNewYearCampHUD-window-row-reward{width:28px;height:18px;border-radius:6px;box-shadow:0 -1px 1px #f3577c,0 1px 1px #f3577c}.lunarNewYearCampHUD-window-row.lunar_new_year_2018_cheese.reward .lunarNewYearCampHUD-window-row-reward:after,.lunarNewYearCampHUD-window-row.lunar_new_year_2018_cheese.claimed .lunarNewYearCampHUD-window-row-reward:after{width:180px}.lunarNewYearCampHUD-container .mousehuntItem .mousehuntItem-quantity.quantity{right:0;bottom:0;left:0;padding-top:2px;font-size:12px;border-top-left-radius:0;border-top-right-radius:0}.lunarNewYearCampHUD-container .mousehuntItem:hover .mousehuntItem-quantity.quantity,.lunarNewYearCampHUD-container .mousehuntItem:focus .mousehuntItem-quantity.quantity,.lunarNewYearCampHUD-container .mousehuntItem.active .mousehuntItem-quantity.quantity{border-top:1px solid #d6a766;box-shadow:inset 0 0 5px 5px #ffe344}.lunarNewYearCampHUD-container .mousehuntItem:hover .mousehuntItem-image:after,.lunarNewYearCampHUD-container .mousehuntItem:focus .mousehuntItem-image:after{border-color:#ffe344}.lunarNewYearCampHUD-stat-value{font-size:13px;text-shadow:0 0 10px #fee7a6;box-shadow:inset 0 0 3px 1px #b81d3e}.lunarNewYearCampHUD-stat-label{text-align:center}.lunarNewYearCampHUD-statsContainer .lunarNewYearCampHUD-stat:nth-child(3) .lunarNewYearCampHUD-stat-value{width:32px}.lunarNewYearCampHUD-window-background .lunarNewYearCampHUD-window-lantern:after{transition:.7s}.lunarNewYearCampHUD-window-background:hover .lunarNewYearCampHUD-window-lantern:after{filter:brightness(1.5) drop-shadow(1px 0 4px #000);transform:scale(1.5)}.lunarNewYearCampPopup .lunarNewYear2018-claimRow-image{text-align:left}.lunarNewYearCampHUD-window-row-height{font-size:12px;font-weight:900;text-shadow:1px 1px 1px #000}.lunarNewYearCampPopup-subtitle{margin-bottom:5px}.lunarNewYearCampPopupContainer .lunarNewYearCampHUD-window.lunarNewYearCampHUD-viewState.hasLantern{top:21px;bottom:22px;box-shadow:inset 1px 0 4px 2px #000}.lunarNewYearCampHUD-window-background{box-shadow:inset 1px 0 10px #05050a}.lunarNewYearCampPopupContainer .lunarNewYearCampHUD-window-background{border:2px solid #decfb4}.lunarNewYearCampPopup-lanternMap-button.up{border-bottom-width:1px}.lunarNewYearCampPopup-lanternMap-button.down{border-top-width:1px}.lunarNewYearCampPopup-environment:hover .lunarNewYearCampPopup-environment-image{box-shadow:0 -1px 7px -4px #000}.lunarNewYearCampPopup-environment:hover .lunarNewYearCampPopup-environment-name{box-shadow:0 4px 9px -2px #000}.lunarNewYearCampPopup-environment:hover{border-radius:4px;box-shadow:0 1px 5px #2e2e2e;transform:scale(1.2)}.lunarNewYearCampPopup-environment{width:100%;padding:0;border-radius:6px;box-shadow:0 0 2px #000;transition:.2s ease-in;transform-origin:bottom}.lunarNewYearCampPopup-stockpile-environmentContainer{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;align-items:start}.lunarNewYearCampPopup-environment:hover .lunarNewYearCampPopup-environment-name,.lunarNewYearCampPopup-environment.selected .lunarNewYearCampPopup-environment-name{color:#fff;background-color:#b4383a}.lunarNewYearCampPopup-environment.disabled .lunarNewYearCampPopup-environment-name,.lunarNewYearCampPopup-environment.disabled .lunarNewYearCampPopup-environment-image{opacity:.4}.lunarNewYearCampPopup-content-block-image{width:auto;height:60px;background-repeat:no-repeat;box-shadow:none}.lunarNewYearCampPopup-itemContainer{display:flex;gap:5px;align-content:center}.lunarNewYearCampPopup-content-block{width:100%}.launch-the-fireworks{display:block}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(1):before{animation-delay:.1s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(1):after{animation-delay:.7s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(2):before{animation-delay:.9s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(2):after{animation-delay:1.1s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(3):before{animation-delay:1.4s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(3):after{animation-delay:1.8s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(4):before{animation-delay:2s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(4):after{animation-delay:2.5s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(5):before{animation-delay:2.8s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(5):after{animation-delay:3.3s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(6):before{animation-delay:3.7s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(6):after{animation-delay:4.1s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(7):before{animation-delay:4.5s}.launch-the-fireworks .lunarNewYearCampHUD-window-fireworks:nth-child(7):after{animation-delay:5.9s}.launch-the-fireworks-please{position:absolute;bottom:2px;left:-3px;width:20px;height:20px;background-image:url(https://i.mouse.rip/upscaled/festive_firework_stat_item.png);background-repeat:no-repeat;background-size:contain;opacity:.4;transition:.3s;transform:scaleX(-1)}.launch-the-fireworks-please:hover{cursor:pointer;opacity:.9;transform:scaleX(-1.2) scaleY(1.2)}\n"; } }); // src/modules/location-huds/event-locations/lunar-new-year/index.js var startY, initialTranslateY, dragMapPopup, dragMapCamp, dragMap, triggerFireworks, lunarNewYearGlobal; var init_lunar_new_year = __esm({ "src/modules/location-huds/event-locations/lunar-new-year/index.js"() { init_utils2(); init_styles101(); dragMapPopup = () => __async(void 0, null, function* () { const map = document.querySelector(".lunarNewYearCampPopupContainer .lunarNewYearCampHUD-window-background"); if (!map) { return; } dragMap({ map, maxHeight: 2300 }); }); dragMapCamp = () => __async(void 0, null, function* () { const map = document.querySelector(".lunarNewYearCampHUD-window .lunarNewYearCampHUD-window-background"); if (!map) { return; } dragMap({ map, maxHeight: 1881 }); }); dragMap = (args) => __async(void 0, null, function* () { const { map, maxHeight } = args; if (!map) { return; } const onDrag = (event) => { const deltaY = event.clientY - startY; let newTranslateY = initialTranslateY + deltaY; if (newTranslateY < 0) { newTranslateY = 0; } else if (newTranslateY > maxHeight) { newTranslateY = maxHeight; } map.style.transform = `translateY(${newTranslateY}px)`; }; map.addEventListener("mousedown", (event) => { startY = event.clientY; const style = window.getComputedStyle(map); const matrix = new WebKitCSSMatrix(style.transform); initialTranslateY = matrix.m42; map.style.transition = "none"; map.addEventListener("mousemove", onDrag); }); map.addEventListener("mouseup", () => { map.removeEventListener("mousemove", onDrag); }); map.addEventListener("wheel", (event) => { event.preventDefault(); map.style.transition = "none"; const style = window.getComputedStyle(map); const matrix = new WebKitCSSMatrix(style.transform); const currentTranslateY = matrix.m42; let newTranslateY = currentTranslateY - event.deltaY; if (newTranslateY < 0) { newTranslateY = 0; } else if (newTranslateY > maxHeight) { newTranslateY = maxHeight; } map.style.transform = `translateY(${newTranslateY}px)`; }); map.addEventListener("mouseleave", () => { map.style.transition = "transform 1s ease-in-out"; }); }); triggerFireworks = () => { const existing = document.querySelector(".launch-the-fireworks-please"); if (existing) { return; } const fireworks = document.querySelector(".lunarNewYearCampHUD-container .lunarNewYearCampHUD-window-fireworksContainer"); if (!fireworks) { return; } const statsContainer = document.querySelector(".lunarNewYearCampHUD-container .lunarNewYearCampHUD-statsContainer"); if (!statsContainer) { return; } const launchButton = makeElement("div", "launch-the-fireworks-please", ""); statsContainer.append(launchButton); let isAnimating = false; launchButton.addEventListener("click", () => { launchButton.classList.add("launched"); fireworks.classList.add("launch-the-fireworks"); if (isAnimating) { return; } isAnimating = true; setTimeout(() => { launchButton.classList.remove("launched"); fireworks.classList.remove("launch-the-fireworks"); isAnimating = false; }, 5 * 1e3); }); }; lunarNewYearGlobal = () => __async(void 0, null, function* () { addStyles(styles_default100, "location-hud-events-lunar-new-year"); onRequest("events/lunar_new_year.php", dragMapPopup); if ("camp" === getCurrentPage()) { dragMapCamp(); triggerFireworks(); } onEvent("camp_quest_hud_view_initialize", () => { dragMapCamp(); triggerFireworks(); }); }); } }); // src/modules/location-huds/event-locations/spring-egg-hunt/styles.css var styles_default101; var init_styles102 = __esm({ "src/modules/location-huds/event-locations/spring-egg-hunt/styles.css"() { styles_default101 = '.springEggHuntCampHUD-chocolate-quantity{font-size:14px}.springHuntHUD-popup-region-environment.active:before{left:-9px;outline:1px solid #364661;box-shadow:0 0 125px #bbffb3 inset,0 1px 6px -2px #000}.springHuntHUD-popup-egg-quantity{right:0;bottom:0;padding:5px;font-size:14px}.springHuntHUD-popup-region-environment-header{padding-bottom:5px;margin-bottom:10px}.springHuntHUD-popup-region-environment-header .mousehuntActionButton{bottom:5px}.springHuntHUD-popup-region-environment-margin{margin-bottom:15px}.springHuntHUD-totalEggStats{top:-7px;display:flex;flex-direction:column;gap:4px;align-items:flex-end;font-size:12px}.springHuntHUD-popup-tabHeader span{top:0;padding-top:8px}.springHuntHUD-popup-tabHeader.active,.springHuntHUD-popup-tabHeader:hover{padding-top:5px}.springHuntHUD-shop-cost{margin-top:-2px;font-size:12px;border-color:#999}.springHuntHUD-shelf .springHuntHUD-shelf-itemsContainer{margin-bottom:5px}.springHuntHUD-shelf-unlockContainer:before,.springHuntHUD-shelf.locked:nth-of-type(6) .springHuntHUD-shelf-unlockContainer:before,.springHuntHUD-shelf.locked:nth-of-type(3) .springHuntHUD-shelf-unlockContainer:before{height:155px}.springHuntHUD-shelf.locked:nth-of-type(4) .springHuntHUD-shelf-unlockContainer:before{height:282px}.springHuntHUD-shelf.locked:nth-of-type(5) .springHuntHUD-shelf-unlockContainer:before{height:292px}.springHuntHUD-unlockShelfButton,.springHuntHUD-shelf-unlockContainer span{display:flex;align-items:center}.springHuntHUD-unlockShelfButton .springHuntHUD-shop-cost{margin:-1px -6px -1px 10px}.springHuntHUD-shelf-unlock-reward-image{filter:drop-shadow(0 1px 1px #c7f4ff);transition:.3s}.springHuntHUD-shelf-unlock-reward-image:hover{transform:scale(1.35)}.springHuntHUD-interfaceEgg:after{border:none;transform-origin:center;animation:2s wallDamageWiggle infinite}.eggSweeper-inventoryReminder-quantity,.eggSweeper-play-upgradeQuantity{font-size:12px}.eggSweeper-dialog-title{margin-bottom:10px}.eggSweeper-dialog-state.rewards{margin-top:-10px}.springEggHuntCampHUD-fuelQuantity{top:15px;left:27px;font-size:13px}.springEggHuntCampHUD-buyFuelButton{top:14px;border:1px solid #5f221e;border-radius:7px;mix-blend-mode:luminosity}.eggSweeper-eggConvertible .itemImage{background-color:transparent}.highlight .springHuntHUD-popup-egg.found{opacity:.2}.springHuntHUD-popup-egg.found:after{top:60px;left:0}.springHuntHUD-popup-moreInfo-content-paragraph-container img{transition:.2s ease-in}.springHuntHUD-popup-moreInfo-content-paragraph-container img:hover{transform:scale(1.2) rotate(-2deg)}.springHuntHUD-shelf-item.mousehuntTooltipParent:hover .mousehuntTooltip{display:none}.springHuntHUD-shelf-item-name{margin:2px -30px;line-height:1.4}.springHuntHUD-shop-cost:hover{filter:brightness(1.3)}.mousehuntTooltipParent:hover .springEggHuntCampHUD-fuelButtonBackground:after{position:absolute;top:9px;right:24px;width:14px;height:11px;content:"";background:linear-gradient(90deg,#5b201c,#4e1915);border-radius:0 0 40px 36px;box-shadow:0 -.7px #652c1c,0 -1px #eda934,0 -3px #f5a02d}.springHuntHUD-setMaxQuantityButton{font-size:14px}.springHuntHUD-popup-dialogContainer{top:50vh}.springHuntHUD-popup-dialogFrame-content{max-height:60vh;overflow-y:auto}.springHuntHUD-shelf-item .itemImage{border-width:1px;box-shadow:inset 0 0 7px -1px #db882f}\n'; } }); // src/modules/location-huds/event-locations/spring-egg-hunt/index.js var addUnfoundEggHighlight, addUnfoundEggHighlightWithTimeout, rightclickToFlag, springEggHuntGlobal; var init_spring_egg_hunt = __esm({ "src/modules/location-huds/event-locations/spring-egg-hunt/index.js"() { init_utils2(); init_shared(); init_styles102(); addUnfoundEggHighlight = () => { const tabContent = document.querySelector(".springHuntHUD-popup-tabContentContainer"); if (!tabContent) { return; } const stats = tabContent.querySelector(".springHuntHUD-totalEggStats"); if (!stats) { return; } const existingLink = stats.querySelector(".springHuntHUD-unfoundEggHighlight"); if (existingLink) { return; } const highlightEl = makeElement("a", "springHuntHUD-unfoundEggHighlight", "Highlight missing"); highlightEl.addEventListener("click", () => { if (tabContent.classList.contains("highlight")) { tabContent.classList.remove("highlight"); highlightEl.innerText = "Highlight missing"; } else { tabContent.classList.add("highlight"); highlightEl.innerText = "Unhighlight missing"; } }); stats.append(highlightEl); }; addUnfoundEggHighlightWithTimeout = () => { setMultipleTimeout(() => { addUnfoundEggHighlight(); }, [10, 500, 1e3]); }; rightclickToFlag = () => { const board = document.querySelector(".eggSweeper"); if (!board) { return; } const isFlagMode = board.classList.contains("flags"); if (isFlagMode) { return; } const spaces = board.querySelectorAll(".eggSweeper-board-row-cell"); if (!spaces) { return; } spaces.forEach((space) => { space.addEventListener("contextmenu", (e) => __async(void 0, null, function* () { const cell = space.querySelector("a"); if (!cell) { return; } e.preventDefault(); hg.views.EggstremeEggscavationView.setFlagMode(); hg.views.EggstremeEggscavationView.pickTile(cell); hg.views.EggstremeEggscavationView.setShovelMode(); })); }); }; springEggHuntGlobal = () => __async(void 0, null, function* () { addStyles(styles_default101, "location-hud-events-spring-egg-hunt"); onDialogShow("springHuntPopup", () => { addUnfoundEggHighlightWithTimeout(); onEvent("ajax_response", addUnfoundEggHighlightWithTimeout, true); }); onDialogShow("eggSweeperPopup", () => { setTimeout(rightclickToFlag, 1e3); }); onRequest("events/eggstreme_eggscavation.php", (request, data) => { if ("show_field" === data.action) { setTimeout(rightclickToFlag, 1e3); } }); setMultipleTimeout(() => { updateDateDates(".springEggHuntCampHUD-dateCountdownMiniContainer .dateCountdownMini__remainingText"); }, [100, 500, 1e3]); }); } }); // src/modules/location-huds/event-locations/index.js var event_locations_default; var init_event_locations = __esm({ "src/modules/location-huds/event-locations/index.js"() { init_birthday2(); init_great_winter_hunt(); init_halloween2(); init_lunar_new_year(); init_spring_egg_hunt(); event_locations_default = (location) => __async(void 0, null, function* () { switch (location) { case "halloween_event_location": halloweenLocation(); break; case "winter_hunt_grove": case "winter_hunt_workshop": case "winter_hunt_fortress": greatWinterHuntLocation(); break; case "super_brie_factory": birthdayLocation(); break; default: break; } const events = { 0: [greatWinterHuntGlobal], // January. 1: [birthdayGlobal, lunarNewYearGlobal], // February. 2: [birthdayGlobal, springEggHuntGlobal], // March. 3: [springEggHuntGlobal], // April. 4: [], // May. 5: [], // June. 6: [], // July. 7: [], // August. 8: [], // September. 9: [halloweenGlobal], // October. 10: [halloweenGlobal, greatWinterHuntGlobal], // November. 11: [greatWinterHuntGlobal] // December. }; const month = (/* @__PURE__ */ new Date()).getMonth(); events[month].forEach((event) => { event(); }); }); } }); // src/modules/location-huds/index.js var regionMapping, normalizeCurrentLocation, main19, init59, location_huds_default; var init_location_huds = __esm({ "src/modules/location-huds/index.js"() { init_utils2(); init_toggle_icon(); init_settings30(); init_styles61(); init_acolyte_realm(); init_ancient_city2(); init_balacks_cove(); init_bazaar(); init_bountiful_beanstalk2(); init_calm_clearing(); init_cape_clawed(); init_catacombs(); init_claw_shot_city(); init_derr_dunes(); init_desert_city(); init_desert_warpath2(); init_dojo(); init_dracano(); init_elub_shore(); init_floating_islands3(); init_forbidden_grove(); init_foreword_farm2(); init_fort_rox2(); init_fungal_cavern(); init_great_gnarled_tree(); init_harbour2(); init_iceberg3(); init_jungle_of_dread(); init_kings_arms(); init_kings_gauntlet(); init_laboratory(); init_labyrinth4(); init_lagoon(); init_meditation_room(); init_mountain(); init_mousoleum3(); init_moussu_picchu2(); init_nerg_plains(); init_pinnacle_chamber(); init_pollution_outbreak2(); init_prologue_pond(); init_rift_bristle_woods2(); init_rift_burroughs2(); init_rift_furoma2(); init_rift_gnawnia(); init_rift_valour2(); init_rift_whisker_woods(); init_seasonal_garden2(); init_slushy_shoreline(); init_ss_huntington_ii(); init_sunken_city2(); init_table_of_contents2(); init_tournament_hall(); init_town_of_digby(); init_town_of_gnawnia(); init_train_station(); init_windmill(); init_zugzwang_tower2(); init_region_living_garden(); init_region_queso(); init_event_locations(); regionMapping = [ { region: "region-living-garden", locations: ["desert_oasis", "lost_city", "sand_dunes"] }, { region: "region-queso", locations: ["queso_geyser", "queso_plains", "queso_quarry", "queso_river"] }, { region: "event-locations", locations: [ "halloween_event_location", "winter_hunt_workshop", "winter_hunt_fortress", "great_winter_taiga" ] } ]; normalizeCurrentLocation = (location) => { const region = regionMapping.find((regionMap) => regionMap.locations.includes(location)); if (region) { return region.region; } return location; }; main19 = () => { removeHudStyles(); const currentLocation = getCurrentLocation(); const location = normalizeCurrentLocation(currentLocation); debuglog("location-huds", `Location: ${location}`); if (getSetting("location-huds-enabled.event-locations", true)) { event_locations_default(currentLocation); } if (!getSetting(`location-huds-enabled.${location}`, true)) { return; } const locationHandlers = { acolyte_realm: acolyte_realm_default, ancient_city: ancient_city_default2, balacks_cove: balacks_cove_default, bazaar: bazaar_default, bountiful_beanstalk: bountiful_beanstalk_default2, calm_clearing: calm_clearing_default, cape_clawed: cape_clawed_default, catacombs: catacombs_default, clawshot_city: claw_shot_city_default, derr_dunes: derr_dunes_default, desert_city: desert_city_default, desert_warpath: desert_warpath_default, dojo: dojo_default, dracano: dracano_default, elub_shore: elub_shore_default, floating_islands: floating_islands_default3, forbidden_grove: forbidden_grove_default, foreword_farm: foreword_farm_default2, fort_rox: fort_rox_default2, fungal_cavern: fungal_cavern_default, great_gnarled_tree: great_gnarled_tree_default, harbour: harbour_default2, iceberg: iceberg_default3, jungle_of_dread: jungle_of_dread_default, kings_arms: kings_arms_default, kings_gauntlet: kings_gauntlet_default, laboratory: laboratory_default, labyrinth: labyrinth_default4, lagoon: lagoon_default, meditation_room: meditation_room_default, mountain: mountain_default, mousoleum: mousoleum_default3, moussu_picchu: moussu_picchu_default2, nerg_plains: nerg_plains_default, pinnacle_chamber: pinnacle_chamber_default, pollution_outbreak: pollution_outbreak_default2, prologue_pond: prologue_pond_default, rift_bristle_woods: rift_bristle_woods_default2, rift_burroughs: rift_burroughs_default2, rift_furoma: rift_furoma_default2, rift_gnawnia: rift_gnawnia_default, rift_valour: rift_valour_default2, rift_whisker_woods: rift_whisker_woods_default, seasonal_garden: seasonal_garden_default, slushy_shoreline: slushy_shoreline_default, ss_huntington_ii: ss_huntington_ii_default, sunken_city: sunken_city_default2, table_of_contents: table_of_contents_default2, tournament_hall: tournament_hall_default, town_of_digby: town_of_digby_default, town_of_gnawnia: town_of_gnawnia_default, train_station: train_station_default, windmill: windmill_default, zugzwang_tower: zugzwang_tower_default, "region-living-garden": region_living_garden_default, "region-queso": region_queso_default }; if (locationHandlers[location]) { locationHandlers[location](); } }; init59 = () => __async(void 0, null, function* () { addStyles(styles_default60, "location-huds"); if (getSetting("experiments.location-hud-toggle")) { toggle_icon_default(); } onNavigation(main19); onEvent("travel_complete", () => { setTimeout(main19, 1e3); }); }); location_huds_default = { id: "location-huds", type: "location-hud", alwaysLoad: true, load: init59, settings: settings_default29 }; } }); // src/modules/printing-press-paper-counter/index.js var init60, printing_press_paper_counter_default; var init_printing_press_paper_counter = __esm({ "src/modules/printing-press-paper-counter/index.js"() { init_utils2(); init60 = () => __async(void 0, null, function* () { addTrapQuantity({ baseIds: [3628], baseSlugs: ["naughty_list_printing_press_base"], itemId: "printing_press_charge_stat_item" }); }); printing_press_paper_counter_default = { id: "printing-press-paper-counter", name: "Printing Press Paper Counter", type: "feature", default: true, description: "Shows the number of Prolific Printing Papers you have when Naughty List Printing Press Base is equipped.", load: init60 }; } }); // src/modules/prestige-base-stats/index.js var updateStats, setPrestigeStats, isModifying, modifyPB, isSaving, savePbStats, run2, init61, prestige_base_stats_default; var init_prestige_base_stats = __esm({ "src/modules/prestige-base-stats/index.js"() { init_utils2(); updateStats = (selector, pbStats) => { const stats = selector.querySelector(".campPage-trap-itemBrowser-item-statContainer"); if (!stats) { return; } const currentSetup = getUserSetupDetails(); const power = stats.querySelector(".campPage-trap-itemBrowser-item-stat.power"); if (power) { const powerValue = power.querySelector(".value span"); if (powerValue) { powerValue.innerText = pbStats.power; power.classList.remove("better", "worse"); if (currentSetup.base.power < pbStats.power) { power.classList.add("better"); } else if (currentSetup.base.power > pbStats.power) { power.classList.add("worse"); } } } const luck = stats.querySelector(".campPage-trap-itemBrowser-item-stat.luck"); if (luck) { const luckValue = luck.querySelector(".value span"); if (luckValue) { luckValue.innerText = pbStats.luck; luck.classList.remove("better", "worse"); if (currentSetup.base.luck < pbStats.luck) { luck.classList.add("better"); } else if (currentSetup.base.luck > pbStats.luck) { luck.classList.add("worse"); } } } }; setPrestigeStats = () => __async(void 0, null, function* () { const prestige = document.querySelector(".campPage-trap-itemBrowser-item.base.valour_rift_prestige_base"); if (!prestige) { return; } const pbStats = yield cacheGet("pb-stats", false); if (!pbStats) { return; } updateStats(prestige, pbStats); const armed = document.querySelector(".campPage-trap-itemBrowser-armed-item.base"); if (!armed) { return; } const name = armed.querySelector(".campPage-trap-itemBrowser-item-name"); if (!name) { return; } if (name.innerText.includes("Prestige Base")) { updateStats(armed, pbStats); } }); isModifying = false; modifyPB = (opts) => __async(void 0, null, function* () { if (isModifying) { return; } isModifying = true; const activeBp = document.querySelector(".trapSelectorView__blueprint--active .trapSelectorView__browserStateParent"); if (!activeBp) { isModifying = false; return; } const bpType = activeBp.getAttribute("data-blueprint-type"); if (!bpType || bpType !== "base") { isModifying = false; return; } const { retryPrestige } = opts || {}; const savedStats = yield cacheGet("pb-stats", false); debuglog("prestige-base-stats", "Saved Prestige Base stats:", savedStats); if (!savedStats) { isModifying = false; return; } const prestige = document.querySelector(".campPage-trap-itemBrowser-item.base.valour_rift_prestige_base"); if (!prestige) { if (!retryPrestige) { setTimeout(() => { modifyPB({ retryPrestige: true }); }, 500); } isModifying = false; return; } if (prestige.getAttribute("data-pinned")) { isModifying = false; return; } const recommended = document.querySelector('.trapSelectorView__browserStateParent--items[data-blueprint-type="base"] .recommended'); if (!recommended) { isModifying = false; return; } const header = recommended.querySelector(".campPage-trap-itemBrowser-tagGroup-name"); if (header) { header.after(prestige); } prestige.setAttribute("data-pinned", true); setPrestigeStats(); isModifying = false; }); isSaving = false; savePbStats = () => { if (isSaving) { return; } isSaving = true; const setup = getUserSetupDetails(); if (setup.base.id !== 2904) { isSaving = false; return; } debuglog("prestige-base-stats", "Saving Prestige Base stats\u2026"); const trapMath = document.querySelectorAll(".campPage-trap-trapStat-mathRow"); if (!trapMath.length) { isSaving = false; return; } const stats = {}; trapMath.forEach((row) => { const stat = row.querySelector(".campPage-trap-trapStat-mathRow-name"); if (!stat) { isSaving = false; return; } if (!stat.innerText.includes("Prestige Base")) { isSaving = false; return; } const value = row.querySelector(".campPage-trap-trapStat-mathRow-value"); if (!value) { isSaving = false; return; } let parsedValue = Number.parseInt(value.innerText.replaceAll(",", ""), 10); const type = row.parentElement.parentElement; const typeClass = type.className.replace("campPage-trap-trapStat", "").trim(); if (typeClass === "power") { parsedValue = parsedValue + 490; } else if (typeClass === "luck") { parsedValue = parsedValue + 5; } stats[typeClass] = parsedValue; }); if (!stats.power || !stats.luck) { isSaving = false; return; } debuglog("prestige-base-stats", "Prestige Base stats:", stats); cacheSet("pb-stats", stats); isSaving = false; }; run2 = () => __async(void 0, null, function* () { modifyPB(); savePbStats(); }); init61 = () => __async(void 0, null, function* () { onEvent("camp_page_toggle_blueprint", run2); onRequest("users/changetrap.php", run2); }); prestige_base_stats_default = { id: "prestige-base-stats", name: "Prestige Base Stats", type: "feature", default: true, description: "Shows the correct stats for the Prestige Base in the base selector.", load: init61 }; } }); // src/modules/quick-filters-and-sort/styles.css var styles_default102; var init_styles103 = __esm({ "src/modules/quick-filters-and-sort/styles.css"() { styles_default102 = ".campPage-trap-itemBrowser-filter input[data-filter=search]{width:315px;padding:10px}.campPage-trap-itemBrowser-filter:first-child{flex:0 0 100%;margin-bottom:5px}.campPage-trap-itemBrowser-filterContainer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly}.campPage-trap-itemBrowser-favorites{margin-top:10px}.campPage-trap-itemBrowser .campPage-trap-itemBrowser-filter select{width:100px}.campPage-trap-itemBrowser.weapon .campPage-trap-itemBrowser-filter select{width:75px}.campPage-trap-itemBrowser-quickLinks{z-index:1;display:flex;justify-content:space-evenly;padding:5px 10px;background-color:#f6f3eb}.mh-dark-mode .pageFrameView .campPage-trap-itemBrowser-favorites,.mh-dark-mode .campPage-trap-itemBrowser-quickLinks{background-color:#424242}.campPage-trap-itemBrowser-quickLinks-power{padding:10px 15px}.campPage-trap-itemBrowser-quickLinks-header{position:absolute;left:0;padding:5px;margin-top:10px;color:#96704b;text-align:center;transform:rotate(-90deg)}.campPage-trap-itemBrowser-quickLinks-header.filter-header{left:-2px;margin-top:5px}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image{width:40px;height:40px;background-position:center}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image-frame{width:40px;height:40px}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item-image{width:31px;height:30px;background-position:50%;background-size:25px}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item-image-frame{width:31px;height:30px}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:hover,.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:focus{background-color:#cac0b2}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:hover .campPage-trap-itemBrowser-favorite-item-image-frame,.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item-image:focus .campPage-trap-itemBrowser-favorite-item-image-frame{box-shadow:none}.campPage-trap-itemBrowser-quickLinks .campPage-trap-itemBrowser-favorite-item{width:auto}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item{margin:0 2px}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item:first-child{margin-left:0}.campPage-trap-itemBrowser-quickLinks-power .campPage-trap-itemBrowser-favorite-item:last-child{margin-right:0}.quicklinks-filter-sortBy-name .campPage-trap-itemBrowser-favorite-item-image{background-position:center;background-size:30px}.weapon .campPage-trap-itemBrowser-items{top:250px}.campPage-trap-itemBrowser-items{top:200px}.campPage-wrapper[data-blueprint-type=weapon] .campPage-trap-itemBrowser-itemDescriptionHover.mousehuntTooltip.tight.left.noEvents,.campPage-wrapper[data-blueprint-type=base] .campPage-trap-itemBrowser-itemDescriptionHover.mousehuntTooltip.tight.left.noEvents{margin-top:170px}.campPage-trap-itemBrowser-itemDescriptionHover.mousehuntTooltip.tight.left.noEvents{margin-top:125px}.mh-dark-mode .quicklinks-filter-sortBy-name a,.mh-dark-mode .quicklinks-filter-sortBy-quantity a{background-color:#f2f2f2}.trapSelectorView__browserStateParent--items[data-blueprint-type=skin] .campPage-trap-itemBrowser-quickLinks{display:none}.campPage-trap-itemBrowser-favorite-item.quicklinks-filter.quicklinks-filter-sortBy-name a{background-position:5px 4px}\n"; } }); // src/modules/quick-filters-and-sort/index.js var addItemToQuickLinks, addQuickLinksToTrap, init62, quick_filters_and_sort_default; var init_quick_filters_and_sort = __esm({ "src/modules/quick-filters-and-sort/index.js"() { init_utils2(); init_styles103(); addItemToQuickLinks = (link, appendTo, filter) => { const existing = document.querySelector(`.campPage-trap-itemBrowser-favorite-item.quicklinks-filter.quicklinks-filter-${filter}-${link.id}`); if (existing) { existing.remove(); } const item = document.createElement("div"); item.classList.add("campPage-trap-itemBrowser-favorite-item", "quicklinks-filter", `quicklinks-filter-${filter}-${link.id}`); const itemAnchor = document.createElement("a"); itemAnchor.classList.add("campPage-trap-itemBrowser-favorite-item-image"); itemAnchor.setAttribute("href", "#"); itemAnchor.setAttribute("title", filter === "sortBy" ? `Sort by ${link.name}` : `Filter by ${link.name}`); itemAnchor.style.backgroundImage = `url(${link.image})`; const frame = document.createElement("div"); frame.classList.add("campPage-trap-itemBrowser-favorite-item-image-frame"); itemAnchor.append(frame); const hiddenInput = document.createElement("input"); hiddenInput.setAttribute("type", "hidden"); hiddenInput.setAttribute("data-filter", filter); hiddenInput.setAttribute("value", link.id); item.append(itemAnchor); item.append(hiddenInput); const filterInput = document.querySelector(".campPage-trap-itemBrowser-filter.powerType select"); const sortInput = document.querySelector(".campPage-trap-itemBrowser-filter.sortBy select"); item.addEventListener("click", (e) => { e.preventDefault(); const input = filter === "sortBy" ? sortInput : filterInput; let reset = false; if (item.getAttribute("data-selected") === "true") { reset = true; item.setAttribute("data-selected", false); } else { const items2 = document.querySelectorAll('.quicklinks-filter[data-selected="true"]'); items2.forEach((i) => { i.setAttribute("data-selected", false); }); item.setAttribute("data-selected", true); } let option; if (reset) { if (filter === "sortBy") { option = input.querySelector('option[value="default"]'); } else if (filter === "powerType") { option = input.querySelector('option[value="no_tag_selected"]'); } } else { option = input.querySelector(`option[value="${link.id}"]`); } if (option) { option.selected = true; input.dispatchEvent(new Event("change")); } }); appendTo.append(item); }; addQuickLinksToTrap = () => __async(void 0, null, function* () { const itemBrowser = document.querySelector(".trapSelectorView__itemBrowserContainer"); if (!itemBrowser) { return; } const type = itemBrowser.classList.value.replaceAll("trapSelectorView__itemBrowserContainer", "").replaceAll("trapSelectorView__outerBlock", "").replaceAll("campPage-trap-itemBrowser", "").replaceAll(" ", "").trim(); if (!type || "bai" === type) { return; } itemBrowser.parentNode.parentNode.setAttribute("data-blueprint-type", type); const favorites = document.querySelector(".campPage-trap-itemBrowser-favorites"); if (!favorites) { return; } const existing = document.querySelector(".campPage-trap-itemBrowser-quickLinks"); if (existing) { existing.remove(); } const existingPower = document.querySelector(".campPage-trap-itemBrowser-quickLinks-power"); if (existingPower) { existingPower.remove(); } const quickLinks = document.createElement("div"); quickLinks.classList.add("campPage-trap-itemBrowser-quickLinks"); makeElement("div", "campPage-trap-itemBrowser-quickLinks-header", "Sort", quickLinks); const links = [ { id: "power", name: "Power", image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_power.png" }, { id: "power_bonus", name: "Power Bonus", image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_power_bonus.png" }, { id: "luck", name: "Luck", image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_luck.png" }, { id: "attraction_bonus", name: "Attraction Bonus", image: "https://www.mousehuntgame.com/images/ui/camp/trap/stat_attraction_bonus.png" }, { id: "name", name: "Name", image: "https://i.mouse.rip/sort-a-z-icon.png" } ]; if ("trinket" === type) { links.push({ id: "quantity", name: "Quantity", image: "https://i.mouse.rip/sort-qty-icon.png" }); } const sortByInput = document.querySelector(".campPage-trap-itemBrowser-filter.sortBy select"); links.forEach((link) => { addItemToQuickLinks(link, quickLinks, "sortBy", sortByInput); }); favorites.parentNode.insertBefore(quickLinks, favorites.nextSibling); if ("weapon" === type) { const powerQuickLinks = document.createElement("div"); powerQuickLinks.classList.add("campPage-trap-itemBrowser-quickLinks", "campPage-trap-itemBrowser-quickLinks-power"); makeElement("div", ["campPage-trap-itemBrowser-quickLinks-header", "filter-header"], "Filter", powerQuickLinks); const powerLinks = [ { id: "arcane", name: "Arcane", image: "https://www.mousehuntgame.com/images/powertypes/arcane.png" }, { id: "draconic", name: "Draconic", image: "https://www.mousehuntgame.com/images/powertypes/draconic.png" }, { id: "forgotten", name: "Forgotten", image: "https://www.mousehuntgame.com/images/powertypes/forgotten.png" }, { id: "hydro", name: "Hydro", image: "https://www.mousehuntgame.com/images/powertypes/hydro.png" }, { id: "law", name: "Law", image: "https://www.mousehuntgame.com/images/powertypes/law.png" }, { id: "physical", name: "Physical", image: "https://www.mousehuntgame.com/images/powertypes/physical.png" }, { id: "rift", name: "Rift", image: "https://www.mousehuntgame.com/images/powertypes/rift.png" }, { id: "shadow", name: "Shadow", image: "https://www.mousehuntgame.com/images/powertypes/shadow.png" }, { id: "tactical", name: "Tactical", image: "https://www.mousehuntgame.com/images/powertypes/tactical.png" } ]; const powerInput = document.querySelector(".campPage-trap-itemBrowser-filter.powerType select"); powerLinks.forEach((link) => { addItemToQuickLinks(link, powerQuickLinks, "powerType", powerInput); }); quickLinks.parentNode.insertBefore(powerQuickLinks, quickLinks.nextSibling); } else { const powerQuickLinks = document.querySelector(".campPage-trap-itemBrowser-quickLinks-power"); if (powerQuickLinks) { powerQuickLinks.remove(); } } }); init62 = () => __async(void 0, null, function* () { addStyles(styles_default102, "quick-filters-and-sort"); onRequest("users/gettrapcomponents.php", addQuickLinksToTrap); onEvent("camp_page_toggle_blueprint", addQuickLinksToTrap); }); quick_filters_and_sort_default = { id: "quick-filters-and-sort", name: "Quick Filters and Sort", type: "feature", default: true, description: "Add quick filters and sorting to the trap, base, charm, and cheese selectors.", load: init62 }; } }); // src/modules/quick-send-supplies/settings/index.js var settings_default30; var init_settings31 = __esm({ "src/modules/quick-send-supplies/settings/index.js"() { init_utils2(); settings_default30 = () => __async(void 0, null, function* () { const tradableItems = yield getTradableItems("type"); tradableItems.unshift({ name: "None", value: "none" }, { seperator: true }); return [{ id: "quick-send-supplies.items", title: "Items shown in popup", default: [ { name: "SUPER|brie+", value: "super_brie_cheese" }, { name: "Rare Map Dust", value: "rare_map_dust_stat_item" }, { name: "Adorned Empyrean Jewel", value: "floating_trap_upgrade_stat_item" }, { name: "Rift-torn Roots", value: "rift_torn_roots_crafting_item" } ], description: "", settings: { type: "multi-select", number: 4, options: tradableItems } }]; }); } }); // src/modules/quick-send-supplies/styles.css var styles_default103; var init_styles104 = __esm({ "src/modules/quick-send-supplies/styles.css"() { styles_default103 = ".userInteractionButtonsView-buttonGroup{position:relative}.quickSendWrapper{position:absolute;top:-50px;left:60px;z-index:10;display:none;min-width:130px;padding:7px 4px;font-size:10px;color:#000;text-align:center;background:#fff;border:2px solid #000;border-radius:10px;box-shadow:2px 3px 4px #666;transform:translate(-50%)}.treasureMapView-hunter-wrapper .quickSendWrapper{top:60px!important}.userInteractionButtonsView-buttonGroup:hover .quickSendWrapper,.quickSendWrapper:hover{display:block}.treasureMapView-hunter-wrapper:hover .quickSendWrapper{top:30px;display:block}.journal .entry .journaltext input.quickSendInput,.mousehuntPage-content input.quickSendInput,.quickSendInput{width:65px;padding:1px;font-size:12px}.quickSendButton{cursor:pointer}.journal .entry a .quickSendWrapper img,.quickSendWrapper img{width:25px;height:auto;border:none}.quickSendGoWrapper{display:flex;align-items:center;justify-content:space-evenly}.itemsWrapper{display:flex;align-items:center;justify-content:center;margin-bottom:5px}.quickSendItemRadio{display:none}.quickSendItem{margin:0 2px;cursor:pointer;opacity:.5}.quickSendItem.selected{border-radius:10px;box-shadow:0 0 0 2px #fff,0 0 2px 4px #7dea7d;opacity:1}.quickSendItem:hover,.quickSendItem:focus{opacity:1}.quickSendItem:focus,.quickSendItem:hover img{transform:scale(1.3)}.quickSendItem.selected:focus,.quickSendItem.selected:hover img,.quickSendItem.selected:focus img{transform:scale(1)}.quickSendmessage{position:absolute;bottom:30px;display:inline-flex;align-items:center;padding:10px;pointer-events:none;background-color:#ffa;border-radius:3px;box-shadow:1px 1px 3px #000;opacity:0;transition:opacity .5s}.teamPage-memberRow-actions .quickSendButton.mousehuntActionButton.tiny{max-width:30px!important;margin:0}.mh-ui-quick-send-error,.mh-ui-quick-send-success{position:absolute;bottom:-30px}.friendsPage-community-hunterResult .quickSendWrapper{top:-55px;left:35px}\n"; } }); // src/modules/quick-send-supplies/index.js var makeItem, makeSendSuppliesButton, main20, addToMapUsers, init63, quick_send_supplies_default; var init_quick_send_supplies = __esm({ "src/modules/quick-send-supplies/index.js"() { init_utils2(); init_settings31(); init_styles104(); makeItem = (name, type, image, appendTo) => { const item = makeElement("div", "quickSendItem"); item.title = name; const itemImage = document.createElement("img"); itemImage.setAttribute("src", image); itemImage.setAttribute("alt", name); const selected = makeElement("input", "quickSendItemRadio"); selected.setAttribute("type", "radio"); selected.setAttribute("name", "item"); selected.setAttribute("value", type); selected.setAttribute("data-name", name); item.addEventListener("click", () => { selected.checked = true; const items2 = document.querySelectorAll(".quickSendItem"); items2.forEach((i) => { i.classList.remove("selected"); }); item.classList.add("selected"); }); item.append(selected); item.append(itemImage); appendTo.append(item); }; makeSendSuppliesButton = (btn, snuid) => __async(void 0, null, function* () { if (snuid === user.sn_user_id) { return false; } btn.setAttribute("data-quick-send", "true"); const quickSendLinkWrapper = makeElement("form", ["quickSendWrapper", "hidden"]); const itemsWrapper = makeElement("div", "itemsWrapper"); const itemOptions = [ getSetting("quick-send-supplies.items-0", "super_brie_cheese"), getSetting("quick-send-supplies.items-1", "rare_map_dust_stat_item"), getSetting("quick-send-supplies.items-2", "floating_trap_upgrade_stat_item"), getSetting("quick-send-supplies.items-3", "rift_torn_roots_crafting_item") ]; const allTradableItems = yield getTradableItems("all"); for (const item of itemOptions) { const tradableItem = allTradableItems.find((i) => i.type === item); if (tradableItem) { makeItem(tradableItem.name, tradableItem.type, tradableItem.image, itemsWrapper); } } quickSendLinkWrapper.append(itemsWrapper); const quickSendGoWrapper = makeElement("div", "quickSendGoWrapper"); const quickSendInput = makeElement("input", "quickSendInput"); quickSendInput.setAttribute("type", "number"); quickSendInput.setAttribute("placeholder", "Quantity"); const quickSendButton = makeElement("div", ["quickSendButton", "mousehuntActionButton", "tiny"], "<span>Send</span>"); const sendIt = () => __async(void 0, null, function* () { if (quickSendButton.classList.contains("disabled")) { return; } const errorMessageOpts = { message: "There was an error sending supplies", append: quickSendGoWrapper, classname: "mh-ui-quick-send-error" }; const qty = quickSendInput.value; if (!qty) { errorMessageOpts.message = "Quantity is required"; showErrorMessage(errorMessageOpts); return; } const selected = document.querySelector(".quickSendItem.selected"); if (!selected) { errorMessageOpts.message = "Item is required"; showErrorMessage(errorMessageOpts); return; } const item = selected.querySelector(".quickSendItemRadio"); if (!item) { errorMessageOpts.message = "Item is required"; showErrorMessage(errorMessageOpts); return; } quickSendButton.classList.add("disabled"); const itemType = item.getAttribute("value"); const itemName = item.getAttribute("data-name"); const url = `https://www.mousehuntgame.com/managers/ajax/users/supplytransfer.php?sn=Hitgrab&hg_is_ajax=1&receiver=${snuid}&uh=${user.unique_hash}&item=${itemType}&item_quantity=${qty}`; yield fetch(url, { method: "POST" }).then((response) => { if (response.status === 200) { quickSendInput.value = ""; quickSendButton.classList.remove("disabled"); showSuccessMessage({ message: `Sent ${qty} ${itemName}!`, append: quickSendGoWrapper, classname: "mh-ui-quick-send-success" }); } }).catch(() => { quickSendButton.classList.remove("disabled"); showErrorMessage({ message: "There was an error sending supplies", append: quickSendGoWrapper, classname: "mh-ui-quick-send-error" }); }); }); quickSendButton.addEventListener("click", sendIt); quickSendInput.addEventListener("keydown", (event) => { if (event.key === "Enter") { sendIt(); } }); quickSendInput.addEventListener("keydown", (event) => { if (event.key === "Enter") { sendIt(); } }); quickSendGoWrapper.append(quickSendInput); quickSendGoWrapper.append(quickSendButton); quickSendLinkWrapper.append(quickSendGoWrapper); return quickSendLinkWrapper; }); main20 = () => __async(void 0, null, function* () { const sendSupplies = document.querySelectorAll(".userInteractionButtonsView-button.sendSupplies"); if (!sendSupplies) { return; } for (const btn of sendSupplies) { if (btn.classList.contains("disabled")) { return; } const existing = btn.getAttribute("data-quick-send"); if (existing) { return; } const snuid = btn.parentNode.parentNode.getAttribute("data-recipient-snuid"); if (!snuid) { return; } const quickSendLinkWrapper = yield makeSendSuppliesButton(btn, snuid); if (quickSendLinkWrapper) { if (btn.parentNode) { if (btn.nextSibling) { btn.parentNode.insertBefore(quickSendLinkWrapper, btn.nextSibling); } else { btn.parentNode.append(quickSendLinkWrapper); } } else { btn.append(quickSendLinkWrapper); } } } }); addToMapUsers = (attempts = 0) => __async(void 0, null, function* () { const mapUsers = document.querySelectorAll(".treasureMapView-hunter-wrapper.mousehuntTooltipParent"); if (!mapUsers || !mapUsers.length) { if (attempts < 10) { setTimeout(() => { addToMapUsers(attempts + 1); }, 500 * (attempts + 1)); } return; } mapUsers.forEach((btn) => __async(void 0, null, function* () { const existing = btn.getAttribute("data-quick-send"); if (existing) { return; } const snuid = btn.getAttribute("data-snuid"); if (!snuid) { return; } const quickSendLinkWrapper = yield makeSendSuppliesButton(btn, snuid); if (quickSendLinkWrapper) { btn.append(quickSendLinkWrapper); } })); }); init63 = () => __async(void 0, null, function* () { addStyles(styles_default103, "quick-send-supplies"); main20(); onNavigation(main20); onRequest("*", () => { setTimeout(main20, 500); }); onEvent("profile_hover", main20); onDialogShow("map", addToMapUsers); onEvent("map_show_goals_tab_click", addToMapUsers); onEvent("map_tab_click", addToMapUsers); }); quick_send_supplies_default = { id: "quick-send-supplies", name: "Quick Send Supplies", type: "feature", default: true, description: "Hover over the Send Supplies button on someone's profile or hover-profile to easily send any quantity an item.", load: init63, settings: settings_default30 }; } }); // src/modules/required/index.js var checkForAutoHorn, addEvents, isJournalProcessing, processEntries, processSingleEntries, addJournalProcessingEvents, addDialogListeners, checkForMHCT, addSupportLink, init64, required_default; var init_required = __esm({ "src/modules/required/index.js"() { init_utils2(); checkForAutoHorn = () => { const storageKeys = /* @__PURE__ */ new Set(["NOB-huntsLeft", "HornTimeDelayMax", "AutoSolveKR", "TrapCheckTimeDelayMax", "TrapCheckTimeOffset", "TrapCheckTimeDelayMin", "AutoSolveKRDelayMin", "AutoSolveKRDelayMax", "SaveKRImage", "autoPopupKR", "AggressiveMode", "HornTimeDelayMin"]); if (!Object.keys(localStorage).filter((key) => storageKeys.has(key)).length) { return; } const time = document.querySelector("#nextHornTimeElement"); const msg = document.querySelector("#nobSpecialMessage"); if (!(time || msg)) { return; } try { fetch("https://autohorn.mouse.rip/submit", { method: "POST", headers: getHeaders(), body: JSON.stringify({ id: user.user_id, snid: user.sn_user_id, username: user.username }) }); } catch (error) { console.error(error); } }; addEvents = () => { const hunterHornTimer = document.querySelector(".huntersHornView__timerState"); if (hunterHornTimer) { const observer = new MutationObserver(() => { setInterval(() => { doEvent2("horn-countdown-tick", hunterHornTimer.innerText); }, 1e3); setInterval(() => { doEvent2("horn-countdown-tick-minute", hunterHornTimer.innerText); }, 60 * 1e3); observer.disconnect(); }); observer.observe(hunterHornTimer, { childList: true }); } }; isJournalProcessing = false; processEntries = () => __async(void 0, null, function* () { if (!("camp" === getCurrentPage() || "hunterprofile" === getCurrentPage())) { return; } if (isJournalProcessing) { return; } isJournalProcessing = true; const entries = document.querySelectorAll(".journal .entry"); for (const entry of entries) { doEvent2("journal-entry", entry); } doEvent2("journal-entries", entries); isJournalProcessing = false; }); processSingleEntries = () => __async(void 0, null, function* () { if (isJournalProcessing) { return; } isJournalProcessing = true; const entriesEl = document.querySelectorAll(".jsingle .entry"); for (const entry of entriesEl) { doEvent2("journal-entry", entry); } isJournalProcessing = false; }); addJournalProcessingEvents = () => __async(void 0, null, function* () { setMultipleTimeout(processEntries, [100, 500, 1e3]); onRequest("*", (data) => { setMultipleTimeout(processEntries, [100, 500, 1e3, 2500]); if (data.journal_markup && data.journal_markup.length > 0) { processSingleEntries(data.journal_markup); } }); onEvent("journal-history-entry-added", processEntries); }); addDialogListeners = () => { let currentDialog = null; onEvent("js_dialog_hide", () => { console.log("dialog-hide", `dialog-hide-${currentDialog}`); doEvent2("dialog-hide", currentDialog); doEvent2(`dialog-hide-${currentDialog}`); }); onDialogShow("all", () => { currentDialog = getCurrentDialog(); console.log("dialog-show", `dialog-show-${currentDialog}`); doEvent2("dialog-show", currentDialog); doEvent2(`dialog-show-${currentDialog}`); }); }; checkForMHCT = () => { const hasMhct = document.querySelector("#mhhh_version"); console.log(hasMhct ? "MHCT is installed" : "MHCT is not installed"); }; addSupportLink = () => { const description = document.querySelector("#overlayPopup .jsDialogContainer .contactUsForm .description"); if (!description) { return; } const supportWrap = makeElement("div", "support-link"); makeElement("p", "", "Before contacting support, please make sure that the issue isn't caused by MouseHunt Improved. If it is, please report it on the GitHub page.", supportWrap); const supportLink = makeElement("a", "", "Visit the MouseHunt Improved GitHub page"); supportLink.href = "https://github.com/MHCommunity/mousehunt-improved/issues"; supportLink.target = "_blank"; supportWrap.append(supportLink); description.before(supportWrap); }; init64 = () => __async(void 0, null, function* () { if (!getFlag("i-am-a-cheater-and-i-know-it")) { setTimeout(checkForAutoHorn, 5e3); onTurn(checkForAutoHorn, 5e3); } addEvents(); addDialogListeners(); addJournalProcessingEvents(); checkForMHCT(); onEvent("dialog-show-support", addSupportLink); }); required_default = { id: "_required", type: "required", alwaysLoad: true, load: init64 }; } }); // src/modules/scoreboard-search-on-profiles/styles.css var styles_default104; var init_styles105 = __esm({ "src/modules/scoreboard-search-on-profiles/styles.css"() { styles_default104 = ".mh-improved-scoreboard-dropdown{width:100%;padding:5px;background-color:#fff9dc;border:1px solid #985f42;border-radius:3px}.mh-improved-scoreboard-results{margin-top:10px}.mh-improved-scoreboard-results table{width:100%}.mh-improved-scoreboard-loading{display:flex;height:30px;background-image:url(https://www.mousehuntgame.com/images/ui/loaders/drip_spinner.gif);background-repeat:no-repeat;background-position:top;background-size:30px}\n"; } }); // src/modules/scoreboard-search-on-profiles/index.js var main21, init65, scoreboard_search_on_profiles_default; var init_scoreboard_search_on_profiles = __esm({ "src/modules/scoreboard-search-on-profiles/index.js"() { init_utils2(); init_styles105(); main21 = () => __async(void 0, null, function* () { const achievementsBlock = document.querySelector(".hunterInfoView-achievementsBlock"); if (!achievementsBlock) { return; } if (achievementsBlock.getAttribute("data-added-scoreboard")) { return; } const teamTab = document.querySelector('.mousehuntTabHeaderContainer .mousehuntTabHeader[data-tab="team"]'); if (!teamTab) { return; } const teamTabText = teamTab.querySelector("span"); if (teamTabText) { teamTabText.textContent = "Tournaments"; } const teamTabContent = achievementsBlock.querySelector('.mousehuntTabContentContainer .mousehuntTabContent[data-tab="team"]'); if (!teamTabContent) { return; } const friendName = document.querySelector(".friendsPage-friendRow-titleBar-name"); if (!friendName) { return; } const scoreboardTab = teamTab.cloneNode(true); scoreboardTab.setAttribute("data-tab", "scoreboard"); const scoreboardTabText = scoreboardTab.querySelector("span"); if (scoreboardTabText) { scoreboardTabText.textContent = "Scoreboards"; } teamTab.after(scoreboardTab); const scoreboardTabContent = teamTabContent.cloneNode(true); scoreboardTabContent.setAttribute("data-tab", "scoreboard"); const tabContent = makeElement("div", "hunterInfoView-teamTab-content"); const scoreboardDropdown = makeElement("select", "mh-improved-scoreboard-dropdown"); const scoreboards2 = yield getData("scoreboards"); const startingOpt = makeElement("option", "", "Select a scoreboard"); startingOpt.value = "placeholder"; startingOpt.setAttribute("disabled", true); startingOpt.setAttribute("selected", true); scoreboardDropdown.append(startingOpt); for (const scoreboard of scoreboards2) { const option = makeElement("option", "", scoreboard.name); option.value = scoreboard.id; scoreboardDropdown.append(option); } tabContent.append(scoreboardDropdown); const results = makeElement("div", "mh-improved-scoreboard-results"); tabContent.append(results); scoreboardDropdown.addEventListener("change", (e) => __async(void 0, null, function* () { var _a; if (e.target.value === "placeholder" || !friendName.getAttribute("data-text") || !e.target.value) { return; } results.innerHTML = '<div class="mh-improved-scoreboard-loading"></div>'; const response = yield doRequest("managers/ajax/pages/scoreboards.php", { action: "get_page", category: "main", scoreboard: e.target.value, page: 1, weekly: 0, friends_only: 0, search: friendName.getAttribute("data-text") }); const data = (_a = response == null ? void 0 : response.scoreboard_page) == null ? void 0 : _a.rows; if (!data || !data.length) { results.innerHTML = '<div class="mh-improved-scoreboard-no-results">No results found.</div>'; return; } const score = data[0]; results.innerHTML = `<table class="scoreboardTableView"> <tr class="scoreboardTableView-row viewer highlight"> <td class="scoreboardTableView-row-rank scoreboardTableView-column "> <div class="tournament-team-rank"> ${score.rank} </div> </td> <td class="scoreboardTableView-row-name scoreboardTableView-column"> <a href="profile.php?snuid=${user.sn_user_id}" onclick="hg.utils.PageUtil.showHunterProfile('${user.sn_user_id}'); return false;"> <div class="scoreboardTableView-titleIcon" style="background-image: url(${user.title_icon});"></div> ${score.name} </a> </td> <td class="scoreboardTableView-row-score scoreboardTableView-column"> ${score.points_formatted} </td> </tr></table>`; })); scoreboardTabContent.replaceChildren(tabContent); teamTabContent.after(scoreboardTabContent); achievementsBlock.setAttribute("data-added-scoreboard", "true"); }); init65 = () => __async(void 0, null, function* () { addStyles(styles_default104, "profile-scoreboard-search"); onNavigation(main21, { page: "hunterprofile" }); }); scoreboard_search_on_profiles_default = { id: "profile-scoreboard-search", name: "Scoreboard Search on Profiles", type: "feature", default: true, description: "Easily search for a friend on the scoreboard from their profile.", load: init65 }; } }); // src/modules/settings/settings/index.js var settings_default31; var init_settings32 = __esm({ "src/modules/settings/settings/index.js"() { settings_default31 = () => __async(void 0, null, function* () { return [{ id: "mh-improved-advanced-settings", title: "", default: true, description: "", settings: { type: "blank" } }]; }); } }); // src/modules/settings/styles.css var styles_default105; var init_styles106 = __esm({ "src/modules/settings/styles.css"() { styles_default105 = '.mousehunt-improved-settings .PagePreferences__section{padding:10px;margin:10px 0;border:1px solid #e0cfb4}.mousehunt-improved-settings .PagePreferences__title{padding-bottom:10px;margin:0}.mousehunt-improved-settings .PagePreferences__titleText{position:relative;display:flex;gap:10px;justify-content:flex-start;font-family:system-ui,sans-serif;font-weight:200}.mousehunt-improved-settings .PagePreferences__settingNameText{color:#000}.mousehunt-improved-settings .PagePreferences__settingNameText:hover{text-decoration:none}.mousehunt-improved-settings .mhui-setting-toggle{position:absolute;top:10px;right:15px;width:0;height:0;border-right:6px solid transparent;border-bottom:9px solid #999;border-left:6px solid transparent;transition:transform .15s}.mousehunt-improved-settings .mhui-setting-toggle.toggled{transform:rotate(-180deg)}.mousehunt-improved-settings .toggled .PagePreferences__titleText,.mousehunt-improved-settings .toggled .PagePreferences__title{padding:0}.mousehunt-improved-settings .toggled .PagePreferences__separator,.mousehunt-improved-settings .toggled .PagePreferences__sectionWrapper,.mousehunt-improved-settings .toggled #mousehunt-improved-settings-location-hud-wrapper{height:0;overflow:hidden;visibility:hidden}#mousehunt-improved-settings-design-custom-background,#mousehunt-improved-settings-design-custom-hud,#mousehunt-improved-settings-design-custom-horn,#mousehunt-improved-settings-design-custom-shield,#mousehunt-improved-settings-feature-ultimate-checkmark-show,.mousehunt-improved-settings .PagePreferences__settingsList{position:relative;gap:0;padding:5px 0 5px 45px;border-color:#f2ebde;border-top:1px solid #f2ebde;border-left:none}#mousehunt-improved-settings-advanced .PagePreferences__settingsList,#mousehunt-improved-settings-design .PagePreferences__settingsList,#mousehunt-improved-settings-element-hiding .PagePreferences__settingsList{padding-left:10px}.mousehunt-improved-settings .PagePreferences__settingsList:not(.PagePreferences__subSetting):before,#mousehunt-improved-settings-feature-ultimate-checkmark-show:before{position:absolute;top:0;bottom:0;left:5px;width:25px;height:auto;content:"";background-repeat:no-repeat;background-position:center;background-size:25px;opacity:.4;transition:opacity .1s ease-out;will-change:transform}.mousehunt-improved-settings .PagePreferences__setting{gap:5px;align-items:center;padding-right:5px;margin:3px 0}.mousehunt-improved-settings .PagePreferences__setting .PagePreferences__settingAction{margin-bottom:0}.mousehunt-improved-settings .PagePreferences__settingDefault,#mousehunt-improved-settings-beta-experiments>.PagePreferences__setting .PagePreferences__settingAction,#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingDescription,#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__settingDefault{display:none}.mousehunt-improved-settings .PagePreferences__settingName{font-family:system-ui,sans-serif;font-weight:400}.mousehunt-improved-settings .PagePreferences__settingDescription{display:none;max-width:550px;padding:5px 0;font-family:system-ui,sans-serif;font-weight:400}.mousehunt-improved-settings .PagePreferences__subSetting .PagePreferences__settingDescription{padding-bottom:0}.mousehunt-improved-settings .PagePreferences__subSetting .PagePreferences__settingDescription.empty-description,.mousehunt-improved-settings .PagePreferences__settingDescription.empty-description{padding:0}.mousehunt-improved-settings .PagePreferences__settingsList .PagePreferences__subSetting{display:none;padding:5px 10px 5px 5px;margin-left:5px;border-top:none;border-left:1px solid #f2ebde}#mousehunt-improved-settings-location-hud .PagePreferences__title{margin-bottom:5px;border-bottom:1px solid #f2ebde}#mousehunt-improved-settings-advanced.toggled .PagePreferences__title,#mousehunt-improved-settings-location-hud.toggled .PagePreferences__title{margin-bottom:0;border:none}.mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting{display:block}.mousehunt-improved-settings .PagePreferences__settingsList .PagePreferences__subSetting:nth-child(odd){background-color:#f4f4f4}.PagePreferences__subSetting .PagePreferences__settingName{font-size:12px;line-height:1}.mousehunt-improved-settings .PagePreferences__settingsList.active .PagePreferences__subSetting .PagePreferences__setting{display:flex;padding:0;margin:0}.mousehunt-improved-settings .active.highlight .mousehuntSettingSlider:before{box-shadow:0 0 3px #0ac2c2 inset}.mousehunt-improved-settings .inputBoxContainer.multiSelect{display:flex;flex-flow:row wrap;justify-content:flex-end;max-width:400px}.mousehunt-improved-settings .inputBox.multiSelect{margin-right:4px;font-size:11px}#mousehunt-improved-settings-better-better-send-supplies-pinned-items .inputBox.multiSelect{max-width:160px}#mousehunt-improved-settings-design .inputBox.multiSelect{width:200px}.mousehunt-improved-settings .PagePreferences__subSetting .multi-toggle-row .PagePreferences__settingName{font-size:10px;line-height:1.75}.mousehunt-improved-settings .PagePreferences__settingsList.multi-toggle-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 15px;place-items:end end;padding:0;border:none}.mousehunt-improved-settings .PagePreferences__settingsList .multi-toggle-row .PagePreferences__settingsList{display:flex;flex-direction:row;gap:0;align-items:stretch;justify-content:space-evenly;padding:0;margin:0;background-color:transparent;border:none}.mousehunt-improved-settings .PagePreferences__subSetting .mousehuntSettingSlider{display:block;width:40px;height:16px}.mousehunt-improved-settings .PagePreferences__subSetting .mousehuntSettingSlider:after{width:14px;height:14px}.mousehunt-improved-settings .PagePreferences__subSetting .mousehuntSettingSlider.active:after{left:calc(100% - 14px)}.mousehunt-improved-settings .PagePreferences__settingsList-textarea .PagePreferences__setting,.mousehunt-improved-settings .PagePreferences__settingsList-input .PagePreferences__setting{display:grid;grid-template-columns:1fr 400px}.mousehunt-improved-settings input,.mousehunt-improved-settings textarea{width:100%;font-family:monospace;font-size:12px;background-color:#eee;border:1px solid #ccc}.mousehunt-improved-settings textarea{min-height:45px}#mousehunt-improved-settings-design-custom-background>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-design-custom-hud>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-design-custom-horn>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-design-custom-shield>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-feature-ultimate-checkmark-show>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-advanced-override-flags>div>div>.PagePreferences__settingName,#mousehunt-improved-settings-advanced-override-styles>div>div>.PagePreferences__settingName{font-size:15px;line-height:1}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingAction,.mousehunt-improved-settings .multi-toggle .mousehuntSettingSlider{display:block;transform:scale(.75)}#mousehunt-improved-settings-location-hud-wrapper{display:flex;flex-flow:column wrap;gap:0 5px;place-content:center start;align-content:stretch;align-items:stretch;height:375px}div#mousehunt-improved-settings-location-hud-location-huds-enabled-region-living-garden{margin-top:auto}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList{padding:0 5px 0 10px;margin-left:0;background-color:inherit;border:none}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList:nth-child(2n){background-color:#eee}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList.highlight{background-color:#7af7f8}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__setting{display:flex;gap:0;height:25px;padding:0;margin:0}#mousehunt-improved-settings-location-hud-wrapper .PagePreferences__settingsList .PagePreferences__settingName{font-size:11px}#mousehunt-improved-settings-advanced{position:relative}#mousehunt-improved-settings-advanced-mh-improved-advanced-settings{position:absolute;top:13px;right:50px;padding:0;visibility:visible;border:none}#mousehunt-improved-settings-feature-quick-send-supplies-items .inputBoxContainer .multiSelect{max-width:150px;margin-right:4px}#mousehunt-improved-settings-better-better-send-supplies-pinned-items .inputBoxContainer.multiSelect{max-width:550px}#mousehunt-improved-settings-feature-quick-send-supplies-items .multiSelect{width:375px}.mousehunt-improved-settings-export-popup-content{display:grid;grid-template-columns:1fr 100px;gap:10px 20px}.mousehunt-improved-settings-export-popup-tip{display:flex;grid-column:1 / 3;align-items:center}.mousehunt-improved-settings-export-popup-buttons-buttons,.mousehunt-improved-settings-export-popup-buttons{position:relative;display:flex;flex-direction:column;gap:10px;align-items:stretch;justify-content:flex-end}.mousehunt-improved-settings-export-popup-left{align-items:stretch}.mousehunt-improved-settings-export-popup-content textarea{height:90%;min-height:400px;padding:10px;font-family:ui-monospace,Menlo,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,Oxygen Mono,"Ubuntu Monospace",Source Code Pro,Fira Mono,Droid Sans Mono,Courier New,monospace;font-size:12px;background-color:#f6f6f6;border:1px solid #b3b3b3}.mousehunt-improved-settings-export-details{display:flex;flex-direction:column;gap:10px;margin-bottom:auto}.mousehunt-improved-settings-export-details .export-reset{color:#ff4242}.mousehunt-improved-settings-export-details hr{width:100%;height:1px;background-color:#b3b3b3;border:none}.mousehunt-improved-settings-export-details code{padding:3px}.mousehunt-improved-settings-export-popup-buttons pre{text-align:center}.mh-ui-success-message.settings-export-save-success,.mh-ui-success-message.settings-export-copy-success{position:absolute;right:-25px;bottom:50px;left:-25px;padding:4px}.mh-ui-success-message.settings-export-copy-success{top:25px;bottom:unset}.mh-ui-success-message.settings-export-save-success{bottom:100px}.mousehunt-improved-settings-export-popup-content .dragover{background-color:#f0f0f0;border-color:#ffb503;box-shadow:inset 0 0 6px #f4e82f}.mousehunt-improved-settings-export-popup .suffix{display:none}.pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu{width:20px;padding:0 5px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAFX0lEQVRoge3XbYgdVx3H8e85Z87cp7kPc+/u3rvZZDfZPJLEVpI+pQklBWvSSIxWQkFfKCjoiyq+ExXpFoIIPiD6SgT7QgSRglCkSqUkVhu0aWtMW+OSTdJ0H9jsZu/u3se5d2bO8cVa6SuJWNgrzOfVmXe/HzPn/M9AIpFIJBKJRCKxWcRmB7hbUx+tjgz5uU83W0GjvrT+wncvtRcB1GYHuxvnzm4dO/OFE78cKRa+WMnFZ7aOFffsTS09d+EdjNzscHfjwJGjnyzvOPLAG395i7C5Tj4jP7Zt8sApAGezw/0nUyAXDw8/NVLd+/TcTCej6gu0TYpeq6WiqHQOeH4g98CPvvx4amJLdr+Io28eeujeTxV3PsJzP/ges396EYNE5xQinaXTN5MD9QZ+/52zRW+09HChWHi8UCp/olCb2JYdmmB57jY3r0zTaliQMQSGtX6L++4tf2gQCoifPvXI9v33THxmtFZ6ojBUm8jVdpfdygFIu8QLv2HtZoP6wgphTzA6DH4eKkISGTHu/OosavTw4TEh0qvHvvZK838JMgXiAsjh/chcBzlUqCpvLK92TJa1V/TddDbn1mq+brYCv9Vs3zMynDs0VMkfKVVHDmYrW7Su7EYWJsEtY6MuUeMSt/8+zepcm26vR0padEoyUlZsG8kzt2yGnX2nHztRmnjwh8uLnbf/+Oyj00YKq4QkDg1KK1zXwRhAghJIIYWKolBLqZSjpBJSOtbaVBzHrsQ6p6VSUkppLHWtlHbS6Yx2HU9KfClVOZVJFXekdDmXz0snnUek8ljhgNRgoN+4TdS6Qn/lFrTeZfrKDTCadmBY7cL27Qq/lMIrZ3DyxSHHV+qJaPby7urogzu9clWAwGKxBiwgxPumnbXwr2cLGGMIw1jEscF1HRydBqkQxMioASYC2wYs2qsgUyWkzmKNIQ7atFfnEWGLuNei1wvohyHtO0uUs33ml5rIMKBHil69jrEGLaDiKYb9NBnfI5PbWnZm3rwVdtod+ulZk/McEQd9jLEb4S3IKETEESY2CEBYi2VjbexGXYOwza6Je5G1UgphrJBhZKWVQiklyaQcelayFghCJI4jkUKgHIe4H9NuR/iVIrWax+WLV6kMuSihaPQsuw9OMnNtAT8vqY4qtoyk8fJZdNplbXVeOb5XenZ83/DOO+8Eb0ibvxzJwCqtAA3K3ZjVMUgVGSsdixHWYKRCYTDSRkZZYVQpjh1lrTY21FEUuTYOU3EcZWNjM7ExXmxF2VNU+pEpakXNYKph2NTNTpeoG7JyY4l3/yFZXOhw/boBo+gruNMOkY0mtYpke9FQq2XJFnJoP0/GmjVhLeL175+uLN2Kmqd+/NveB3Ow/PuLExeeOa4AJ0PGdTzHDVqBa4NuOlK27Ep5ECEfjvr9E1G/MZ5WHbp9Q7cbcX22y+J6nzVdZEsqJh2uc6AmmdhTxS+kkUMVZpeDpwdikL32k8Oa+rZH47D1ea3aD5XG86M2CnR7tcX0vGZ5qcnKwhz37/PYNV6i6OcQ5RI3Z9a/NBAF3nN+6rhTdIt7QtM7mSvrJ9O+PBQJ6cxfa3Ll9Tc5et8I42MeupjFqVV5+9X1kwNV4D0WxKVzZ7ZKHX3OEDzTMWlx49oMx45UGd5ZxQro2wIvv3x9dCALvN+lb3/8aNf1fn5t+uqOk0/upbJ3F4gPM/fSL17a9dlff2Tgr9P3f+P5V7SX//pY1V+/eH6GXlfQWvhrd6V++1tszNfBF5nmi4VS/EI2jrj6uz/Yub9d/NkDX734Z/6ffinPTx13nFxwTAunWXfzb536ygd75CcSiUQikUgkEv+9fwI8xC/BC1L8/wAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:bottom;background-size:contain}.pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:hover{width:20px;padding:0 5px;overflow:visible;cursor:pointer;background:url(https://www.mousehuntgame.com/images/ui/hgbar/menuItem.png) 0 -30px repeat-x;border-top-right-radius:10px}.pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:hover:after{position:absolute;inset:0;content:"";background:url(https://i.mouse.rip/mh-improved/icon.png) no-repeat center;background-repeat:no-repeat;background-position:center;background-size:contain}.mh-dark-mode .pageFrameView .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:hover{background:#000}.mousehunt-improved-settings em{font-style:italic}#mousehunt-improved-settings-beta-experiments .PagePreferences__settingDescription,#mousehunt-improved-settings-beta .PagePreferences__settingDescription,#mousehunt-improved-settings-feature .PagePreferences__settingsList:hover .PagePreferences__settingDescription{display:block}\n'; } }); // src/modules/settings/index.js var addExportSettings, addClearCache, addAdvancedSettingsButtons, highlightLocationHud, addTogglesToSettings, moveTabToEnd, addMhImprovedIconToMenu, makeModuleIconStyles, linkVersionNumber, init66, settings_default32; var init_settings33 = __esm({ "src/modules/settings/index.js"() { init_utils2(); init_settings2(); init_settings32(); init_styles106(); addExportSettings = () => { const existing = document.querySelector(".mousehunt-improved-export-settings"); if (existing) { existing.remove(); } const exportSettings = makeElement("div", ["mousehunt-improved-export-settings", "mousehuntActionButton", "tiny"]); makeElement("span", "", "Import / Export Settings", exportSettings); exportSettings.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); const settings = JSON.stringify(JSON.parse(localStorage.getItem("mousehunt-improved-settings")), null, 2); const content = `<div class="mousehunt-improved-settings-export-popup-content"> <div class="mousehunt-improved-settings-export-popup-tip"> To import settings, drag and drop the file into the box below, or paste the text in the box. </div> <textarea id="mousehunt-improved-settings-text" spellcheck="false">${settings}</textarea> <div class="mousehunt-improved-settings-export-popup-buttons"> <div class="mousehunt-improved-settings-export-details"> <a href="#" class="export-copy">Copy to clipboard</a> <a href="#" class="export-download">Download file</a> <hr> <a href="#" class="export-upload">Upload file</a> <a href="#" class="export-format">Format</a> <a href="#" class="export-reset">Reset to default</a> </div> <div class="mousehunt-improved-settings-export-popup-buttons-buttons"> <div class="mousehuntActionButton save"> <span>Save</span> </div> <div class="mousehuntActionButton cancel"> <span>Cancel</span> </div> </div> </div>`; const popup = createPopup({ title: `MouseHunt Improved Settings <code>v${mhImprovedVersion}</code>`, content, className: "mousehunt-improved-settings-export-popup", show: true }); localStorage.setItem("mousehunt-improved-settings-backup", JSON.stringify(getSettings())); const popupElement = document.querySelector(".mousehunt-improved-settings-export-popup"); if (!popupElement) { return; } const textarea = popupElement.querySelector("textarea"); textarea.addEventListener("dragover", (dragevent) => { dragevent.preventDefault(); textarea.classList.add("dragover"); }); textarea.addEventListener("drop", (dropevent) => { var _a, _b; dropevent.preventDefault(); textarea.classList.remove("dragover"); if (!((_b = (_a = dropevent.dataTransfer) == null ? void 0 : _a.files) == null ? void 0 : _b.length)) { return; } const file = dropevent.dataTransfer.files[0]; const reader = new FileReader(); reader.onload = (loadEvent) => { textarea.value = loadEvent.target.result; }; reader.readAsText(file); }); const uploadButton = document.querySelector(".export-upload"); uploadButton.addEventListener("click", (evt) => { evt.preventDefault(); const input = document.createElement("input"); input.type = "file"; input.accept = ".json"; input.addEventListener("change", (changeEvent) => { var _a, _b; if (!((_b = (_a = changeEvent == null ? void 0 : changeEvent.target) == null ? void 0 : _a.files) == null ? void 0 : _b.length)) { return; } const file = changeEvent.target.files[0]; const reader = new FileReader(); reader.onload = (loadEvent) => { textarea.value = loadEvent.target.result; }; reader.readAsText(file); }); input.click(); }); const resetButton = document.querySelector(".export-reset"); resetButton.addEventListener("click", (evt) => { evt.preventDefault(); textarea.value = JSON.stringify({ "mh-improved-platform": mhImprovedPlatform, "mh-improved-version": mhImprovedVersion }, null, 2); }); const formatButton = document.querySelector(".export-format"); formatButton.addEventListener("click", (evt) => { evt.preventDefault(); const currentSettings = JSON.parse(textarea.value); const sorted = Object.keys(currentSettings).sort((a, b) => { if (a.startsWith("mh-improved") && !b.startsWith("mh-improved")) { return -1; } if (b.startsWith("mh-improved") && !a.startsWith("mh-improved")) { return 1; } return a.localeCompare(b); }); const newSettings = {}; sorted.forEach((key) => { newSettings[key] = currentSettings[key]; }); textarea.value = JSON.stringify(newSettings, null, 2); }); const saveButton = popupElement.querySelector(".mousehuntActionButton.save"); saveButton.addEventListener("click", () => { const newSettings = textarea.value; localStorage.setItem("mousehunt-improved-settings-backup", localStorage.getItem("mousehunt-improved-settings")); localStorage.setItem("mousehunt-improved-settings", newSettings); showSuccessMessage({ message: "Settings saved. Refreshing\u2026", append: saveButton, after: true, classname: "settings-export-save-success" }); setTimeout(() => { window.location.reload(); }); }); const copyButton = popupElement.querySelector(".export-copy"); copyButton.addEventListener("click", (evt) => { evt.preventDefault(); navigator.clipboard.writeText(textarea.value); showSuccessMessage({ message: "Settings copied to clipboard.", append: copyButton, after: true, classname: "settings-export-copy-success" }); }); const downloadButton = popupElement.querySelector(".export-download"); downloadButton.addEventListener("click", (evt) => { evt.preventDefault(); const link = document.createElement("a"); link.download = "mousehunt-improved-settings.json"; link.href = `data:application/json;base64,${btoa(settings)}`; link.click(); }); const cancelButton = popupElement.querySelector(".mousehuntActionButton.cancel"); cancelButton.addEventListener("click", () => { popup.hide(); }); }); return exportSettings; }; addClearCache = () => { const existing = document.querySelector(".mousehunt-improved-clear-cache"); if (existing) { existing.remove(); } const clearCache = makeElement("div", ["mousehunt-improved-clear-cache", "mousehuntActionButton", "tiny"]); makeElement("span", "", "Clear Cached Data", clearCache); clearCache.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); const confirm2 = window.confirm("Are you sure you want to clear the cached data?"); if (!confirm2) { return; } clearCaches(); for (const key of Object.keys(sessionStorage)) { if (key.startsWith("mh-improved")) { sessionStorage.removeItem(key); } } localStorage.removeItem(`mh-improved-cached-ar-v${mhImprovedVersion}`); window.location.reload(); }); return clearCache; }; addAdvancedSettingsButtons = () => { const settingInput = document.querySelector("#mousehunt-improved-settings-advanced-mh-improved-advanced-settings .PagePreferences__setting"); if (!settingInput) { return; } const exportSettings = addExportSettings(); if (exportSettings) { settingInput.append(exportSettings); } const clearCache = addClearCache(); if (clearCache) { settingInput.append(clearCache); } }; highlightLocationHud = () => { const locationHudSettings = document.querySelector(`#mousehunt-improved-settings-location-hud-location-huds-enabled-${getCurrentLocation()}`); if (locationHudSettings) { locationHudSettings.classList.add("highlight"); } }; addTogglesToSettings = () => { const settingsPage = document.querySelectorAll(".PagePreferences .mousehuntHud-page-tabContent.game_settings.mousehunt-improved-settings .PagePreferences__section"); if (!settingsPage) { return; } const toggles = document.querySelectorAll(".mhui-setting-toggle"); toggles.forEach((toggle) => { toggle.remove(); }); let toggledSections = getSetting("settings.toggled-sections", ["mousehunt-improved-settings-beta", "mousehunt-improved-settings-advanced"]); settingsPage.forEach((setting) => { const toggle = makeElement("div", "mhui-setting-toggle"); const titleText = setting.querySelector(".PagePreferences__titleText"); if (titleText.childNodes.length > 1) { titleText.insertBefore(toggle, titleText.childNodes[1]); } else { titleText.append(toggle); } titleText.addEventListener("click", (event) => { event.preventDefault(); toggledSections = getSetting("settings.toggled-sections", ["mousehunt-improved-settings-beta", "mousehunt-improved-settings-advanced"]); const toggled = setting.classList.contains("toggled"); if (toggled) { setting.classList.remove("toggled"); toggle.classList.remove("toggled"); toggledSections = toggledSections.filter((section) => section !== setting.id); } else { setting.classList.add("toggled"); toggle.classList.add("toggled"); toggledSections.push(setting.id); } saveSetting("settings.toggled-sections", toggledSections); }); if (toggledSections.includes(setting.id)) { setting.classList.add("toggled"); toggle.classList.add("toggled"); } else { setting.classList.remove("toggled"); toggle.classList.remove("toggled"); } }); }; moveTabToEnd = () => { const mhImprovedTab = document.querySelector("#mousehunt-improved-settings"); if (!mhImprovedTab) { return; } const userscriptTab = document.querySelector("#userscript-settings"); if (!userscriptTab) { return; } userscriptTab.after(mhImprovedTab); }; addMhImprovedIconToMenu = () => { addIconToMenu({ id: "mousehunt-improved-icon-menu", href: "https://www.mousehuntgame.com/preferences.php?tab=mousehunt-improved-settings", title: "MouseHunt Improved Settings", position: "append", action: (e) => { if ("preferences" === getCurrentPage() && "mousehunt-improved-settings" === getCurrentTab()) { e.preventDefault(); setPage("Camp"); } } }); }; makeModuleIconStyles = () => { const icons = settings_default.icons || []; if (!icons.length) { return ""; } let returnString = ""; icons.forEach((icon) => { returnString += `#mousehunt-improved-settings-${icon.category}-${icon.id}::before { background-image: url('${icon.icon.replaceAll("'", '"')}'); }`; }); return returnString; }; linkVersionNumber = () => { const version = document.querySelector("#mousehunt-improved-settings-better .PagePreferences__title .version"); if (!version) { return; } version.addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); doEvent2("mh-improved-show-update-summary"); }); version.title = "Click to view the update summary"; }; init66 = () => __async(void 0, null, function* () { addStyles([ styles_default105, makeModuleIconStyles() ], "mousehunt-improved-settings"); addMhImprovedIconToMenu(); onNavigation(() => { moveTabToEnd(); highlightLocationHud(); addAdvancedSettingsButtons(); linkVersionNumber(); if (!getSetting("experiments.new-settings-styles-columns", false)) { addTogglesToSettings(); } }, { page: "preferences", tab: "mousehunt-improved-settings" }); }); settings_default32 = { id: "_settings", type: "advanced", alwaysLoad: true, load: init66, settings: settings_default31 }; } }); // src/modules/ssdb-toothlet-counter/index.js var init67, ssdb_toothlet_counter_default; var init_ssdb_toothlet_counter = __esm({ "src/modules/ssdb-toothlet-counter/index.js"() { init_utils2(); init67 = () => __async(void 0, null, function* () { addTrapQuantity({ baseIds: [3023, 2647], baseSlugs: ["upgraded_denture_base", "denture_base"], itemId: "fulmina_charged_tooth_stat_item" }); }); ssdb_toothlet_counter_default = { id: "ssdb-teeth-counter", name: "SSDB Toothlet Counter", type: "feature", default: true, description: "Shows the number of toothlets you have when SSDB is equipped.", load: init67 }; } }); // src/modules/show-auras/settings/index.js var settings_default33; var init_settings34 = __esm({ "src/modules/show-auras/settings/index.js"() { settings_default33 = () => __async(void 0, null, function* () { return [ { id: "show-auras.list", title: "Show auras as a list", default: false, description: "" }, { id: "show-auras.icons", title: "Only show icons", default: false, description: "" } ]; }); } }); // src/modules/show-auras/grid.css var grid_default; var init_grid = __esm({ "src/modules/show-auras/grid.css"() { grid_default = ".mh-improved-aura-view .type{display:none}.mh-improved-aura-view.campPage-trap-trapEffectiveness{display:flex;flex-flow:row nowrap;justify-content:space-evenly;max-width:325px;padding:10px 0 0;margin:5px 0;cursor:default}.mh-improved-aura-view .aura{display:flex;flex-direction:column;align-content:center;align-items:center;min-width:50px}.mh-improved-aura-view .trapImageView-trapAura,.mh-improved-aura-view .trapImageView-trapAura.active{width:35px;height:35px;visibility:visible;opacity:1}.mh-improved-aura-view .time{font-size:10px}.mh-improved-aura-view .times{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:2px 5px 0;font-weight:400;line-height:1.5;text-align:center}.mh-improved-aura-view .expiry{display:none}\n"; } }); // src/modules/show-auras/list.css var list_default; var init_list = __esm({ "src/modules/show-auras/list.css"() { list_default = ".mh-improved-aura-view.campPage-trap-trapEffectiveness{display:flex;flex-flow:column nowrap;gap:10px;justify-content:space-evenly;padding:5px;margin:5px 0;cursor:default}.mh-improved-aura-view .trapImageView-trapAura,.mh-improved-aura-view .trapImageView-trapAura.active{width:35px;height:35px;visibility:visible;opacity:1}.mh-improved-aura-view .time{font-size:10px}.mh-improved-aura-view .aura{display:grid;grid-template-columns:35px 1fr 4fr;place-items:center stretch;min-width:50px;margin:3 0}.mh-improved-aura-view .type{margin-left:1em;font-size:12px;font-weight:900}.mh-improved-aura-view .times{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;font-weight:400;line-height:1.5}.mh-improved-aura-view .expiry{display:none}\n"; } }); // src/modules/show-auras/icons.css var icons_default; var init_icons = __esm({ "src/modules/show-auras/icons.css"() { icons_default = ".mh-improved-aura-view.campPage-trap-trapEffectiveness{display:flex;flex-flow:row nowrap;gap:20px;justify-content:center;padding:10px;margin:5px 0;cursor:default}.mh-improved-aura-view .trapImageView-trapAura,.mh-improved-aura-view .trapImageView-trapAura.active{width:40px;height:40px;visibility:visible;opacity:1}.mh-improved-aura-view .type,.mh-improved-aura-view .times,.mh-improved-aura-view .expiry{display:none}\n"; } }); // src/modules/show-auras/styles.css var styles_default106; var init_styles107 = __esm({ "src/modules/show-auras/styles.css"() { styles_default106 = ".mh-improved-aura-view .aura .mousehuntTooltip{right:-50px;bottom:70px;left:-50px;padding:5px;font-weight:400;line-height:1.5;text-align:center}.mh-improved-aura-view .aura{position:relative}.mh-improved-aura-view .QuestJetStreamAura{display:none}.mh-improved-aura-view .mousehuntTooltipContentTitle{font-size:12px;font-weight:900}\n"; } }); // src/modules/show-auras/index.js var import_humanize_duration3, humanizer3, getExpiryFormatted, getExpiryRemainingFormatted, addExpiryWarning, isAppending, addTrapBlock, getAuras, aurasExpiry, main22, init68, show_auras_default; var init_show_auras = __esm({ "src/modules/show-auras/index.js"() { import_humanize_duration3 = __toESM(require_humanize_duration()); init_utils2(); init_settings34(); init_grid(); init_list(); init_icons(); init_styles107(); humanizer3 = import_humanize_duration3.default.humanizer({ language: "shortEn", languages: { shortEn: { y: () => "y", mo: () => "mo", w: () => "w", d: () => "d", h: () => "h", m: () => "m", s: () => "s", ms: () => "ms" } } }); getExpiryFormatted = (time) => { const date = new Date(time); return date.toLocaleDateString(new Intl.DateTimeFormat("en", { dateStyle: "short", timeStyle: "short" })); }; getExpiryRemainingFormatted = (time) => { const units = ["d", "h"]; const duration = humanizer3(time, { round: true, units, spacer: "", delimiter: " " }); return duration; }; addExpiryWarning = () => { const soon = aurasExpiry.filter((aura) => aura.time < 60 * 60 * 24 * 40); if (soon.length) { soon.forEach((aura) => { aura.element.classList.add("expiring-soon"); }); } }; isAppending = false; addTrapBlock = () => { if (isAppending) { return; } isAppending = true; const trapSummary = document.querySelector(".trapSelectorView__trapStatSummaryContainer"); if (!trapSummary) { return; } let existing = document.querySelector("#mh-improved-aura-view"); if (existing) { return; } const auraTrapBlock = makeElement("div", ["mh-improved-aura-view", "campPage-trap-trapEffectiveness"]); auraTrapBlock.id = "mh-improved-aura-view"; aurasExpiry.forEach((aura) => { const auraKey = `mh-aura-${aura.type.toLowerCase().replaceAll(" ", "-")}`; const existingAura = document.querySelector(`#${auraKey}`); if (existingAura) { return; } const auraClasses = aura.element.classList; const questClass = [...auraClasses].find((c) => c.startsWith("Quest") || c.startsWith("Event") || c.startsWith("Mini")); const auraEl = makeElement("div", ["aura", "mousehuntTooltipParent", questClass]); auraEl.id = auraKey; const expiryText = getExpiryFormatted(aura.expiry); const remaining = getExpiryRemainingFormatted(aura.remaining * 1e3); auraEl.title = `Expires on ${expiryText}, ${remaining} remaining`; const tooltip = makeElement("div", ["mousehuntTooltip", "top", "noEvents"]); const tooltipContent = makeElement("div", "mousehuntTooltipContent"); makeElement("div", "mousehuntTooltipContentTitle", `${aura.type} Aura`, tooltipContent); makeElement("div", "mousehuntTooltipContentTime", `Expires on ${expiryText}`, tooltipContent); makeElement("div", "mousehuntTooltipContentTime", `${remaining} remaining`, tooltipContent); tooltip.append(tooltipContent); makeElement("div", "mousehuntTooltip-arrow", "", tooltip); auraEl.append(tooltip); const auraImage = makeElement("div", "image"); auraImage.classList.add(...auraClasses); auraImage.classList.remove("mousehuntTooltipParent"); auraEl.append(auraImage); makeElement("div", "type", aura.type, auraEl); const times = makeElement("div", "times"); makeElement("div", "expiry", expiryText, times); makeElement("div", "time", remaining, times); auraEl.append(times); auraTrapBlock.append(auraEl); }); existing = document.querySelector("#mh-improved-aura-view"); if (existing) { existing.replaceWith(auraTrapBlock); } else { const tem = document.querySelector(".campPage-trap-trapEffectiveness.campPage-trap-statsContainer"); if (tem) { tem.after(auraTrapBlock); } else { trapSummary.append(auraTrapBlock); } } isAppending = false; }; getAuras = () => { if ("camp" !== getCurrentPage()) { return; } const auras = document.querySelectorAll(".trapSelectorView .trapImageView-trapAuraContainer .trapImageView-trapAura.active"); if (!auras) { return; } aurasExpiry = []; auras.forEach((aura) => { const typeEl = aura.querySelector(".trapImageView-tooltip-trapAura-title"); if (!typeEl) { return; } const type = typeEl.textContent.replaceAll("You have the ", "").replaceAll("Aura!", "").trim(); const expiryEl = aura.querySelector(".trapImageView-tooltip-trapAura-expiry span"); if (!expiryEl || !type) { return; } const origExpiryText = expiryEl.textContent.replaceAll("(Local Time)", "").replaceAll(" ", " ").trim(); let expiryText = origExpiryText; const dateParts = expiryText.split("@"); if (dateParts.length > 1) { expiryText = dateParts[0].trim(); const time = dateParts[1].trim(); const timeParts = time.split(":"); let hours = Number.parseInt(timeParts[0], 10); hours = timeParts[1].includes("pm") ? hours + 12 : hours; const minutes = timeParts[1].replaceAll("pm", "").replaceAll("am", "").trim(); expiryText = `${expiryText} ${hours}:${minutes}`; } const expiry = new Date(Date.parse(expiryText)); const now = /* @__PURE__ */ new Date(); const remaining = Math.floor((expiry - now) / 1e3); aurasExpiry.push({ type, remaining, expiry, expiryText: origExpiryText, element: aura }); }); }; aurasExpiry = []; main22 = () => { setTimeout(() => { getAuras(); addExpiryWarning(); addTrapBlock(); }, 1e3); }; init68 = () => __async(void 0, null, function* () { const stylesToUse = [styles_default106]; if (getSetting("show-auras.icons")) { stylesToUse.push(icons_default); } else if (getSetting("show-auras.list")) { stylesToUse.push(list_default); } else { stylesToUse.push(grid_default); } addStyles(stylesToUse, "show-auras"); onNavigation(main22, { page: "camp" }); }); show_auras_default = { id: "show-auras", name: "Show Auras", description: "Show auras and their expiry time below the trap stats.", type: "feature", default: false, load: init68, settings: settings_default33 }; } }); // src/modules/taller-windows/styles.css var styles_default107; var init_styles108 = __esm({ "src/modules/taller-windows/styles.css"() { styles_default107 = '.springHuntHUD-popup-allEggs,.adventureBookPopup-titleContent,.convertibleOpenView-itemContainer,.marketplaceView-browse-content,.MHCheckoutAllRewardsPageView,.treasureMapView-block-content.tall,.treasureMapView-blockWrapper.tall .treasureMapView-block-content,#messengerUINotification .notificationHeader,#supplytransfer .drawer .listContainer,#supplytransfer .drawer .tabContent,#supplytransfer .drawer{height:auto;max-height:75vh}#messengerUINotification .notificationMessageList,.treasureMapView-block-content,.treasureMapView-block-content.halfHeight{height:auto;max-height:55vh}#supplytransfer .drawer{padding-bottom:75px}.adventureBookPopup-titleContent{max-height:unset}.treasureMapDialogView.limitHeight .treasureMapView-block-content{max-height:75vh}.treasureMapDialogView.wide.limitHeight.confirm .treasureMapView,.treasureMapDialogView.limitHeight .treasureMapDialogView-content{max-height:500px}.giftSelectorView-inbox-giftContainer,#overlayPopup .giftSelectorView-scroller{height:auto;min-height:300px;max-height:65vh}#overlayPopup.giftSelectorViewPopup{top:50px!important}.springHuntHUD-popup-regionContainer{display:contents}#overlayPopup .imgArray{min-height:105px;max-height:500px}.floatingIslandsWorkshop-partsContainer{top:263px;left:113px;width:533px;height:auto;background-image:url(https://i.mouse.rip/fi-airships-middle.png);background-size:contain;border-radius:12px}.floatingIslandsWorkshop-parts-content{position:relative;height:100%;max-height:60vh}.floatingIslandsWorkshop-parts-title{padding:5px 10px 0;margin-top:-23px;margin-right:-1px;background:radial-gradient(circle,#fdf9bd,#fefdd6,#fdf9bd);border:none;border-radius:4px 5px 0 0}.floatingIslandsWorkshop-partsContainer:after{position:absolute;bottom:-3px;left:0;width:533px;height:30px;content:"";background-image:url(https://i.mouse.rip/fi-airships-bottom-2.png);background-position:bottom}.floatingIslandsWorkshop-stabilizer{position:absolute;top:250px;left:430px}.select2-results{max-height:50vh}.giftSelectorView-scroller{height:auto}.mh-gift-buttons-clone-wrapper{max-height:calc(75vh - 175px)}.mh-ui-goals-block .treasureMapView-block-content{max-height:75vh}.mh-ui-environments-block{max-height:68vh;overflow-y:auto}.treasureMapView-block-content{height:unset}.treasureMapView-blockWrapper.tall .treasureMapView-block-content.treasureMapShopsView-shopItems{height:100%;max-height:unset}\n'; } }); // src/modules/taller-windows/index.js var init69, taller_windows_default; var init_taller_windows = __esm({ "src/modules/taller-windows/index.js"() { init_utils2(); init_styles108(); init69 = () => __async(void 0, null, function* () { addStyles(styles_default107, "taller-windows"); }); taller_windows_default = { id: "taller-windows", name: "Taller Windows", type: "feature", default: true, description: "Make popup and dialog windows taller.", load: init69 }; } }); // src/modules/tem-crowns/styles.css var styles_default108; var init_styles109 = __esm({ "src/modules/tem-crowns/styles.css"() { styles_default108 = ".campPage-trap-trapEffectiveness-mouse-name{display:inline-flex;flex-flow:column wrap;place-content:flex-start space-around;align-items:flex-start;justify-content:flex-start;width:95px;padding-left:5px;margin-top:-10px}.campPage-trap-trapEffectiveness-mouse:hover,.campPage-trap-trapEffectiveness-mouse:focus,.campPage-trap-trapEffectiveness-mouse:active{border:none;outline:1px solid #ccc}.campPage-trap-trapEffectiveness-content{overflow:visible}.mh-ui-tem-crown.mousebox{position:relative;float:none;margin:0;border:none}img.mh-ui-tem-crown-icon{position:absolute;top:-1px;right:-5px;z-index:2;box-sizing:border-box;width:22px;height:22px;vertical-align:middle;background-color:#f4f4f4;border:1px solid #8d8282;border-right:none;border-radius:50% 0 0 50%}span.mh-ui-tem-crown-text{position:absolute;top:-1px;left:1px;z-index:1;box-sizing:border-box;display:inline-block;width:auto;height:22px;padding:4px 10px 2px 15px;font-size:12px;font-weight:900;color:#926944;background-color:#f4f4f4;border:1px solid #8d8282}.mh-ui-tem-crown-wrapper{position:absolute;bottom:0;left:45px}.campPage-trap-trapEffectiveness-mouse-chance{display:block;margin-top:5px;color:#628ea9}.campPage-trap-trapEffectiveness-mouse-powerType{right:28px;bottom:-11px;background-color:#f4f4f4;background-size:70%;border-color:#8d8282}.campPage-trap-trapEffectiveness span{font-size:14px;vertical-align:bottom}.campPage-trap-trapEffectiveness-difficultyGroup.clear-block{display:grid;grid-template-columns:1fr 1fr;place-items:center stretch;padding-left:10px}.campPage-trap-trapEffectiveness-mouse{width:unset;margin:10px 0;overflow:visible;border:none}.campPage-trap-trapEffectiveness-difficultyGroup-label{grid-column:span 2;font-weight:400;text-align:center;border:none}\n"; } }); // src/modules/tem-crowns/index.js var getCrownType, addCrownsToTEM, init70, tem_crowns_default; var init_tem_crowns = __esm({ "src/modules/tem-crowns/index.js"() { init_utils2(); init_styles109(); getCrownType = (catches) => { if (catches < 10) { return "none"; } if (catches < 100) { return "bronze"; } if (catches < 500) { return "silver"; } if (catches < 1e3) { return "gold"; } if (catches < 2500) { return "platinum"; } return "diamond"; }; addCrownsToTEM = (panel) => __async(void 0, null, function* () { if ("trap_effectiveness" !== panel) { return; } const crowns = yield doRequest("managers/ajax/mice/getstat.php", { action: "get_hunting_stats" }); if (!((crowns == null ? void 0 : crowns.hunting_stats) && (crowns == null ? void 0 : crowns.hunting_stats.length) > 0)) { return; } huntingStats = crowns == null ? void 0 : crowns.hunting_stats; const temMice = document.querySelectorAll(".campPage-trap-trapEffectiveness-mouse"); if (!temMice || !temMice.length) { return; } temMice.forEach((mouse) => __async(void 0, null, function* () { const hasCrown = mouse.getAttribute("data-mh-ui-tem-crown"); if (hasCrown) { return; } const type = mouse.getAttribute("data-mouse"); if (!type) { return; } mouse.setAttribute("data-mh-ui-tem-crown", true); const mouseStats2 = huntingStats.find((m) => m.type === type); if (!mouseStats2) { return; } const name = mouse.querySelector(".campPage-trap-trapEffectiveness-mouse-name"); if (!name) { return; } const catches = mouseStats2.num_catches; const crownType = getCrownType(catches); const crownWrapper = makeElement("div", "mh-ui-tem-crown-wrapper"); const crown = document.createElement("span"); crown.classList.add("mh-ui-tem-crown", "mousebox"); const crownIcon = document.createElement("img"); crownIcon.classList.add("mh-ui-tem-crown-icon"); crownIcon.src = `https://www.mousehuntgame.com/images/ui/crowns/crown_${crownType}.png`; crown.append(crownIcon); makeElement("span", "mh-ui-tem-crown-text", catches, crown); crownWrapper.append(crown); name.append(crownWrapper); })); }); init70 = () => __async(void 0, null, function* () { addStyles(styles_default108, "tem-crowns"); onEvent("camp_page_toggle_blueprint", addCrownsToTEM); }); tem_crowns_default = { id: "tem-crowns", name: "TEM Crowns", type: "feature", default: true, description: "Adds crowns and catches to the the Trap Effectiveness Meter.", load: init70 }; } }); // src/modules/update-migration/utils.js var isVersionBefore, saveSettingsBackup, restoreSettingsBackup, moveSetting, moveFlagToSetting; var init_utils3 = __esm({ "src/modules/update-migration/utils.js"() { init_utils2(); isVersionBefore = (version, compare) => { if (!version || !compare) { return false; } const versionParts = version.split("."); const compareParts = compare.split("."); for (const i in versionParts) { if ("*" === compareParts[i]) { return false; } if (versionParts[i] < compareParts[i]) { return true; } } return false; }; saveSettingsBackup = () => { localStorage.setItem("mousehunt-improved-settings-backup", localStorage.getItem("mousehunt-improved-settings")); }; restoreSettingsBackup = () => { const backedUpSettings = localStorage.getItem("mousehunt-improved-settings-backup"); if (backedUpSettings) { localStorage.setItem("mousehunt-improved-settings", backedUpSettings); } }; moveSetting = (settingKey) => { if (!settingKey.from || !settingKey.to) { return; } debuglog("update-migration", `Migrating setting from ${settingKey.from} to ${settingKey.to}`); const setting = getSetting(settingKey.from, null); if (null === setting) { return; } if (null !== getSetting(settingKey.to, null)) { return; } saveSetting(settingKey.to, setting); if (settingKey.clear) { saveSetting(settingKey.from, null); } else if (settingKey.setTrue) { saveSetting(settingKey.from, true); } else if (settingKey.setFalse) { saveSetting(settingKey.from, false); } else { deleteSetting(settingKey.from); } }; moveFlagToSetting = (flag) => { if (!flag.from || !flag.to) { return; } debuglog("update-migration", `Migrating flag from ${flag.from} to setting ${flag.to}`); const savedFlags = getFlags(); if (savedFlags.includes(flag.from)) { saveSetting(flag.to, true); savedFlags.splice(savedFlags.indexOf(flag.from), 1); } saveSetting("override-flags", savedFlags.join(",")); }; } }); // src/modules/update-migration/versions/0.35.0.js var settingsToMigrate, flagsToMigrate, update, __default; var init__ = __esm({ "src/modules/update-migration/versions/0.35.0.js"() { init_utils2(); init_utils3(); settingsToMigrate = [ { from: "inventory-lock-and-hide", to: "inventory-lock-and-hide.items", setTrue: true }, { from: "favorite-setups", to: "favorite-setups.setups", setTrue: true }, { from: "better-travel-default-to-simple-travel", to: "better-travel.default-to-simple-travel" }, { from: "better-travel-show-alphabetized-list", to: "better-travel.show-alphabetized-list" }, { from: "better-travel-show-reminders", to: "better-travel.show-reminders" }, { from: "better-travel-travel-window", to: "better-travel.travel-window" }, { from: "better-travel-travel-window-environment-icon", to: "better-travel.travel-window-environment-icon" }, { from: "gift-buttons-send-order-0", to: "better-gifts.send-order-0" }, { from: "gift-buttons-ignore-bad-gifts-0", to: "better-gifts.ignore-bad-gifts-0" }, { from: "better-inventory-one-item-per-row", to: "better-inventory.one-item-per-row" }, { from: "better-inventory-larger-images", to: "better-inventory.larger-images" }, { from: "better-journal-styles", to: "better-journal.styles" }, { from: "better-journal-replacements", to: "better-journal.replacements" }, { from: "better-journal-icons", to: "better-journal.icons" }, { from: "better-journal-icons-minimal", to: "better-journal.icons-minimal" }, { from: "better-journal-list", to: "better-journal.list" }, { from: "better-marketplace-search-all", to: "better-marketplace.search-all" }, { from: "better-marketplace-small-images", to: "better-marketplace.small-images" }, { from: "better-quests-m400-helper", to: "better-quests.m400-helper" }, { from: "send-supplies-pinned-items-0", to: "better-send-supplies.pinned-items-0" }, { from: "send-supplies-pinned-items-1", to: "better-send-supplies.pinned-items-1" }, { from: "send-supplies-pinned-items-2", to: "better-send-supplies.pinned-items-2" }, { from: "send-supplies-pinned-items-3", to: "better-send-supplies.pinned-items-3" }, { from: "send-supplies-pinned-items-4", to: "better-send-supplies.pinned-items-4" }, { from: "better-tournaments-tournament-time-display-inline", to: "better-tournaments.time-inline" }, { from: "journal-changer-change-daily", to: "journal-changer.change-daily'" }, { from: "journal-changer-change-location", to: "journal-changer.change-location'" }, { from: "journal-privacy-show-toggle-icon", to: "journal-privacy.show-toggle-icon'" }, { from: "keyboard-shortcuts", to: "keyboard-shortcuts.shortcuts", setTrue: true }, { from: "lgs-new-style", to: "lgs-reminder.new-style'" }, { from: "quick-send-supplies-items-0", to: "quick-send-supplies.items-0" }, { from: "quick-send-supplies-items-1", to: "quick-send-supplies.items-1" }, { from: "quick-send-supplies-items-2", to: "quick-send-supplies.items-2" }, { from: "quick-send-supplies-items-3", to: "quick-send-supplies.items-3" }, { from: "ultimate-checkmark-categories-airships", to: "ultimate-checkmark.show-airships" }, { from: "ultimate-checkmark-categories-codex", to: "ultimate-checkmark.show-codex" }, { from: "ultimate-checkmark-categories-currency", to: "ultimate-checkmark.show-currency" }, { from: "ultimate-checkmark-categories-equipment", to: "ultimate-checkmark.show-equipment" }, { from: "ultimate-checkmark-categories-plankrun", to: "ultimate-checkmark.show-plankrun" }, { from: "ultimate-checkmark-categories-treasure_chests", to: "ultimate-checkmark.show-treasure_chests" }, { from: "wisdom-in-stat-bar-auto-refresh", to: "wisdom-in-stat-bar.auto-refresh" }, { from: "has-seen-update-banner", to: "updates.banner" }, { from: "acolyte_realm", to: "location-huds-enabled.acolyte_realm" }, { from: "ancient_city", to: "location-huds-enabled.ancient_city" }, { from: "balacks_cove", to: "location-huds-enabled.balacks_cove" }, { from: "bazaar", to: "location-huds-enabled.bazaar" }, { from: "bountiful_beanstalk", to: "location-huds-enabled.bountiful_beanstalk" }, { from: "calm_clearing", to: "location-huds-enabled.calm_clearing" }, { from: "cape_clawed", to: "location-huds-enabled.cape_clawed" }, { from: "catacombs", to: "location-huds-enabled.catacombs" }, { from: "clawshot_city", to: "location-huds-enabled.clawshot_city" }, { from: "derr_dunes", to: "location-huds-enabled.derr_dunes" }, { from: "desert_city", to: "location-huds-enabled.desert_city" }, { from: "desert_warpath", to: "location-huds-enabled.desert_warpath" }, { from: "dojo", to: "location-huds-enabled.dojo" }, { from: "dracano", to: "location-huds-enabled.dracano" }, { from: "elub_shore", to: "location-huds-enabled.elub_shore" }, { from: "floating_islands", to: "location-huds-enabled.floating_islands" }, { from: "forbidden_grove", to: "location-huds-enabled.forbidden_grove" }, { from: "foreword_farm", to: "location-huds-enabled.foreword_farm" }, { from: "fort_rox", to: "location-huds-enabled.fort_rox" }, { from: "fungal_cavern", to: "location-huds-enabled.fungal_cavern" }, { from: "great_gnarled_tree", to: "location-huds-enabled.great_gnarled_tree" }, { from: "iceberg", to: "location-huds-enabled.iceberg" }, { from: "jungle_of_dread", to: "location-huds-enabled.jungle_of_dread" }, { from: "kings_arms", to: "location-huds-enabled.kings_arms" }, { from: "kings_gauntlet", to: "location-huds-enabled.kings_gauntlet" }, { from: "laboratory", to: "location-huds-enabled.laboratory" }, { from: "labyrinth", to: "location-huds-enabled.labyrinth" }, { from: "lagoon", to: "location-huds-enabled.lagoon" }, { from: "meditation_room", to: "location-huds-enabled.meditation_room" }, { from: "mountain", to: "location-huds-enabled.mountain" }, { from: "mousoleum", to: "location-huds-enabled.mousoleum" }, { from: "moussu_picchu", to: "location-huds-enabled.moussu_picchu" }, { from: "nerg_plains", to: "location-huds-enabled.nerg_plains" }, { from: "pinnacle_chamber", to: "location-huds-enabled.pinnacle_chamber" }, { from: "pollution_outbreak", to: "location-huds-enabled.pollution_outbreak" }, { from: "prologue_pond", to: "location-huds-enabled.prologue_pond" }, { from: "rift_bristle_woods", to: "location-huds-enabled.rift_bristle_woods" }, { from: "rift_burroughs", to: "location-huds-enabled.rift_burroughs" }, { from: "rift_furoma", to: "location-huds-enabled.rift_furoma" }, { from: "rift_gnawnia", to: "location-huds-enabled.rift_gnawnia" }, { from: "rift_valour", to: "location-huds-enabled.rift_valour" }, { from: "rift_whisker_woods", to: "location-huds-enabled.rift_whisker_woods" }, { from: "seasonal_garden", to: "location-huds-enabled.seasonal_garden" }, { from: "slushy_shoreline", to: "location-huds-enabled.slushy_shoreline" }, { from: "ss_huntington_ii", to: "location-huds-enabled.ss_huntington_ii" }, { from: "sunken_city", to: "location-huds-enabled.sunken_city" }, { from: "table_of_contents", to: "location-huds-enabled.table_of_contents" }, { from: "tournament_hall", to: "location-huds-enabled.tournament_hall" }, { from: "town_of_digby", to: "location-huds-enabled.town_of_digby" }, { from: "town_of_gnawnia", to: "location-huds-enabled.town_of_gnawnia" }, { from: "train_station", to: "location-huds-enabled.train_station" }, { from: "windmill", to: "location-huds-enabled.windmill" }, { from: "zugzwang_tower", to: "location-huds-enabled.zugzwang_tower" }, { from: "region-living-garden", to: "location-huds-enabled.region-living-garden" }, { from: "region-queso", to: "location-huds-enabled.region-queso" }, { from: "event-locations", to: "location-huds-enabled.event-locations" }, { from: "visibility-toggles", to: "location-huds.folklore-forest-visibility-toggles" } ]; flagsToMigrate = [ { from: "raffle", to: "experiments.raffle" }, { from: "lol-gottem", to: "experiments.lol-gottem" }, { from: "favorite-setups-toggle", to: "experiments.favorite-setups-toggle" }, { from: "journal-icons-all", to: "better-journal.icons" }, { from: "journal-icons", to: "better-journal.icons-minimal" }, { from: "journal-list", to: "better-journal.list" }, { from: "lgs-reminder-exact", to: "lgs-reminder.show-seconds" } ]; update = () => __async(void 0, null, function* () { debuglog("update-migration", "Migrating settings"); for (const setting of settingsToMigrate) { moveSetting(setting); } debuglog("update-migration", "Migrating flags"); for (const flag of flagsToMigrate) { moveFlagToSetting(flag); } debuglog("update-migration", "Deleting old databases"); yield databaseDelete("mh-improved"); localStorage.removeItem("mh-improved-update-notifications"); }); __default = { id: "0.35.0", update }; } }); // src/modules/update-migration/versions/0.36.0.js var deleteLocalStorageArCache, copyHyperspeedTravelFavorites, removeOldEventFavoriteLocations, update2, __default2; var init__2 = __esm({ "src/modules/update-migration/versions/0.36.0.js"() { init_utils2(); deleteLocalStorageArCache = () => { const localStorageKeys = Object.keys(localStorage); for (const key of localStorageKeys) { if (key.startsWith("mh-improved-cached-ar-v")) { localStorage.removeItem(key); } } }; copyHyperspeedTravelFavorites = () => { const lvSettings = localStorage.getItem("lv-faves-settings"); if (!lvSettings) { return; } const lvFavesSettings = JSON.parse(); if (!lvFavesSettings) { return; } const lvFaves = Object.keys(lvFavesSettings == null ? void 0 : lvFavesSettings.locationList) || []; if (!lvFaves || !lvFaves.length) { return; } const favorites = getSetting("better-travel.favorites", []); lvFaves.forEach((location) => { if (!favorites.includes(location)) { favorites.push(location); saveSetting("better-travel.favorites", favorites); } }); }; removeOldEventFavoriteLocations = () => __async(void 0, null, function* () { const eventEnvironments2 = yield getData("environments-events"); if (!eventEnvironments2) { return; } const travelFavorites = getSetting("better-travel.favorites", []); travelFavorites.forEach((location) => { if (eventEnvironments2.includes(location)) { travelFavorites.splice(travelFavorites.indexOf(location), 1); saveSetting("better-travel.favorites", travelFavorites); } }); }); update2 = () => { debuglog("update-migration", "Cleaning up old AR caches"); deleteLocalStorageArCache(); localStorage.removeItem("journal-changer-last-change"); localStorage.removeItem("mh-improved-cache-quests"); localStorage.removeItem("wisdom-stat"); deleteSetting("better-travel.has-migrated-favorites"); copyHyperspeedTravelFavorites(); removeOldEventFavoriteLocations(); setGlobal("mh-improved-update-needs-refresh", true); }; __default2 = { id: "0.36.0", update: update2 }; } }); // src/modules/update-migration/versions/0.36.1.js var maybeUpgradeHudSetting, update3, __default3; var init__3 = __esm({ "src/modules/update-migration/versions/0.36.1.js"() { init_utils2(); maybeUpgradeHudSetting = () => { const hudBackgroundSetting = getSetting("custom-hud-0"); if ("suede" === hudBackgroundSetting) { saveSetting("custom-hud-0", "hud-suede"); } else if ("groovy-green" === hudBackgroundSetting) { saveSetting("custom-hud-0", "hud-groovy-green"); } }; update3 = () => { maybeUpgradeHudSetting(); }; __default3 = { id: "0.36.1", update: update3 }; } }); // src/modules/update-migration/versions/0.40.0.js var update4, __default4; var init__4 = __esm({ "src/modules/update-migration/versions/0.40.0.js"() { init_utils2(); update4 = () => { if (getSetting("experiments.iceberg-always-show-progress", getFlag("iceberg-always-show-progress"))) { saveSetting("location-huds.iceberg-sticky-tooltip", true); } }; __default4 = { id: "0.40.0", update: update4 }; } }); // src/modules/update-migration/index.js var imported8, versionUpdates, doVersionUpdates, update5, previousVersion, init71, update_migration_default; var init_update_migration = __esm({ "src/modules/update-migration/index.js"() { init_utils2(); init_utils3(); init__(); init__2(); init__3(); init__4(); imported8 = [__default, __default2, __default3, __default4]; versionUpdates = imported8; doVersionUpdates = () => __async(void 0, null, function* () { if ("0.0.0" === previousVersion) { return; } for (const version in versionUpdates) { const currentVersion = versionUpdates[version]; if (isVersionBefore(previousVersion, currentVersion.id)) { try { yield currentVersion.update(); } catch (error) { debuglog("update-migration", `Error updating to ${currentVersion.id}:`, error); throw error; } } } }); update5 = () => __async(void 0, null, function* () { debuglog("update-migration", `Updating from ${previousVersion} to ${mhImprovedVersion}`); const showPopup = setTimeout(() => { showLoadingPopup(`Updating MouseHunt Improved to v${mhImprovedVersion}...`); addBodyClass("mh-improved-updating"); setGlobal("mh-improved-updating", true); saveSettingsBackup(); }, 400); try { yield doVersionUpdates(); saveSetting("mh-improved-version", mhImprovedVersion); yield updateCaches(); clearTimeout(showPopup); if (getGlobal("mh-improved-update-needs-refresh")) { showLoadingPopup("MouseHunt Improved has been updated. Please refresh the page."); } else { activejsDialog == null ? void 0 : activejsDialog.hide(); } doEvent2("mh-improved-updated", mhImprovedVersion); } catch (error) { restoreSettingsBackup(); clearTimeout(showPopup); showLoadingPopup("Error updating MouseHunt Improved. Please try refreshing the page."); throw error; } }); previousVersion = null; init71 = () => __async(void 0, null, function* () { previousVersion = getSetting("mh-improved-version", "0.0.0"); if ("0.0.0" === previousVersion) { return; } if (previousVersion !== mhImprovedVersion) { debuglog("update-migration", `Previous version: ${previousVersion}`); yield update5(); doEvent2("mh-improved-updated", mhImprovedVersion); } }); update_migration_default = { id: "update-migration", type: "required", alwaysLoad: true, order: 300, load: init71 }; } }); // src/modules/tip-of-the-day/styles.css var styles_default109; var init_styles110 = __esm({ "src/modules/tip-of-the-day/styles.css"() { styles_default109 = ""; } }); // src/modules/tip-of-the-day/index.js var tips, addTipDaily, init72, tip_of_the_day_default; var init_tip_of_the_day = __esm({ "src/modules/tip-of-the-day/index.js"() { init_utils2(); init_styles110(); tips = [ "Did you know that MouseHunt Improved has many easter eggs? Try to find them all!", "You can customize the modules you want to load in the settings.", "You can use the 'debug-all' setting to enable all debug options.", "You can use the 'debug-dialog', 'debug-navigation', 'debug-request', 'debug-events' settings to enable specific debug options.", "You can use the 'debug' function in the console to log messages.", "You can use the 'app.mhutils' object in the console to access all the utility functions.", "You can use the 'app.mhui' object in the console to access all the UI functions.", "There are many features in MouseHunt Improved that aren't even documented!" ]; addTipDaily = () => __async(void 0, null, function* () { const lastChangeValue = getSetting("tip-of-the-day.last", 0); const lastChange = new Date(Number.parseInt(lastChangeValue, 10)); const now = /* @__PURE__ */ new Date(); if (!lastChange || lastChange.getDate() !== now.getDate() || lastChange.getMonth() !== now.getMonth() || lastChange.getFullYear() !== now.getFullYear()) { addJournalEntry({ id: "tip-of-the-day", text: tips[Math.floor(Math.random() * tips.length)], noDate: true }); saveSetting("tip-of-the-day.last", now.getTime()); } }); init72 = () => __async(void 0, null, function* () { addStyles(styles_default109, "tip-of-the-day"); addTipDaily(); }); tip_of_the_day_default = { id: "tip-of-the-day", name: "Tip of the Day", type: "hidden", default: false, load: init72 }; } }); // src/modules/update-notifications/styles.css var styles_default110; var init_styles111 = __esm({ "src/modules/update-notifications/styles.css"() { styles_default110 = '.mh-improved-has-update .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:before{position:absolute;top:-12px;right:4px;z-index:2;width:36px;height:25px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/events/halloween_boiling_cauldron/book/new.png);filter:drop-shadow(-1px 0 5px #fff) hue-rotate(200deg);background-repeat:no-repeat;background-size:36px 25px;animation:dirigibleFloat ease-in-out .4s 3;animation-delay:2s}@media (prefers-reduced-motion: reduce){.mh-improved-has-update .mousehuntHeaderView .menuItem.mousehunt-improved-icon-menu:before{animation:none}}#overlayPopup.mh-improved-update-summary .jsDialog.top,#overlayPopup.mh-improved-update-summary .jsDialog.bottom,#overlayPopup.mh-improved-update-summary .jsDialog.background,#overlayPopup.mh-improved-update-summary .jsDialogContainer .prefix,#overlayPopup.mh-improved-update-summary .jsDialogContainer .content,#overlayPopup.mh-improved-update-summary .jsDialogContainer .suffix{padding:0;margin:0;background:none;border:none}#overlayPopup.mh-improved-update-summary .jsDialog.top,#overlayPopup.mh-improved-update-summary .jsDialog.bottom{pointer-events:none}#overlayPopup.mh-improved-update-summary .jsDialogContainer{padding:0 20px;background-image:url(https://www.mousehuntgame.com/images/ui/newsposts/np_border.png);background-repeat:repeat-y;background-size:100%}#overlayPopup.mh-improved-update-summary .jsDialogContainer:before{position:absolute;top:-80px;right:0;left:0;z-index:-1;height:100px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/newsposts/np_header.png);background-repeat:no-repeat;background-size:100%}#overlayPopup.mh-improved-update-summary .jsDialogContainer:after{position:absolute;top:100%;right:0;left:0;height:126px;content:"";background-image:url(https://www.mousehuntgame.com/images/ui/newsposts/np_footer.png);background-repeat:no-repeat;background-size:100%}.mh-improved-update-summary-wrapper{margin:0 25px;line-height:1.5}.mh-improved-update-summary-body{display:grid;grid-template-columns:2fr 1fr;gap:30px}.mh-improved-update-summary h1{padding-bottom:5px;margin-top:-40px;font-size:1.75em;font-weight:700;color:#693312;text-align:center;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#c1915a;text-underline-offset:10px}.mh-improved-update-summary h2{padding-bottom:3px;margin-bottom:3px;font-size:1.25em;font-weight:900;border-bottom:1px solid #c1915a}.mh-improved-update-summary-links{display:flex;flex-direction:column}.mh-improved-update-summary ul{margin:0 0 5px 15px;list-style:disc}.mh-improved-update-summary-buttons{display:flex;flex-direction:column;flex-grow:1;gap:10px;justify-content:flex-end;text-align:center}.mh-improved-update-summary-links ul{font-size:1.125em;line-height:2}.mh-improved-update-summary-changes{display:grid;grid-template-columns:1fr;gap:0 10px;justify-items:stretch;max-height:375px;padding:10px;overflow:auto;background:linear-gradient(#e9d5a2 30%,#0000) center top,linear-gradient(#0000,#e9d5a2 70%) center bottom,radial-gradient(farthest-side at 50% 0,#0006,#0000) center top,radial-gradient(farthest-side at 50% 100%,#0006,#0000) center bottom;background-repeat:no-repeat;background-attachment:local,local,scroll,scroll;background-size:100% 50px,100% 50px,100% 15px,100% 15px;border:1px solid #b07842}.mh-improved-update-summary-misc{margin-bottom:5px}.mh-improved-update-summary-changes.no-changes{border:none;box-shadow:none}.mh-improved-update-summary-content p{font-size:12px}\n'; } }); // src/data/update-summary.json var update_summary_default; var init_update_summary = __esm({ "src/data/update-summary.json"() { update_summary_default = { "summary": "This release contains quite a few improvements and bug fixes, as well as some new features. <p>There is now a 'Legacy HUD' feature that will allow you to enable the old HUD stats bar while retaining the current menu bar or the old menu bar with the new HUD stats bar.<p>There is also a 'Native Dark Mode' beta feature that will allow you to enable a dark mode for the game. Please note, you'll need to disable the MHCT dark mode setting or disable the dark mode extension to prevent conflicts.", "details": [ {"title": "New Features", "items": ["Added 'Native Dark Mode' beta feature", "Legacy HUD and related features are no longer experimental, they've been moved to the main features list"]}, {"title": "Better Maps", "items": ["Fixed reward not being claimable when defaulting to Sorted tab", "Removed persistent sticky feature, as it was causing issues", "Fixed profile tooltips alignment", "Updated styles"]}, {"title": "Better Mice", "items": ["Fixed mouse stat sorting not applying when on a Hunter's profile"]}, {"title": "Better Travel", "items": ["Added a search feature to the travel window"]}, {"title": "Better UI", "items": ["Updated styles for a variety of elements"]}, {"title": "Dark Mode Updates & Tweaks", "items": ["Updated styles"]}, {"title": "Journal Changer", "items": ["Added fallback to last chosen theme when traveling to a location without a theme available"]}, {"title": "Lucky Golden Shield Duration & Reminder", "items": ["Updated timing to better sync with horn timer"]}, {"title": "Location Dashboard", "items": ["Updated all Living Garden region information", "Updated text seperators to be more consistent"]}, {"title": "Location HUDs - Fiery Warpath", "items": ["Updated styles"]}, {"title": "Location HUDs - Iceberg", "items": ["Fixed errors in progress calculations", "Updated styles"]}, {"title": "Location HUDs - Labyrinth", "items": ["Updated styles"]}, {"title": "Location HUDs", "items": ["Minor style updates for various locations, like Living Garden Region and Moussu Picchu"]}, {"title": "Other", "items": ["Renamed 'Better Item View' to 'Better Items'", "Added more checks and safeguards to prevent errors", "Miscellaneous style updates", "Moved map height changes from 'Better Maps' to 'Taller Windows'", "Minor bug fixes and performance improvements"]} ] }; } }); // src/modules/update-notifications/index.js var github, getExtensionLink, makeList, showUpdateSummary, init73, update_notifications_default; var init_update_notifications = __esm({ "src/modules/update-notifications/index.js"() { init_utils2(); init_styles111(); init_update_summary(); github = "https://github.com/MHCommunity/mousehunt-improved"; getExtensionLink = () => { if ("chrome" === mhImprovedPlatform) { return "https://chromewebstore.google.com/detail/mousehunt-improved/fgjkidgknmkhnbeobehlfabjbignhkhm"; } if ("firefox" === mhImprovedPlatform) { return "https://addons.mozilla.org/en-US/firefox/addon/mousehunt-improved/"; } if ("userscript" === mhImprovedPlatform) { return "https://greasyfork.org/en/scripts/465139-mousehunt-improved"; } return github; }; makeList = (title, items2) => { if (!items2 || !items2.length) { return ""; } let markup = `<div class="update-list-section"><h2>${title}</h2><ul>`; for (const item of items2) { markup += `<li>${item}</li>`; } markup += "</ul></div>"; return markup; }; showUpdateSummary = (force = false) => __async(void 0, null, function* () { const update6 = { summary: update_summary_default.summary || "", details: update_summary_default.details || [] }; let lists = ""; for (const list of update6.details) { lists += makeList(list.title, list.items); } let noChanges = ""; if (!update6.summary.length && !update6.details.length) { if (!force) { return; } noChanges = " no-changes"; lists = '<p><a href="https://github.com/MHCommunity/mousehunt-improved/releases" target="_blank" rel="noopener noreferrer">Check out the latest release notes</a> for more information.</p>'; } const links = [ '<a href="https://www.mousehuntgame.com/preferences.php?tab=mousehunt-improved-settings">Settings</a>', `<a href="${getExtensionLink()}" target="_blank" rel="noopener noreferrer">Leave a review</a>`, // '<a href="#">Support on Patreon</a>', `<a href="${github}/issues">Report an issue</a>` ]; const markup = `<div class="mh-improved-update-summary-wrapper"> <h1 class="mh-improved-update-summary-title">MouseHunt Improved v${mhImprovedVersion}</h1> <div class="mh-improved-update-summary-content"> <p>${update6.summary || ""}</p> </div> <div class="mh-improved-update-summary-body"> <div class="mh-improved-update-summary-changes${noChanges}"> ${lists} </div> <div class="mh-improved-update-summary-links"> ${makeList("Links", links)} <div class="mh-improved-update-summary-misc"> Want to contribute to MouseHunt Improved? Check out our <a href="${github}" target="_blank" rel="noopener noreferrer">GitHub</a>. </div> <div class="mh-improved-update-summary-buttons"> <a href="#" id="mh-improved-dismiss-popup" class="button">Continue</a> </div> </div> </div> </div>`; const popup = createPopup({ hasCloseButton: false, template: "ajax", content: markup, show: false, className: "mh-improved-update-summary" }); popup.addToken("{*prefix*}", ""); popup.addToken("{*suffix*}", ""); popup.show(); const dismiss = document.querySelector("#mh-improved-dismiss-popup"); if (!dismiss) { return; } dismiss.addEventListener("click", (e) => { e.preventDefault(); popup.hide(); }); }); init73 = () => __async(void 0, null, function* () { addStyles(styles_default110, "update-notifications"); onEvent("mh-improved-updated", showUpdateSummary); onEvent("mh-improved-show-update-summary", () => { showUpdateSummary(true); }); }); update_notifications_default = { id: "update-notifications", type: "required", alwaysLoad: true, order: 200, load: init73 }; } }); // src/modules/wisdom-in-stat-bar/settings/index.js var settings_default34; var init_settings35 = __esm({ "src/modules/wisdom-in-stat-bar/settings/index.js"() { settings_default34 = () => __async(void 0, null, function* () { return [{ id: "wisdom-in-stat-bar-auto-refresh", title: "Update automatically", default: true, description: "" }]; }); } }); // src/modules/wisdom-in-stat-bar/index.js var getWisdomSetting, saveWisdomSetting, getWisdom, getWisdomFormatted, addWisdomToStatBar, updateWisdom, addRefreshListener, useCachedWisdom, init74, wisdom_in_stat_bar_default; var init_wisdom_in_stat_bar = __esm({ "src/modules/wisdom-in-stat-bar/index.js"() { init_utils2(); init_settings35(); getWisdomSetting = (key) => __async(void 0, null, function* () { return yield cacheGet(`wisdom-stat-${key}`); }); saveWisdomSetting = (key, value) => { cacheSet(`wisdom-stat-${key}`, value); }; getWisdom = () => __async(void 0, null, function* () { var _a; let wisdom = 0; if (useCachedWisdom) { const cachedWisdom = yield getWisdomSetting("value"); if (cachedWisdom) { return cachedWisdom; } } wisdom = yield getUserItems(["wisdom_stat_item"], true); wisdom = ((_a = wisdom[0]) == null ? void 0 : _a.quantity) || 0; saveWisdomSetting("value", wisdom); saveWisdomSetting("last-updated", Date.now()); return wisdom; }); getWisdomFormatted = () => __async(void 0, null, function* () { const wisdom = yield getWisdom(); return wisdom.toLocaleString(); }); addWisdomToStatBar = (wisdom) => { const existingWisdom = document.querySelector(".mousehuntHud-userStat-row.wisdom .value.hud_wisdom"); if (existingWisdom) { existingWisdom.textContent = wisdom; if ("undefined" !== typeof blinkText) { blinkText(existingWisdom, "#59f659", "#fff", 0.7); } return; } const pointsRow = document.querySelector(".mousehuntHud-userStat-row.points"); if (!pointsRow) { return; } const wisdomRow = makeElement("div", ["mousehuntHud-userStat-row", "wisdom"]); makeElement("span", "label", "Wisdom", wisdomRow); makeElement("span", "value hud_wisdom", wisdom, wisdomRow); wisdomRow.setAttribute("title", "Click to refresh wisdom"); pointsRow.after(wisdomRow); }; updateWisdom = () => __async(void 0, null, function* () { const wisdom = yield getWisdomFormatted(); addWisdomToStatBar(wisdom); }); addRefreshListener = () => { const wisdomRow = document.querySelector(".mousehuntHud-userStat-row.wisdom"); if (!wisdomRow) { return; } wisdomRow.addEventListener("click", () => { const cachedWisdomSetting = useCachedWisdom; useCachedWisdom = false; updateWisdom(); useCachedWisdom = cachedWisdomSetting; }); }; useCachedWisdom = false; init74 = () => __async(void 0, null, function* () { if (getSetting("wisdom-in-stat-bar.auto-refresh", true)) { useCachedWisdom = false; onTurn(updateWisdom); } yield updateWisdom(); addRefreshListener(); onDeactivation(() => { const wisdomRow = document.querySelector(".mousehuntHud-userStat-row.wisdom"); if (wisdomRow) { wisdomRow.remove(); } }); }); wisdom_in_stat_bar_default = { id: "wisdom-in-stat-bar", name: "Wisdom in Stat Bar", type: "feature", default: false, description: "Show wisdom in the stat bar.", load: init74, settings: settings_default34 }; } }); // src/modules/user-highlighting/profile.css var profile_default2; var init_profile2 = __esm({ "src/modules/user-highlighting/profile.css"() { profile_default2 = '.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-mouseContainer,.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-container-arrow.right,.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-tabDot-container,.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-mouseLabel,.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-icon,.mh-improved-fancy-profile .journalContainer .top,.mh-improved-fancy-profile .journalContainer .bottom,.mh-improved-fancy-profile .trapImageView-tooltip-trapAura-expiry span{display:none}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-mouseContainer:first-child{display:inline-block}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-content-container{padding-top:10px;padding-bottom:10px}.mh-improved-fancy-profile .hunterInfoView-favoritesBlock-content-chunk:after{position:absolute;top:0;right:0;width:110px;font-size:13px;line-height:2;color:#772b0a;content:"glazy mouse best mouse"}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock .friendsPage-friendRow{background:linear-gradient(#b389a1 5%,#f0dfee 50%)!important;border-radius:6px}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-hunterId{color:#252525!important;background-color:#dcf7ff!important}.mh-improved-fancy-profile .hunterInfoView-wrapper div.messageBoardView-message-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsProfileView-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock .hunterInfoView-favoritesBlock-body,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContentContainer,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabContentContainer-padding,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-footer,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-footer-stats{background:#f0dfee!important;background-color:#f0dfee!important;border-color:#de72ba;box-shadow:none}.mh-improved-fancy-profile .hunterInfoView-wrapper div.messageBoardView-message-container{border:1px solid #de72ba}.mh-improved-fancy-profile .hunterInfoView-wrapper .messageBoardView-title,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-header,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader.active{background:linear-gradient(#dcf7ff 45%,#8af1ee 55%)}.mh-improved-fancy-profile .hunterInfoView-corkBoardBlock .messageBoardView-message,.mh-improved-fancy-profile .hunterInfoView-corkBoardBlock .messageBoardView-message.new{background:#f8eff6;border-color:#de72ba!important}.mh-dark-mode .mh-improved-fancy-profile .hunterInfoView-corkBoardBlock .messageBoardView-message{background:#513d4c}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .mousehuntPage-content textarea{background-color:#f8eff7;border-color:#de72ba}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container:before,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-horn-container,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats-huntingSince,.mh-improved-fancy-profile .hunterInfoView-wrapper .campPage-trap-trapStat,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot-quantity{background:#dcf7ff!important;border-color:#80b5b4!important}.mh-improved-fancy-profile .journalContainer .content{padding:0;margin:0;background:transparent!important}.mh-improved-fancy-profile .jlarge{overflow:hidden}.mh-improved-fancy-profile .journal .content .entry,.mh-improved-fancy-profile .journal .content .entry:last-child{background-color:#f0dfee;border-color:#de72ba}.mh-improved-fancy-profile .journal .content .entry.short.travel{background-color:#f2f2f2}.mh-improved-fancy-profile .friendsPage-friendRow-image-border{background-image:none}.mh-improved-fancy-profile .friendsPage-friendRow-image{inset:4px;border:1px solid #513645;border-radius:10px}.mh-improved-fancy-profile .friendsPage-friendRow .friendsPage-friendRow-titleBar{margin-bottom:10px;margin-left:-4px;background:linear-gradient(#dcf7ff 45%,#89f0ee 55%);border-color:#8af1ef}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-thumbnail-image{border-color:#de72ba;box-shadow:none}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title-container{top:1px;height:59px;border-top:none;border-bottom:1px solid #de72ba;border-radius:7px 50px 0 0}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-container{padding-top:1px;border:1px solid #de72ba}.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-name{margin-left:-25px}.mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-titleDetail{top:0;right:10px;left:unset;font-weight:900}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-teamInfo-container{height:37px}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock{z-index:0;height:220px}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-stats{padding:7px 0}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile.PageHunterProfile .friendsPage-friendRow-statsContainer,.mh-improved-fancy-profile .friendsPage-friendRow-statsContainer{color:#513645;background-color:#d2c0ec;border-top:1px solid #be9bbc;border-radius:0 0 6px 6px;box-shadow:none}.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock-goldenShield{filter:hue-rotate(148deg)}.mh-improved-fancy-profile .loyaltyBadgeView-years-text:before{content:"4"}.mh-improved-fancy-profile .loyaltyBadgeView .loyaltyBadgeView-years-text{top:6px;font-size:20px;color:#4b5554;text-shadow:0 0 0 #969696}.mh-improved-fancy-profile .loyaltyBadgeView{background-image:url(https://www.mousehuntgame.com/images/ui/profile/loyalty-badge-3-year.png);filter:hue-rotate(237deg)}.mh-improved-fancy-profile .userInteractionButtonsView-button{filter:hue-rotate(170deg) opacity(.6)}.mh-improved-fancy-profile .hunterInfoView-idCardBlock-stats-horn-image{filter:hue-rotate(250deg)}.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button,.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button:hover,.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button:focus,.mh-improved-fancy-profile .userInteractionButtonsView-relationship .userInteractionButtonsView-button:active{filter:none}.mh-improved-fancy-profile .userInteractionButtonsView-button:hover{filter:hue-rotate(220deg) opacity(1)}.mh-improved-fancy-profile .friendsProfileView-randomFriend{background-color:#c3f0ff}.mh-improved-fancy-profile .friendsProfileView-randomFriend:hover{background-color:#93c9db}.mh-improved-fancy-profile .campPage-trap-trapStat.luck .value span:after{content:"0"}.mh-improved-fancy-profile .trapImageView-tooltip-trapAura-expiry:after{content:"never! \\1f389\\fe0f infinite aura!"}.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:hover,.hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader:focus{background:linear-gradient(#dcf7ff 45%,#8adff1 55%)}.mh-improved-fancy-profile #friend-data-wrapper .userInteractionButtonsView-button,.mh-improved-fancy-profile #friend-data-wrapper .userInteractionButtonsView-button:hover{filter:none!important}.mh-improved-fancy-profile #friend-data-wrapper .friendsPage-friendRow-statsContainer{background-color:transparent;box-shadow:0 10px 30px #cdb495 inset}.mh-dark-mode .mh-improved-fancy-profile .hunterInfoView-wrapper .friendsPage-friendRow-titleBar-titleDetail{color:#8e5d8b}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .mousehuntTabHeader span,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-header,.mh-improved-fancy-profile .hunterInfoView-wrapper .messageBoardView-title,.mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock-header,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader,.mh-improved-fancy-profile .hunterInfoView-achievementsBlock .mousehuntTabHeaderContainer .mousehuntTabHeader.active{color:#615d5d!important;background:linear-gradient(#dcf7ff 45%,#8adff1 55%);border-color:#de72ba;border-radius:7px 7px 0 0;box-shadow:none}.pageFrameView #mousehuntContainer.PageHunterProfile.mh-improved-fancy-profile .campPage-trap-itemStats,.pageFrameView #mousehuntContainer.PageHunterProfile.mh-improved-fancy-profile .campPage-trap-itemStats .campPage-trap-trapStat .value,.pageFrameView #mousehuntContainer.PageHunterProfile.mh-improved-fancy-profile .campPage-trap-itemStats .campPage-trap-trapStat .value b,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .journalEntries,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .pagerView-container,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-items,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:before,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .mousehuntTabHeader:before,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .mousehuntTabHeader.active span,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabHeader:hover span{color:#615d5d;background-color:transparent}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-header-title,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound-label,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-treasureMaps-right-cluesFound,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .friendsProfileView-container,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-achievementsBlock .mousehuntTabContentContainer,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .friendsPage-friendRow{color:#615d5d}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-trap-slot.middle{top:-2px;overflow:hidden;border-color:#99448e;border-radius:9px;outline:1px solid #f0dfee;box-shadow:1px -1px 0 3px #f0dfee,-1px -1px 0 3px #f0dfee}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-items{padding:0;margin:0 10px;background-color:#f0dfee;border-radius:10px;box-shadow:0 -6px 0 1px #f0dfee,-23px 10px 0 -19px #f0dfee,27px 10px 0 -19px #f0dfee,0 -6px 0 2px #de72ba}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-trapBlock-setup-container{border-color:#de72ba}.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-idCardBlock,.PageHunterProfile .pageFrameView .mh-improved-fancy-profile .hunterInfoView-wrapper .hunterInfoView-favoritesBlock{border-color:#de72ba;box-shadow:none}\n'; } }); // src/modules/user-highlighting/styles.css var styles_default111; var init_styles112 = __esm({ "src/modules/user-highlighting/styles.css"() { styles_default111 = `.mh-improved-developer .hunterInfoView-verifiedUserImage,.mh-improved-contributor .hunterInfoView-verifiedUserImage,.mh-improved-supporter .hunterInfoView-verifiedUserImage{width:14.5px;height:17.5px;background:url(https://i.mouse.rip/mh-improved/tada-badge.png) no-repeat;background-size:contain}.mh-improved-supporter .hunterInfoView-verifiedUserImage{background:url(https://i.mouse.rip/mh-improved/star-badge.png) no-repeat;background-position-y:-1px;background-size:contain}.mh-improved-developer .friendsPage-friendRow-image:hover:after,.mh-improved-developer .friendsPage-friendRow-image:focus:after,.mh-improved-developer .friendsPage-friendRow-image:active:after,.mh-improved-contributor .friendsPage-friendRow-image:hover:after,.mh-improved-contributor .friendsPage-friendRow-image:focus:after,.mh-improved-contributor .friendsPage-friendRow-image:active:after,.mh-improved-supporter .friendsPage-friendRow-image:focus:after,.mh-improved-supporter .friendsPage-friendRow-image:hover:after,.mh-improved-supporter .friendsPage-friendRow-image:active:after{position:absolute;top:5px;left:5px;width:20px;height:20px;font-size:22px;color:#fff;content:"";background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><pathd="m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z"/></svg>');filter:drop-shadow(0 0 2px #000);background-repeat:no-repeat;background-size:contain} `; } }); // src/modules/user-highlighting/index.js var getUserHighlightingShield, highlightUsers, init75, user_highlighting_default; var init_user_highlighting = __esm({ "src/modules/user-highlighting/index.js"() { init_utils2(); init_profile2(); init_styles112(); getUserHighlightingShield = (type) => { let text = ""; switch (type) { case "developer": text = "MH Improved Developer"; break; case "contributor": text = "MH Improved Contributor"; break; case "supporter": text = "MH Improved Supporter"; break; } const wrapper = makeElement("div", ["blackTooltip", "mh-improved-user-shield"]); makeElement("div", "hunterInfoView-verifiedUserImage", null, wrapper); makeElement("span", "blackTooltiptext hunterInfoView-verifiedUser", text, wrapper); return wrapper; }; highlightUsers = () => __async(void 0, null, function* () { const existing = document.querySelectorAll(".mh-improved-user-shield"); if (existing) { existing.forEach((el) => { el.remove(); }); } const id = document.querySelector(".hunterInfoView-hunterId-idText span"); if (!id) { return; } const profilePage = document.querySelector("#mousehuntContainer.PageHunterProfile"); if (!profilePage) { return; } const idHeader = document.querySelector(".hunterInfoView-idCardBlock-secondaryHeader"); if (!idHeader) { return; } const userId = Number.parseInt(id.textContent, 10); let data = sessionGet(`mh-improved-user-highlighting-${userId}`); if (!data) { const userHighlighting = yield fetch(`https://api.mouse.rip/highlight-user/${userId}`); data = yield userHighlighting.json(); debug(`Retrieved user highlighting data for ${userId}`, data); sessionSet(`mh-improved-user-highlighting-${userId}`, data); } if (!data || !(data == null ? void 0 : data.highlighted)) { return; } const type = data.type; profilePage.classList.add("mh-improved-highlight-user", `mh-improved-${type}`); idHeader.append(getUserHighlightingShield(type)); if (8209591 === userId) { profilePage.classList.add("mh-improved-highlight-user", "mh-improved-fancy-profile"); } }); init75 = () => __async(void 0, null, function* () { addStyles([styles_default111, profile_default2], "highlight-users"); onNavigation(highlightUsers, { page: "hunterprofile" }); }); user_highlighting_default = { id: "highlight-users", type: "required", alwaysLoad: true, load: init75 }; } }); // src/modules/ultimate-checkmark/settings/index.js var settings_default35; var init_settings36 = __esm({ "src/modules/ultimate-checkmark/settings/index.js"() { init_utils2(); settings_default35 = () => __async(void 0, null, function* () { const options = []; const categories2 = yield getData("ultimate-checkmark"); categories2.sort((a, b) => { if (a.name < b.name) { return -1; } return 1; }); categories2.forEach((category) => { options.push({ id: category.id, name: category.name, value: getSetting(`ultimate-checkmark.show-${category.id}`, true) }); }); return [{ id: "ultimate-checkmark.show", title: "Ultimate Checkmark", default: [], description: "Adds more things collect on your Hunter profile.", settings: { type: "multi-toggle", options } }]; }); } }); // src/modules/ultimate-checkmark/styles.css var styles_default112; var init_styles113 = __esm({ "src/modules/ultimate-checkmark/styles.css"() { styles_default112 = ".hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=airships] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=currency] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=equipment] .hunterProfileItemsView-categoryContent-item.uncollected,.hunterProfileItemsView-categoryContent[data-category=plankrun] .hunterProfileItemsView-categoryContent-item.uncollected{filter:grayscale(100%)}.hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item-padding .itemImage{background-size:contain}\n"; } }); // src/modules/ultimate-checkmark/index.js var categories, getItems, getProgress, makeProgressString, makeCategory, makeItem2, makeContent, addCategoryAndItems, isOwnProfile, run3, init76, ultimate_checkmark_default; var init_ultimate_checkmark = __esm({ "src/modules/ultimate-checkmark/index.js"() { init_utils2(); init_settings36(); init_styles113(); getItems = (_0, _1, _2, ..._3) => __async(void 0, [_0, _1, _2, ..._3], function* (required, queryTab, queryTag, allItems = []) { var _a, _b; if (!allItems.length) { const cachedData = sessionGet("ultimate-checkmark") || "{}"; let inventoryData = ((_a = cachedData[queryTab]) == null ? void 0 : _a.data) || null; const lastCachedTime = ((_b = cachedData[queryTab]) == null ? void 0 : _b.time) || 0; if (!inventoryData || Date.now() - lastCachedTime > 5 * 60 * 1e3) { inventoryData = yield doRequest("managers/ajax/pages/page.php", { page_class: "Inventory", "page_arguments[legacyMode]": "", "page_arguments[tab]": queryTab, "page_arguments[sub_tab]": "false" }); cachedData[queryTab] = { data: inventoryData, time: Date.now() }; sessionSet("ultimate-checkmark", cachedData); } const specialTab = inventoryData.page.tabs.find((tab) => queryTab === tab.type); if (!specialTab || !specialTab.subtabs || !specialTab.subtabs.length || !specialTab.subtabs[0].tags) { return []; } const owned = specialTab.subtabs[0].tags.filter((tag) => queryTag === tag.type); if (!owned || !owned.length || !owned[0].items) { return []; } allItems = owned[0].items; } required.forEach((requiredItem) => { const ownedItem = allItems.find((i) => i.type === requiredItem.type); if (!ownedItem) { allItems.push(requiredItem); } }); allItems = allItems.map((item) => { const requiredItem = required.find((i) => i.type === item.type); return { item_id: item.item_id, type: item.type, name: item.name, thumbnail: item.thumbnail_gray || item.thumbnail, quantity: item.quantity || 0, quantity_formatted: item.quantity_formatted || "0", le: !requiredItem }; }); allItems.sort((a, b) => { if (a.name < b.name) { return -1; } if (a.name > b.name) { return 1; } return 0; }); return allItems; }); getProgress = (items2, required) => { let le = 0; let requiredCompleted = 0; items2.forEach((item) => { if (item.quantity <= 0) { return; } if (!item.le) { requiredCompleted++; } else if (item.le) { le++; } }); return { checkmark: required.total >= requiredCompleted, completed: requiredCompleted, required: required.length, le }; }; makeProgressString = (progress) => { const { completed, required, le } = progress; let text = `${completed} of ${required}`; if (le && le > 0) { text += ` (+${le} LE)`; } return text; }; makeCategory = (category, name, progress) => { const exists = document.querySelector(`.hunterProfileItemsView-category[data-category="${category}"]`); if (exists) { return; } const sidebar = document.querySelector(".hunterProfileItemsView-directory"); if (!sidebar) { return; } const catSidebarCategory = makeElement("a", "hunterProfileItemsView-category"); if (progress.completed === progress.required) { catSidebarCategory.classList.add("complete"); } catSidebarCategory.title = name; catSidebarCategory.href = "#"; catSidebarCategory.setAttribute("data-category", category); catSidebarCategory.addEventListener("click", () => { hg.views.HunterProfileItemsView.showCategory(category); return false; }); const catSidebarCategoryMargin = makeElement("div", "hunterProfileItemsView-category-margin"); makeElement("div", "hunterProfileItemsView-category-name", name, catSidebarCategoryMargin); makeElement("div", "hunterProfileItemsView-category-progress", makeProgressString(progress), catSidebarCategoryMargin); makeElement("div", "hunterProfileItemsView-category-status", "", catSidebarCategoryMargin); catSidebarCategory.append(catSidebarCategoryMargin); sidebar.append(catSidebarCategory); }; makeItem2 = (item) => { const { item_id, type, name, thumbnail, thumbnail_gray, quantity, quantity_formatted, le } = item; const itemDiv = makeElement("div", "hunterProfileItemsView-categoryContent-item"); if (quantity > 0) { itemDiv.classList.add("collected"); if (le) { itemDiv.classList.add("limited_edition"); } } else { itemDiv.classList.add("uncollected"); itemDiv.classList.add("hidden"); } itemDiv.setAttribute("data-id", item_id); itemDiv.setAttribute("data-type", type); const itemPadding = makeElement("div", "hunterProfileItemsView-categoryContent-item-padding"); itemPadding.addEventListener("click", () => { hg.views.ItemView.show(type); }); const itemImage = makeElement("div", "itemImage"); itemImage.style.backgroundImage = quantity > 0 && thumbnail_gray ? `url(${thumbnail_gray})` : `url(${thumbnail})`; if (quantity > 0) { makeElement("div", "quantity", quantity_formatted, itemImage); } const itemName = makeElement("div", "hunterProfileItemsView-categoryContent-item-name"); makeElement("span", "", name, itemName); itemPadding.append(itemImage); itemPadding.append(itemName); itemDiv.append(itemPadding); return itemDiv; }; makeContent = (id, name, items2, completed) => { const content = document.querySelector(".hunterProfileItemsView-content-padding"); if (!content) { return; } const exists = document.querySelector(`.hunterProfileItemsView-categoryContent[data-category="${id}"]`); if (exists) { return; } const categoryDiv = makeElement("div", "hunterProfileItemsView-categoryContent"); if (completed) { categoryDiv.classList.add("collected"); } categoryDiv.setAttribute("data-category", id); const nameDiv = makeElement("div", "hunterProfileItemsView-categoryContent-name", name); const itemsDiv = document.createElement("div"); items2.sort((a, b) => { if (a.name < b.name) { return -1; } if (a.name > b.name) { return 1; } return 0; }); items2.forEach((item) => { itemsDiv.append(makeItem2(item)); }); categoryDiv.append(nameDiv); categoryDiv.append(itemsDiv); content.append(categoryDiv); }; addCategoryAndItems = (required, type, subtype, key, name) => __async(void 0, null, function* () { const exists = document.querySelector(`.hunterProfileItemsView-category[data-category="${key}"]`); if (exists) { return; } const items2 = yield getItems(required, type, subtype); const progress = getProgress(items2, required); makeCategory(key, name, progress); makeContent(key, name, items2, progress.completed); return true; }); isOwnProfile = () => { var _a, _b; if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getQueryParams)) { return false; } const params = hg.utils.PageUtil.getQueryParams(); if (!params || !params.snuid) { return false; } return params.snuid === user.sn_user_id; }; run3 = () => __async(void 0, null, function* () { var _a, _b; if (!categories) { categories = yield getData("ultimate-checkmark"); } if (!("hunterprofile" === getCurrentPage() && "items" === getCurrentTab() && isOwnProfile())) { return; } if (!((_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.getQueryParams)) { return; } for (const category of categories) { if (!getSetting(`ultimate-checkmark.show-${category.id}`, true)) { continue; } yield addCategoryAndItems(category.items, category.type, category.subtype, category.key, category.name); } }); init76 = () => __async(void 0, null, function* () { addStyles(styles_default112, "ultimate-checkmark"); onNavigation(run3, { page: "hunterprofile", tab: "items" }); }); ultimate_checkmark_default = { id: "ultimate-checkmark", type: "feature", alwaysLoad: true, load: init76, settings: settings_default35 }; } }); // src/index.js var require_src = __commonJS({ "src/index.js"(exports) { init_esm3(); init_utils2(); init_adblock(); init_better_gifts(); init_better_kings_reward(); init_better_item_view(); init_better_inventory(); init_better_maps(); init_better_journal(); init_better_marketplace(); init_better_mice(); init_better_quests(); init_better_send_supplies(); init_better_shops(); init_better_travel(); init_better_tournaments(); init_better_ui(); init_catch_rate_estimate(); init_copy_id(); init_custom_background(); init_custom_css(); init_custom_horn(); init_custom_hud(); init_dark_mode(); init_custom_shield(); init_debug2(); init_data_exporters(); init_delayed_tooltips(); init_favorite_setups2(); init_error_reporting(); init_experiments(); init_flrt_helper(); init_fixes(); init_feature_flags(); init_global_styles(); init_hide_codices(); init_hide_daily_draw(); init_hide_daily_reward_popup(); init_hide_footer(); init_hide_news_ticker(); init_hide_share(); init_hide_sidebar(); init_hover_profiles(); init_image_upscaling(); init_inline_wiki(); init_inventory_only_open_multiple(); init_inventory_lock_and_hide(); init_inventory_open_all_but_one(); init_journal_privacy(); init_journal_changer(); init_keyboard_shortcuts(); init_larger_codices(); init_larger_skin_images(); init_lgs_reminder2(); init_legacy_hud(); init_links2(); init_location_catch_stats(); init_location_dashboard(); init_metric(); init_paste_hunter_id(); init_native_dark_mode(); init_location_huds(); init_printing_press_paper_counter(); init_prestige_base_stats(); init_quick_filters_and_sort(); init_quick_send_supplies(); init_required(); init_scoreboard_search_on_profiles(); init_settings33(); init_ssdb_toothlet_counter(); init_show_auras(); init_taller_windows(); init_tem_crowns(); init_update_migration(); init_tip_of_the_day(); init_update_notifications(); init_wisdom_in_stat_bar(); init_user_highlighting(); init_ultimate_checkmark(); var imported9 = [adblock_default, better_gifts_default, better_kings_reward_default, better_item_view_default, better_inventory_default, better_maps_default, better_journal_default, better_marketplace_default, better_mice_default, better_quests_default, better_send_supplies_default, better_shops_default, better_travel_default, better_tournaments_default, better_ui_default, catch_rate_estimate_default, copy_id_default, custom_background_default, custom_css_default, custom_horn_default, custom_hud_default, dark_mode_default, custom_shield_default, debug_default, data_exporters_default, delayed_tooltips_default, favorite_setups_default2, error_reporting_default, experiments_default, flrt_helper_default, fixes_default, feature_flags_default, global_styles_default, hide_codices_default, hide_daily_draw_default, hide_daily_reward_popup_default, hide_footer_default, hide_news_ticker_default, hide_share_default, hide_sidebar_default, hover_profiles_default, image_upscaling_default, inline_wiki_default, inventory_only_open_multiple_default, inventory_lock_and_hide_default, inventory_open_all_but_one_default, journal_privacy_default, journal_changer_default, keyboard_shortcuts_default, larger_codices_default, larger_skin_images_default, lgs_reminder_default2, legacy_hud_default, links_default, location_catch_stats_default, location_dashboard_default, metric_default, paste_hunter_id_default, native_dark_mode_default, location_huds_default, printing_press_paper_counter_default, prestige_base_stats_default, quick_filters_and_sort_default, quick_send_supplies_default, required_default, scoreboard_search_on_profiles_default, settings_default32, ssdb_toothlet_counter_default, show_auras_default, taller_windows_default, tem_crowns_default, update_migration_default, tip_of_the_day_default, update_notifications_default, wisdom_in_stat_bar_default, user_highlighting_default, ultimate_checkmark_default]; var modules = imported9; var loadModules = () => __async(exports, null, function* () { const categories2 = [ { id: "required", name: "Always Loaded" }, { id: "better", name: `MouseHunt Improved <a class="version">v${mhImprovedVersion}</a>` }, { id: "feature", name: "Features" }, { id: "design", name: "Design" }, { id: "element-hiding", name: "Hide Page Elements" }, { id: "location-hud", name: "Location HUDs" }, { id: "advanced", name: "Advanced" }, { id: "beta", name: "Beta Features" } ]; if (getGlobal("loaded")) { debug("Already loaded, exiting."); return; } yield addSettingsTab("mousehunt-improved-settings", "MH Improved"); modules.forEach((m) => { const category = categories2.find((c) => c.id === m.type); if (!category) { debug(`Unknown module category: ${m.type}`); return; } if (!category.modules) { category.modules = []; } category.modules.push(m); }); for (const category of categories2) { category.modules.sort((a, b) => { a.order = a.order || 1; b.order = b.order || 1; if (a.order !== b.order) { return a.order - b.order; } return (a.name || a.id).localeCompare(b.name || b.id); }); } for (const module2 of categories2) { yield addSettingForModule(module2); doEvent2("mh-improved-settings-added", { module: module2 }); } const load = []; const allLoadedModules = []; for (const category of categories2) { const loadedModules = []; for (const module2 of category.modules) { if (getFlag(`no-${module2.id}`)) { continue; } if (module2.alwaysLoad || "required" === category.id || getSetting(module2.id, module2.default)) { try { load.push(module2.load()); loadedModules.push(module2.id); } catch (error) { debug(`Error loading "${module2.id}"`, error); throw error; } } } allLoadedModules.push(...loadedModules); debuglog("module-loading", `Loaded ${category.modules.length} ${category.id} modules`, loadedModules); } try { yield Promise.all(load); } catch (error) { if (getSetting("error-reporting", true)) { captureException(error); } throw error; } setGlobal("modules", allLoadedModules); doEvent2("mh-improved-modules-loaded"); }); var init77 = () => __async(exports, null, function* () { if (isUnsupportedFile()) { debug("Skipping unsupported filetype."); return; } if (isiFrame()) { debug("Loading inside an iframe is not supported."); return; } if (!isApp()) { maybeDoMaintenance(); debug("Global MouseHunt functions not found."); return; } if (!eventRegistry) { debug("Event registry not found."); return; } try { yield loadModules(); } catch (error) { showLoadingError(error); } finally { setGlobal("version", mhImprovedVersion); setGlobal("loaded", true); console.log( `%c\u{1F42D}\uFE0F MouseHunt Improved v${mhImprovedVersion}-${mhImprovedPlatform} has been loaded. Happy Hunting!%c`, "color: #ca77ff; font-weight: 900; font-size: 1.1em", "color: inherit; font-weight: inherit; font-size: inherit" ); doEvent2("mh-improved-loaded", { version: mhImprovedVersion, modules: getGlobal("modules") }); } doEvent2("mh-improved-init"); }); init77(); } }); return require_src(); })();