mousehunt-improved 0.99.5 → 0.99.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- const mhImprovedVersion = '0.99.5';
1
+ const mhImprovedVersion = '0.99.7';
2
2
  const mhImprovedPlatform = 'userscript';
3
3
  var mhui = (() => {
4
4
  var __create = Object.create;
@@ -1980,11 +1980,11 @@ var mhui = (() => {
1980
1980
  baits: opts.baits || [],
1981
1981
  loots: opts.loots || []
1982
1982
  };
1983
- const catches = {};
1983
+ const catches2 = {};
1984
1984
  const baits = {};
1985
1985
  const loots = {};
1986
1986
  progress.catches.forEach((mouse) => {
1987
- catches["".concat(mouse.environment, "_").concat(mouse.id)] = mouse.caught;
1987
+ catches2["".concat(mouse.environment, "_").concat(mouse.id)] = mouse.caught;
1988
1988
  });
1989
1989
  progress.baits.forEach((bait) => {
1990
1990
  baits["".concat(bait.id, "_bu")] = bait.used || bait.catches + bait.fta + bait.ftc;
@@ -1997,7 +1997,7 @@ var mhui = (() => {
1997
1997
  progress.loots.forEach((loot) => {
1998
1998
  loots[loot.id] = loot.quantity;
1999
1999
  });
2000
- return '<a href="#" onclick="app.views.HeadsUpDisplayView.hud.showLogSummary(\''.concat(progress.time, "', ").concat(toEscapedJSON(catches), ", ").concat(toEscapedJSON(baits), ", ").concat(toEscapedJSON(loots), '); return false;" class="mh-ui-progress-log-link mousehuntActionButton small lightBlue"><span>').concat(opts.text || "View Progress Log", "</span></a>");
2000
+ return '<a href="#" onclick="app.views.HeadsUpDisplayView.hud.showLogSummary(\''.concat(progress.time, "', ").concat(toEscapedJSON(catches2), ", ").concat(toEscapedJSON(baits), ", ").concat(toEscapedJSON(loots), '); return false;" class="mh-ui-progress-log-link mousehuntActionButton small lightBlue"><span>').concat(opts.text || "View Progress Log", "</span></a>");
2001
2001
  };
2002
2002
  waitForElement = (_0, ..._1) => __async(null, [_0, ..._1], function* (selector, { single = true, maxAttempts = 10, delay = 300 } = {}) {
2003
2003
  for (let attempts = 0; attempts < maxAttempts; attempts++) {
@@ -3779,7 +3779,7 @@ var mhui = (() => {
3779
3779
  }
3780
3780
  return match[1];
3781
3781
  };
3782
- createHoverCard = ({ wrapperId, hrefParam, fetchData: fetchData2, render, loadingText = "Loading...", delay = 500 }) => {
3782
+ createHoverCard = ({ wrapperId, hrefParam, fetchData: fetchData2, render: render2, loadingText = "Loading...", delay = 500 }) => {
3783
3783
  let wrapper;
3784
3784
  const listeners = /* @__PURE__ */ new Map();
3785
3785
  const showLoading = (e) => {
@@ -3830,7 +3830,7 @@ var mhui = (() => {
3830
3830
  }
3831
3831
  const data = yield fetchData2(type);
3832
3832
  if (data && wrapper && isMouseOver) {
3833
- const markup = render(data);
3833
+ const markup = render2(data);
3834
3834
  if (markup) {
3835
3835
  wrapper.innerHTML = markup.outerHTML;
3836
3836
  }
@@ -4408,11 +4408,333 @@ var mhui = (() => {
4408
4408
  }
4409
4409
  });
4410
4410
 
4411
+ // src/utils/utils.js
4412
+ function isAppleOS(_window = null) {
4413
+ if (!_window) {
4414
+ if (typeof window === "undefined") {
4415
+ return false;
4416
+ }
4417
+ _window = window;
4418
+ }
4419
+ const { platform } = _window.navigator;
4420
+ return platform.includes("Mac") || ["iPad", "iPhone"].includes(platform);
4421
+ }
4422
+ function isVersionHigher(version1, version2) {
4423
+ const version1Parts = version1.split(".").map(Number);
4424
+ const version2Parts = version2.split(".").map(Number);
4425
+ for (const [i, version1Part] of version1Parts.entries()) {
4426
+ if (version1Part > version2Parts[i]) {
4427
+ return true;
4428
+ } else if (version1Part < version2Parts[i]) {
4429
+ return false;
4430
+ }
4431
+ }
4432
+ return false;
4433
+ }
4434
+ var isApp, isUnsupportedFile, isiFrame, isLegacyHUD, isLoggedIn, isDarkMode, isMHCT, isOverlayVisible, bodyClasses, addBodyClass, removeBodyClass, removeBodyClassByPrefix, getTradableItems, requests, lastRequest, doRequest, sleep, hasMiniCRE, uppercaseFirstLetter, parseNumber, parseGold, formatNumber, formatGold, abbreviateNumber, clamp, setMultipleTimeout, refreshPage, debounce, unpluralizeMap, unpluralizeRules, unpluralize;
4435
+ var init_utils = __esm({
4436
+ "src/utils/utils.js"() {
4437
+ init_data();
4438
+ init_events();
4439
+ init_debug();
4440
+ init_page_current();
4441
+ init_flags();
4442
+ isApp = () => {
4443
+ return typeof app !== "undefined" && typeof user !== "undefined" && typeof hg !== "undefined" && typeof eventRegistry !== "undefined";
4444
+ };
4445
+ isUnsupportedFile = (path = false) => {
4446
+ path = path || window.location.pathname;
4447
+ if ("puzzleimage.php" === path) {
4448
+ return true;
4449
+ }
4450
+ return /\.(jpeg|jpg|gif|png|svg|json|css|js)$/i.test(path);
4451
+ };
4452
+ isiFrame = () => {
4453
+ return window.self !== window.top;
4454
+ };
4455
+ isLegacyHUD = () => {
4456
+ var _a, _b, _c;
4457
+ return getFlag("legacy-hud") || ((_c = (_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.isLegacy) == null ? void 0 : _c.call(_b));
4458
+ };
4459
+ isLoggedIn = () => {
4460
+ return user && user.user_id && "login" !== getCurrentPage();
4461
+ };
4462
+ isDarkMode = () => {
4463
+ return !!getComputedStyle(document.documentElement).getPropertyValue("--mhdm-white");
4464
+ };
4465
+ isMHCT = () => {
4466
+ return !!document.querySelector("#mhhh_version");
4467
+ };
4468
+ isOverlayVisible = () => {
4469
+ return typeof activejsDialog !== "undefined" && (activejsDialog == null ? void 0 : activejsDialog.isVisible());
4470
+ };
4471
+ bodyClasses = { added: [], removed: [] };
4472
+ addBodyClass = (className, force = false) => {
4473
+ const alreadyAdded = bodyClasses.added.includes(className);
4474
+ const alreadyRemoved = bodyClasses.removed.includes(className);
4475
+ if (alreadyRemoved || alreadyAdded) {
4476
+ if (force) {
4477
+ if (!alreadyAdded) {
4478
+ bodyClasses.added.push(className);
4479
+ }
4480
+ document.body.classList.add(className);
4481
+ }
4482
+ return;
4483
+ }
4484
+ bodyClasses.added.push(className);
4485
+ const addClass2 = () => {
4486
+ document.body.classList.add(className);
4487
+ };
4488
+ addClass2();
4489
+ onNavigation(addClass2);
4490
+ onTravel(null, {
4491
+ /**
4492
+ * Callback to add the class after travel.
4493
+ */
4494
+ callback: () => {
4495
+ setTimeout(addClass2, 500);
4496
+ }
4497
+ });
4498
+ };
4499
+ removeBodyClass = (className) => {
4500
+ bodyClasses.added = bodyClasses.added.filter((c) => c !== className);
4501
+ bodyClasses.removed.push(className);
4502
+ document.body.classList.remove(className);
4503
+ };
4504
+ removeBodyClassByPrefix = (prefix) => {
4505
+ bodyClasses.added = bodyClasses.added.filter((c) => !c.startsWith(prefix));
4506
+ bodyClasses.removed.push(prefix);
4507
+ [...document.body.classList].forEach((className) => {
4508
+ if (className.startsWith(prefix)) {
4509
+ document.body.classList.remove(className);
4510
+ }
4511
+ });
4512
+ };
4513
+ getTradableItems = (valueKey = "all") => __async(null, null, function* () {
4514
+ const tradableItems = yield getData("items-tradable");
4515
+ if (!tradableItems) {
4516
+ return [];
4517
+ }
4518
+ tradableItems.sort((a, b) => a.name.localeCompare(b.name));
4519
+ if ("all" === valueKey) {
4520
+ return tradableItems;
4521
+ }
4522
+ return tradableItems.map((item) => ({
4523
+ name: item.name,
4524
+ value: item[valueKey]
4525
+ }));
4526
+ });
4527
+ requests = {};
4528
+ lastRequest = 0;
4529
+ doRequest = (_0, ..._1) => __async(null, [_0, ..._1], function* (url, formData = {}, skipChecks = false, skipOpts = {}) {
4530
+ var _a;
4531
+ if (getFlag("disable-requests")) {
4532
+ return;
4533
+ }
4534
+ if (!isLoggedIn()) {
4535
+ return;
4536
+ }
4537
+ if ("undefined" === typeof lastReadJournalEntryId || "undefined" === typeof user) {
4538
+ return;
4539
+ }
4540
+ if (!lastReadJournalEntryId || !user || !(user == null ? void 0 : user.unique_hash)) {
4541
+ return;
4542
+ }
4543
+ const now = Date.now();
4544
+ if (now - lastRequest < 100) {
4545
+ yield sleep(100 - (now - lastRequest));
4546
+ lastRequest = Date.now();
4547
+ }
4548
+ const requestKey = Object.keys(formData).length ? "".concat(url, "-").concat(JSON.stringify(formData)) : url;
4549
+ const timeRequested = Date.now();
4550
+ debuglog("utils-data", "Making request: ".concat(requestKey, " at ").concat(timeRequested));
4551
+ if (requests[requestKey] && !skipChecks) {
4552
+ debuglog("utils-data", "Request already in progress: ".concat(requestKey));
4553
+ if (requests[requestKey].in_progress) {
4554
+ return new Promise((resolve) => {
4555
+ const timeout = setTimeout(() => __async(null, null, function* () {
4556
+ debuglog("utils-data", "Request timed out: ".concat(requestKey, ", starting new request"));
4557
+ clearInterval(interval);
4558
+ const newRequest = yield doRequest(url, formData, true);
4559
+ resolve(newRequest);
4560
+ }), 2500);
4561
+ const interval = setInterval(() => {
4562
+ debuglog("utils-data", "Checking if request is complete: ".concat(requestKey));
4563
+ if (!requests[requestKey].in_progress) {
4564
+ debuglog("utils-data", "Returning saved response: ".concat(requestKey));
4565
+ clearInterval(interval);
4566
+ clearTimeout(timeout);
4567
+ resolve(requests[requestKey].response);
4568
+ }
4569
+ }, 100);
4570
+ });
4571
+ } else if (requests[requestKey].time_requested > timeRequested - 350) {
4572
+ debuglog("utils-data", "Request already completed: ".concat(requestKey));
4573
+ return requests[requestKey].response;
4574
+ }
4575
+ }
4576
+ debuglog("utils-data", "Starting request: ".concat(requestKey));
4577
+ requests[requestKey] = {
4578
+ in_progress: true,
4579
+ time_requested: timeRequested
4580
+ };
4581
+ const form = new FormData();
4582
+ if (!skipOpts.skipSn && !skipOpts.skipAll) {
4583
+ form.append("sn", "Hitgrab");
4584
+ }
4585
+ if (!skipOpts.skipHgIsAjax && !skipOpts.skipAll) {
4586
+ form.append("hg_is_ajax", 1);
4587
+ }
4588
+ if (!skipOpts.skipLastReadJournalEntryId && !skipOpts.skipAll) {
4589
+ form.append("last_read_journal_entry_id", lastReadJournalEntryId != null ? lastReadJournalEntryId : 0);
4590
+ }
4591
+ if (!skipOpts.skipUh && !skipOpts.skipAll) {
4592
+ form.append("uh", (_a = user == null ? void 0 : user.unique_hash) != null ? _a : "");
4593
+ }
4594
+ Object.keys(formData).forEach((key) => form.append(key, formData[key]));
4595
+ const requestBody = new URLSearchParams(form).toString();
4596
+ let response;
4597
+ try {
4598
+ response = yield fetch(callbackurl ? "".concat(callbackurl).concat(url) : "https://www.mousehuntgame.com/".concat(url), {
4599
+ method: "POST",
4600
+ body: requestBody,
4601
+ headers: {
4602
+ "Content-Type": "application/x-www-form-urlencoded",
4603
+ "X-Requested-By": "MouseHunt-Improved/".concat(mhImprovedVersion)
4604
+ }
4605
+ });
4606
+ } catch (error2) {
4607
+ console.error("Error fetching ".concat(url, ":"), error2);
4608
+ return false;
4609
+ }
4610
+ let data;
4611
+ try {
4612
+ data = yield skipOpts.skipJson ? response.text() : response.json();
4613
+ } catch (error2) {
4614
+ console.error("Error parsing response for ".concat(url, ":"), error2, url, formData, response);
4615
+ return false;
4616
+ }
4617
+ requests[requestKey] = {
4618
+ time_requested: timeRequested,
4619
+ response: data
4620
+ };
4621
+ return data;
4622
+ });
4623
+ sleep = (ms, elapsed = 0) => __async(null, null, function* () {
4624
+ return new Promise((resolve) => setTimeout(resolve, ms - elapsed));
4625
+ });
4626
+ hasMiniCRE = () => {
4627
+ if (sessionGet("has-mini-cre")) {
4628
+ return true;
4629
+ }
4630
+ if ("camp" !== getCurrentPage()) {
4631
+ return;
4632
+ }
4633
+ const cre = document.querySelector(".min-luck-button");
4634
+ sessionSet("has-mini-cre", !!cre);
4635
+ return !!cre;
4636
+ };
4637
+ uppercaseFirstLetter = (string) => {
4638
+ string = string.length ? string : " ";
4639
+ return string.charAt(0).toUpperCase() + string.slice(1);
4640
+ };
4641
+ parseNumber = (text) => {
4642
+ if (text === null || text === void 0 || "" === text) {
4643
+ return 0;
4644
+ }
4645
+ const value = Number.parseInt(String(text).replaceAll(",", ""), 10);
4646
+ return Number.isNaN(value) ? 0 : value;
4647
+ };
4648
+ parseGold = (text) => {
4649
+ if (!text) {
4650
+ return 0;
4651
+ }
4652
+ const value = Number.parseInt(String(text).split("Gold")[0].replaceAll(",", "").trim(), 10);
4653
+ return Number.isNaN(value) ? 0 : value;
4654
+ };
4655
+ formatNumber = (value) => {
4656
+ return Number(value || 0).toLocaleString();
4657
+ };
4658
+ formatGold = (value) => {
4659
+ return "".concat(formatNumber(value), " gold");
4660
+ };
4661
+ abbreviateNumber = (num, decimals = 1) => {
4662
+ if (num >= 1e6) {
4663
+ return "".concat(Number((num / 1e6).toFixed(decimals)), "m");
4664
+ }
4665
+ if (num >= 1e3) {
4666
+ return "".concat(Number((num / 1e3).toFixed(decimals)), "k");
4667
+ }
4668
+ return String(num);
4669
+ };
4670
+ clamp = (value, min, max) => {
4671
+ return Math.max(min, Math.min(max, value));
4672
+ };
4673
+ setMultipleTimeout = (fn, ms) => {
4674
+ (Array.isArray(ms) ? ms : [ms]).forEach((time) => setTimeout(fn, time));
4675
+ };
4676
+ refreshPage = (delay = 0) => {
4677
+ setTimeout(window.location.reload, delay);
4678
+ };
4679
+ debounce = (func, delay = 100) => {
4680
+ let timeout;
4681
+ return (...args) => {
4682
+ clearTimeout(timeout);
4683
+ timeout = setTimeout(() => func(...args), delay);
4684
+ };
4685
+ };
4686
+ unpluralizeMap = {
4687
+ batteries: "battery",
4688
+ boxes: "box",
4689
+ branches: "branch",
4690
+ cacti: "cactus",
4691
+ candies: "candy",
4692
+ catches: "catch",
4693
+ children: "child",
4694
+ flies: "fly",
4695
+ fungi: "fungus",
4696
+ geese: "goose",
4697
+ leaves: "leaf",
4698
+ mice: "mouse",
4699
+ patches: "patch",
4700
+ pennies: "penny",
4701
+ pinches: "pinch",
4702
+ statuses: "status",
4703
+ stories: "story",
4704
+ "SUPER|tokens+": "super|token+",
4705
+ trenches: "trench",
4706
+ pearls: "pearl"
4707
+ };
4708
+ unpluralizeRules = Object.entries(unpluralizeMap).map(([plural, singular]) => ({
4709
+ // Escape the plural so names like "SUPER|tokens+" match literally instead
4710
+ // of being read as regex alternation/quantifiers.
4711
+ regex: new RegExp(plural.replaceAll(/[$()*+.?[\\\]^{|}]/g, "\\$&"), "gi"),
4712
+ singular
4713
+ }));
4714
+ unpluralize = (text) => {
4715
+ let result = text;
4716
+ for (const { regex, singular } of unpluralizeRules) {
4717
+ result = result.replace(regex, (match) => {
4718
+ if (match === match.toUpperCase()) {
4719
+ return singular.toUpperCase();
4720
+ }
4721
+ if (match[0] === match[0].toUpperCase()) {
4722
+ return singular.charAt(0).toUpperCase() + singular.slice(1);
4723
+ }
4724
+ return singular;
4725
+ });
4726
+ }
4727
+ return result;
4728
+ };
4729
+ }
4730
+ });
4731
+
4411
4732
  // src/utils/maps.js
4412
4733
  var mapper, mapData, mapModel, getMapData, setMapData, setExtraMapData, getLastMaptain, setLastMaptain, cacheFinishedMap, showTravelConfirmation, showTravelConfirmationForMice, showTravelConfirmationNoDetails, addMHCTData, getArEl, getHighestArText, inflightArRequests, fetchArForMouse, getArForMouse, getArText, getHighestArForMouse, getLocationsForMouse, getLocationForMouse, _showMapPreviewDialog, replaceShowMapPreviewDialog, _hideDialog, replaceShowMapPreviewDialogClose, addMapPreviewListeners;
4413
4734
  var init_maps = __esm({
4414
4735
  "src/utils/maps.js"() {
4415
4736
  init_data();
4737
+ init_utils();
4416
4738
  init_event_registry();
4417
4739
  init_location_current();
4418
4740
  init_global();
@@ -4487,22 +4809,38 @@ var mhui = (() => {
4487
4809
  }
4488
4810
  });
4489
4811
  getLastMaptain = () => __async(null, null, function* () {
4490
- return (yield cacheGet("map-last-maptain")) || "";
4812
+ return (yield cacheGetNoExpiration("map-last-maptain")) || "";
4491
4813
  });
4492
4814
  setLastMaptain = (id) => {
4493
- cacheSet("map-last-maptain", id);
4815
+ cacheSetNoExpiration("map-last-maptain", id);
4494
4816
  };
4495
4817
  cacheFinishedMap = () => __async(null, null, function* () {
4496
- const completedMap = user.quests.QuestRelicHunter.maps.find((map) => map.is_complete);
4818
+ var _a, _b, _c, _d, _e, _f;
4819
+ const completedMap = (_c = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestRelicHunter) == null ? void 0 : _b.maps) == null ? void 0 : _c.find((map) => map.is_complete);
4497
4820
  if (!(completedMap == null ? void 0 : completedMap.map_id)) {
4498
4821
  return;
4499
4822
  }
4500
- const data = yield getMapData(completedMap.map_id);
4501
- if (!data) {
4823
+ const savedForMap = yield cacheGetNoExpiration("map-last-maptain-map-id");
4824
+ if ("".concat(savedForMap) === "".concat(completedMap.map_id)) {
4825
+ return;
4826
+ }
4827
+ let data = yield getMapData(completedMap.map_id, true);
4828
+ if (!((_d = data == null ? void 0 : data.hunters) == null ? void 0 : _d.length)) {
4829
+ const response = yield doRequest("managers/ajax/users/treasuremap_v2.php", {
4830
+ action: "map_info",
4831
+ map_id: completedMap.map_id
4832
+ });
4833
+ if ((_e = response == null ? void 0 : response.treasure_map) == null ? void 0 : _e.hunters) {
4834
+ data = response.treasure_map;
4835
+ yield setMapData(data.map_id, data);
4836
+ }
4837
+ }
4838
+ const maptain = (_f = data == null ? void 0 : data.hunters) == null ? void 0 : _f.find((hunter) => hunter.captain);
4839
+ if (!(maptain == null ? void 0 : maptain.user_id)) {
4502
4840
  return;
4503
4841
  }
4504
- const maptain = data.hunters.find((hunter) => hunter.captain);
4505
- setLastMaptain(maptain.user_id || "");
4842
+ setLastMaptain(maptain.user_id);
4843
+ yield cacheSetNoExpiration("map-last-maptain-map-id", completedMap.map_id);
4506
4844
  });
4507
4845
  showTravelConfirmation = (environment, theMapModel) => {
4508
4846
  if (!(environment == null ? void 0 : environment.id) || !(environment == null ? void 0 : environment.type)) {
@@ -5157,7 +5495,7 @@ var mhui = (() => {
5157
5495
  });
5158
5496
 
5159
5497
  // src/utils/onboarding.js
5160
- var hasSeenOnboardingStep, saveOnboardingStep, hasAddedOnboardingStep, addOnboardingMessage, TIP_ARROW_INSET, TIP_ARROW_SIZE, TIP_EDGE_MARGIN, TIP_INTERVAL, TIP_MAX_SHOWS, TIP_LAST_SHOWN_SETTING, clamp, isTipPreview, canShowOnboardingTip, saveOnboardingTipShown, addOnboardingTip;
5498
+ var hasSeenOnboardingStep, saveOnboardingStep, hasAddedOnboardingStep, addOnboardingMessage, TIP_ARROW_INSET, TIP_ARROW_SIZE, TIP_EDGE_MARGIN, TIP_INTERVAL, TIP_MAX_SHOWS, TIP_LAST_SHOWN_SETTING, clamp2, isTipPreview, canShowOnboardingTip, saveOnboardingTipShown, addOnboardingTip;
5161
5499
  var init_onboarding = __esm({
5162
5500
  "src/utils/onboarding.js"() {
5163
5501
  init_settings();
@@ -5224,7 +5562,7 @@ var mhui = (() => {
5224
5562
  TIP_INTERVAL = 24 * 60 * 60 * 1e3;
5225
5563
  TIP_MAX_SHOWS = 3;
5226
5564
  TIP_LAST_SHOWN_SETTING = "onboarding.tip-last-shown";
5227
- clamp = (value, min, max) => {
5565
+ clamp2 = (value, min, max) => {
5228
5566
  return Math.min(Math.max(value, min), max);
5229
5567
  };
5230
5568
  isTipPreview = () => {
@@ -5273,11 +5611,11 @@ var mhui = (() => {
5273
5611
  const anchorRect = anchorEl.getBoundingClientRect();
5274
5612
  const tipRect = tip.getBoundingClientRect();
5275
5613
  const anchorCenter = anchorRect.left + anchorRect.width / 2;
5276
- const left = clamp(anchorCenter - tipRect.width / 2, TIP_EDGE_MARGIN, Math.max(TIP_EDGE_MARGIN, document.documentElement.clientWidth - tipRect.width - TIP_EDGE_MARGIN));
5614
+ const left = clamp2(anchorCenter - tipRect.width / 2, TIP_EDGE_MARGIN, Math.max(TIP_EDGE_MARGIN, document.documentElement.clientWidth - tipRect.width - TIP_EDGE_MARGIN));
5277
5615
  const top = isAbove ? anchorRect.top - tipRect.height - TIP_ARROW_SIZE : anchorRect.bottom + TIP_ARROW_SIZE;
5278
5616
  tip.style.left = "".concat(left + window.scrollX, "px");
5279
5617
  tip.style.top = "".concat(top + window.scrollY, "px");
5280
- tip.style.setProperty("--mh-improved-tip-arrow", "".concat(clamp(anchorCenter - left, TIP_ARROW_INSET, tipRect.width - TIP_ARROW_INSET), "px"));
5618
+ tip.style.setProperty("--mh-improved-tip-arrow", "".concat(clamp2(anchorCenter - left, TIP_ARROW_INSET, tipRect.width - TIP_ARROW_INSET), "px"));
5281
5619
  };
5282
5620
  const remove = () => {
5283
5621
  window.removeEventListener("resize", reposition2);
@@ -5316,327 +5654,6 @@ var mhui = (() => {
5316
5654
  }
5317
5655
  });
5318
5656
 
5319
- // src/utils/utils.js
5320
- function isAppleOS(_window = null) {
5321
- if (!_window) {
5322
- if (typeof window === "undefined") {
5323
- return false;
5324
- }
5325
- _window = window;
5326
- }
5327
- const { platform } = _window.navigator;
5328
- return platform.includes("Mac") || ["iPad", "iPhone"].includes(platform);
5329
- }
5330
- function isVersionHigher(version1, version2) {
5331
- const version1Parts = version1.split(".").map(Number);
5332
- const version2Parts = version2.split(".").map(Number);
5333
- for (const [i, version1Part] of version1Parts.entries()) {
5334
- if (version1Part > version2Parts[i]) {
5335
- return true;
5336
- } else if (version1Part < version2Parts[i]) {
5337
- return false;
5338
- }
5339
- }
5340
- return false;
5341
- }
5342
- var isApp, isUnsupportedFile, isiFrame, isLegacyHUD, isLoggedIn, isDarkMode, isMHCT, isOverlayVisible, bodyClasses, addBodyClass, removeBodyClass, removeBodyClassByPrefix, getTradableItems, requests, lastRequest, doRequest, sleep, hasMiniCRE, uppercaseFirstLetter, parseNumber, parseGold, formatNumber, formatGold, abbreviateNumber, clamp2, setMultipleTimeout, refreshPage, debounce, unpluralizeMap, unpluralizeRules, unpluralize;
5343
- var init_utils = __esm({
5344
- "src/utils/utils.js"() {
5345
- init_data();
5346
- init_events();
5347
- init_debug();
5348
- init_page_current();
5349
- init_flags();
5350
- isApp = () => {
5351
- return typeof app !== "undefined" && typeof user !== "undefined" && typeof hg !== "undefined" && typeof eventRegistry !== "undefined";
5352
- };
5353
- isUnsupportedFile = (path = false) => {
5354
- path = path || window.location.pathname;
5355
- if ("puzzleimage.php" === path) {
5356
- return true;
5357
- }
5358
- return /\.(jpeg|jpg|gif|png|svg|json|css|js)$/i.test(path);
5359
- };
5360
- isiFrame = () => {
5361
- return window.self !== window.top;
5362
- };
5363
- isLegacyHUD = () => {
5364
- var _a, _b, _c;
5365
- return getFlag("legacy-hud") || ((_c = (_b = (_a = hg == null ? void 0 : hg.utils) == null ? void 0 : _a.PageUtil) == null ? void 0 : _b.isLegacy) == null ? void 0 : _c.call(_b));
5366
- };
5367
- isLoggedIn = () => {
5368
- return user && user.user_id && "login" !== getCurrentPage();
5369
- };
5370
- isDarkMode = () => {
5371
- return !!getComputedStyle(document.documentElement).getPropertyValue("--mhdm-white");
5372
- };
5373
- isMHCT = () => {
5374
- return !!document.querySelector("#mhhh_version");
5375
- };
5376
- isOverlayVisible = () => {
5377
- return typeof activejsDialog !== "undefined" && (activejsDialog == null ? void 0 : activejsDialog.isVisible());
5378
- };
5379
- bodyClasses = { added: [], removed: [] };
5380
- addBodyClass = (className, force = false) => {
5381
- const alreadyAdded = bodyClasses.added.includes(className);
5382
- const alreadyRemoved = bodyClasses.removed.includes(className);
5383
- if (alreadyRemoved || alreadyAdded) {
5384
- if (force) {
5385
- if (!alreadyAdded) {
5386
- bodyClasses.added.push(className);
5387
- }
5388
- document.body.classList.add(className);
5389
- }
5390
- return;
5391
- }
5392
- bodyClasses.added.push(className);
5393
- const addClass2 = () => {
5394
- document.body.classList.add(className);
5395
- };
5396
- addClass2();
5397
- onNavigation(addClass2);
5398
- onTravel(null, {
5399
- /**
5400
- * Callback to add the class after travel.
5401
- */
5402
- callback: () => {
5403
- setTimeout(addClass2, 500);
5404
- }
5405
- });
5406
- };
5407
- removeBodyClass = (className) => {
5408
- bodyClasses.added = bodyClasses.added.filter((c) => c !== className);
5409
- bodyClasses.removed.push(className);
5410
- document.body.classList.remove(className);
5411
- };
5412
- removeBodyClassByPrefix = (prefix) => {
5413
- bodyClasses.added = bodyClasses.added.filter((c) => !c.startsWith(prefix));
5414
- bodyClasses.removed.push(prefix);
5415
- [...document.body.classList].forEach((className) => {
5416
- if (className.startsWith(prefix)) {
5417
- document.body.classList.remove(className);
5418
- }
5419
- });
5420
- };
5421
- getTradableItems = (valueKey = "all") => __async(null, null, function* () {
5422
- const tradableItems = yield getData("items-tradable");
5423
- if (!tradableItems) {
5424
- return [];
5425
- }
5426
- tradableItems.sort((a, b) => a.name.localeCompare(b.name));
5427
- if ("all" === valueKey) {
5428
- return tradableItems;
5429
- }
5430
- return tradableItems.map((item) => ({
5431
- name: item.name,
5432
- value: item[valueKey]
5433
- }));
5434
- });
5435
- requests = {};
5436
- lastRequest = 0;
5437
- doRequest = (_0, ..._1) => __async(null, [_0, ..._1], function* (url, formData = {}, skipChecks = false, skipOpts = {}) {
5438
- var _a;
5439
- if (getFlag("disable-requests")) {
5440
- return;
5441
- }
5442
- if (!isLoggedIn()) {
5443
- return;
5444
- }
5445
- if ("undefined" === typeof lastReadJournalEntryId || "undefined" === typeof user) {
5446
- return;
5447
- }
5448
- if (!lastReadJournalEntryId || !user || !(user == null ? void 0 : user.unique_hash)) {
5449
- return;
5450
- }
5451
- const now = Date.now();
5452
- if (now - lastRequest < 100) {
5453
- yield sleep(100 - (now - lastRequest));
5454
- lastRequest = Date.now();
5455
- }
5456
- const requestKey = Object.keys(formData).length ? "".concat(url, "-").concat(JSON.stringify(formData)) : url;
5457
- const timeRequested = Date.now();
5458
- debuglog("utils-data", "Making request: ".concat(requestKey, " at ").concat(timeRequested));
5459
- if (requests[requestKey] && !skipChecks) {
5460
- debuglog("utils-data", "Request already in progress: ".concat(requestKey));
5461
- if (requests[requestKey].in_progress) {
5462
- return new Promise((resolve) => {
5463
- const timeout = setTimeout(() => __async(null, null, function* () {
5464
- debuglog("utils-data", "Request timed out: ".concat(requestKey, ", starting new request"));
5465
- clearInterval(interval);
5466
- const newRequest = yield doRequest(url, formData, true);
5467
- resolve(newRequest);
5468
- }), 2500);
5469
- const interval = setInterval(() => {
5470
- debuglog("utils-data", "Checking if request is complete: ".concat(requestKey));
5471
- if (!requests[requestKey].in_progress) {
5472
- debuglog("utils-data", "Returning saved response: ".concat(requestKey));
5473
- clearInterval(interval);
5474
- clearTimeout(timeout);
5475
- resolve(requests[requestKey].response);
5476
- }
5477
- }, 100);
5478
- });
5479
- } else if (requests[requestKey].time_requested > timeRequested - 350) {
5480
- debuglog("utils-data", "Request already completed: ".concat(requestKey));
5481
- return requests[requestKey].response;
5482
- }
5483
- }
5484
- debuglog("utils-data", "Starting request: ".concat(requestKey));
5485
- requests[requestKey] = {
5486
- in_progress: true,
5487
- time_requested: timeRequested
5488
- };
5489
- const form = new FormData();
5490
- if (!skipOpts.skipSn && !skipOpts.skipAll) {
5491
- form.append("sn", "Hitgrab");
5492
- }
5493
- if (!skipOpts.skipHgIsAjax && !skipOpts.skipAll) {
5494
- form.append("hg_is_ajax", 1);
5495
- }
5496
- if (!skipOpts.skipLastReadJournalEntryId && !skipOpts.skipAll) {
5497
- form.append("last_read_journal_entry_id", lastReadJournalEntryId != null ? lastReadJournalEntryId : 0);
5498
- }
5499
- if (!skipOpts.skipUh && !skipOpts.skipAll) {
5500
- form.append("uh", (_a = user == null ? void 0 : user.unique_hash) != null ? _a : "");
5501
- }
5502
- Object.keys(formData).forEach((key) => form.append(key, formData[key]));
5503
- const requestBody = new URLSearchParams(form).toString();
5504
- let response;
5505
- try {
5506
- response = yield fetch(callbackurl ? "".concat(callbackurl).concat(url) : "https://www.mousehuntgame.com/".concat(url), {
5507
- method: "POST",
5508
- body: requestBody,
5509
- headers: {
5510
- "Content-Type": "application/x-www-form-urlencoded",
5511
- "X-Requested-By": "MouseHunt-Improved/".concat(mhImprovedVersion)
5512
- }
5513
- });
5514
- } catch (error2) {
5515
- console.error("Error fetching ".concat(url, ":"), error2);
5516
- return false;
5517
- }
5518
- let data;
5519
- try {
5520
- data = yield skipOpts.skipJson ? response.text() : response.json();
5521
- } catch (error2) {
5522
- console.error("Error parsing response for ".concat(url, ":"), error2, url, formData, response);
5523
- return false;
5524
- }
5525
- requests[requestKey] = {
5526
- time_requested: timeRequested,
5527
- response: data
5528
- };
5529
- return data;
5530
- });
5531
- sleep = (ms, elapsed = 0) => __async(null, null, function* () {
5532
- return new Promise((resolve) => setTimeout(resolve, ms - elapsed));
5533
- });
5534
- hasMiniCRE = () => {
5535
- if (sessionGet("has-mini-cre")) {
5536
- return true;
5537
- }
5538
- if ("camp" !== getCurrentPage()) {
5539
- return;
5540
- }
5541
- const cre = document.querySelector(".min-luck-button");
5542
- sessionSet("has-mini-cre", !!cre);
5543
- return !!cre;
5544
- };
5545
- uppercaseFirstLetter = (string) => {
5546
- string = string.length ? string : " ";
5547
- return string.charAt(0).toUpperCase() + string.slice(1);
5548
- };
5549
- parseNumber = (text) => {
5550
- if (text === null || text === void 0 || "" === text) {
5551
- return 0;
5552
- }
5553
- const value = Number.parseInt(String(text).replaceAll(",", ""), 10);
5554
- return Number.isNaN(value) ? 0 : value;
5555
- };
5556
- parseGold = (text) => {
5557
- if (!text) {
5558
- return 0;
5559
- }
5560
- const value = Number.parseInt(String(text).split("Gold")[0].replaceAll(",", "").trim(), 10);
5561
- return Number.isNaN(value) ? 0 : value;
5562
- };
5563
- formatNumber = (value) => {
5564
- return Number(value || 0).toLocaleString();
5565
- };
5566
- formatGold = (value) => {
5567
- return "".concat(formatNumber(value), " gold");
5568
- };
5569
- abbreviateNumber = (num, decimals = 1) => {
5570
- if (num >= 1e6) {
5571
- return "".concat(Number((num / 1e6).toFixed(decimals)), "m");
5572
- }
5573
- if (num >= 1e3) {
5574
- return "".concat(Number((num / 1e3).toFixed(decimals)), "k");
5575
- }
5576
- return String(num);
5577
- };
5578
- clamp2 = (value, min, max) => {
5579
- return Math.max(min, Math.min(max, value));
5580
- };
5581
- setMultipleTimeout = (fn, ms) => {
5582
- (Array.isArray(ms) ? ms : [ms]).forEach((time) => setTimeout(fn, time));
5583
- };
5584
- refreshPage = (delay = 0) => {
5585
- setTimeout(window.location.reload, delay);
5586
- };
5587
- debounce = (func, delay = 100) => {
5588
- let timeout;
5589
- return (...args) => {
5590
- clearTimeout(timeout);
5591
- timeout = setTimeout(() => func(...args), delay);
5592
- };
5593
- };
5594
- unpluralizeMap = {
5595
- batteries: "battery",
5596
- boxes: "box",
5597
- branches: "branch",
5598
- cacti: "cactus",
5599
- candies: "candy",
5600
- catches: "catch",
5601
- children: "child",
5602
- flies: "fly",
5603
- fungi: "fungus",
5604
- geese: "goose",
5605
- leaves: "leaf",
5606
- mice: "mouse",
5607
- patches: "patch",
5608
- pennies: "penny",
5609
- pinches: "pinch",
5610
- statuses: "status",
5611
- stories: "story",
5612
- "SUPER|tokens+": "super|token+",
5613
- trenches: "trench",
5614
- pearls: "pearl"
5615
- };
5616
- unpluralizeRules = Object.entries(unpluralizeMap).map(([plural, singular]) => ({
5617
- // Escape the plural so names like "SUPER|tokens+" match literally instead
5618
- // of being read as regex alternation/quantifiers.
5619
- regex: new RegExp(plural.replaceAll(/[$()*+.?[\\\]^{|}]/g, "\\$&"), "gi"),
5620
- singular
5621
- }));
5622
- unpluralize = (text) => {
5623
- let result = text;
5624
- for (const { regex, singular } of unpluralizeRules) {
5625
- result = result.replace(regex, (match) => {
5626
- if (match === match.toUpperCase()) {
5627
- return singular.toUpperCase();
5628
- }
5629
- if (match[0] === match[0].toUpperCase()) {
5630
- return singular.charAt(0).toUpperCase() + singular.slice(1);
5631
- }
5632
- return singular;
5633
- });
5634
- }
5635
- return result;
5636
- };
5637
- }
5638
- });
5639
-
5640
5657
  // src/utils/settings-markup.js
5641
5658
  var saveSettingDirectAndToggleClass, addSettingsTab, addSettingsTabOnce, addSetting, makeToggle, makeSettingToggle, makeSettingRowSelect, makeSettingInput, makeSettingTextArea, makeSettingMultiToggle, makeSettingBlank, addSettingOnce, fadeInTimeout, fadeOutTimeout, removeTimeout, addSettingRefreshReminder, addSettingForModule, flattenSettingOptions, doAddSettingPreview, addSettingPreview;
5642
5659
  var init_settings_markup = __esm({
@@ -6327,7 +6344,7 @@ var mhui = (() => {
6327
6344
  cacheSetExpiration: () => cacheSetExpiration,
6328
6345
  cacheSetNoExpiration: () => cacheSetNoExpiration,
6329
6346
  checkForDataUpdates: () => checkForDataUpdates,
6330
- clamp: () => clamp2,
6347
+ clamp: () => clamp,
6331
6348
  clearCaches: () => clearCaches,
6332
6349
  createHoverCard: () => createHoverCard,
6333
6350
  createLifecycle: () => createLifecycle,
@@ -8928,7 +8945,7 @@ var mhui = (() => {
8928
8945
  var styles_default7;
8929
8946
  var init_styles8 = __esm({
8930
8947
  "src/modules/better-journal/modules/journal-full-mice-images/styles.css"() {
8931
- styles_default7 = "/* src/modules/better-journal/modules/journal-full-mice-images/styles.css */\n.journal .content .entry.relicHunter_catch .journalimage a,\n.journal .content .entry.catchsuccess .journalimage a,\n.journal .content .entry.catchsuccessloot .journalimage a,\n.journal .content .entry.catchsuccessprize .journalimage a {\n width: auto;\n height: auto;\n overflow: visible;\n}\n.entry.relicHunter_catch .journalimage img,\n.entry.catchsuccess .journalimage img,\n.entry.catchsuccessloot .journalimage img,\n.entry.catchsuccessprize .journalimage img {\n width: auto;\n max-width: 95px;\n height: auto;\n padding: 0;\n background-color: #fff;\n}\n.mh-dark .entry.relicHunter_catch .journalimage img,\n.mh-dark .entry.catchsuccess .journalimage img,\n.mh-dark .entry.catchsuccessloot .journalimage img,\n.mh-dark .entry.catchsuccessprize .journalimage img {\n background-color: var(--d);\n}\n@supports (mask-composite: subtract) {\n .journal .entry .journalimage img[data-mh-mask] {\n mask-image: linear-gradient(#fff, #fff), var(--mh-silhouette-large);\n mask-mode: luminance;\n mask-repeat: no-repeat;\n mask-position: 0 0, 50% 50%;\n mask-size: 100% 100%, contain;\n mask-composite: subtract, add;\n }\n}\n.journal .content .entry.relicHunter_catch,\n.journal .content .entry.catchsuccess,\n.journal .content .entry.catchsuccessloot,\n.journal .content .entry.catchsuccessprize {\n min-height: 150px;\n}\n.journal .content .entry.relicHunter_catch .journalimage,\n.journal .content .entry.catchsuccess .journalimage,\n.journal .content .entry.catchsuccessloot .journalimage,\n.journal .content .entry.catchsuccessprize .journalimage {\n width: 95px;\n margin: 0 10px;\n}\n.journal .content .entry.relicHunter_catch .journalbody,\n.journal .content .entry.catchsuccess .journalbody,\n.journal .content .entry.catchsuccessloot .journalbody,\n.journal .content .entry.catchsuccessprize .journalbody {\n margin-left: 115px;\n}\n.entry.catchsuccess[data-mouse-type=pirate] .journalimage img,\n.entry.catchsuccessloot[data-mouse-type=pirate] .journalimage img {\n position: relative;\n margin-left: -20px;\n}\n.journal .content .entry.relicHunter_catch .journalimage {\n width: 75px;\n}\n.journal .content .entry.relicHunter_catch .journalimage img {\n width: 80px;\n}\n.PageHunterProfile .entry.relicHunter_catch .journalimage img,\n.PageHunterProfile .entry.catchsuccess .journalimage img,\n.PageHunterProfile .entry.catchsuccessloot .journalimage img,\n.PageHunterProfile .entry.catchsuccessprize .journalimage img {\n width: auto;\n max-width: 95px;\n height: 100%;\n max-height: 100px;\n}\n.PageHunterProfile .entry.catchsuccess[data-mouse-type=pirate] .journalimage img,\n.PageHunterProfile .entry.catchsuccessloot[data-mouse-type=pirate] .journalimage img {\n position: initial;\n margin-left: initial;\n}\n";
8948
+ styles_default7 = "/* src/modules/better-journal/modules/journal-full-mice-images/styles.css */\n.journal .content .entry.relicHunter_catch .journalimage a,\n.journal .content .entry.catchsuccess .journalimage a,\n.journal .content .entry.catchsuccessloot .journalimage a,\n.journal .content .entry.catchsuccessprize .journalimage a {\n width: auto;\n height: auto;\n overflow: visible;\n}\n.entry.relicHunter_catch .journalimage img,\n.entry.catchsuccess .journalimage img,\n.entry.catchsuccessloot .journalimage img,\n.entry.catchsuccessprize .journalimage img {\n width: auto;\n max-width: 95px;\n height: auto;\n padding: 0;\n background-color: #fff;\n}\n.mh-dark .entry.relicHunter_catch .journalimage img,\n.mh-dark .entry.catchsuccess .journalimage img,\n.mh-dark .entry.catchsuccessloot .journalimage img,\n.mh-dark .entry.catchsuccessprize .journalimage img {\n background-color: var(--d);\n}\n@supports (mask-composite: subtract) {\n .journal .entry .journalimage img[data-mh-mask] {\n mask-image: linear-gradient(#fff, #fff), var(--mh-silhouette-large);\n mask-mode: luminance;\n mask-repeat: no-repeat;\n mask-position: 0 0, 50% 50%;\n mask-size: 100% 100%, 100% 100%;\n mask-composite: subtract, add;\n }\n}\n.journal .content .entry.relicHunter_catch,\n.journal .content .entry.catchsuccess,\n.journal .content .entry.catchsuccessloot,\n.journal .content .entry.catchsuccessprize {\n min-height: 150px;\n}\n.journal .content .entry.relicHunter_catch .journalimage,\n.journal .content .entry.catchsuccess .journalimage,\n.journal .content .entry.catchsuccessloot .journalimage,\n.journal .content .entry.catchsuccessprize .journalimage {\n width: 95px;\n margin: 0 10px;\n}\n.journal .content .entry.relicHunter_catch .journalbody,\n.journal .content .entry.catchsuccess .journalbody,\n.journal .content .entry.catchsuccessloot .journalbody,\n.journal .content .entry.catchsuccessprize .journalbody {\n margin-left: 115px;\n}\n.entry.catchsuccess[data-mouse-type=pirate] .journalimage img,\n.entry.catchsuccessloot[data-mouse-type=pirate] .journalimage img {\n position: relative;\n margin-left: -20px;\n}\n.journal .content .entry.relicHunter_catch .journalimage {\n width: 75px;\n}\n.journal .content .entry.relicHunter_catch .journalimage img {\n width: 80px;\n}\n.PageHunterProfile .entry.relicHunter_catch .journalimage img,\n.PageHunterProfile .entry.catchsuccess .journalimage img,\n.PageHunterProfile .entry.catchsuccessloot .journalimage img,\n.PageHunterProfile .entry.catchsuccessprize .journalimage img {\n width: auto;\n max-width: 95px;\n height: 100%;\n max-height: 100px;\n}\n.PageHunterProfile .entry.catchsuccess[data-mouse-type=pirate] .journalimage img,\n.PageHunterProfile .entry.catchsuccessloot[data-mouse-type=pirate] .journalimage img {\n position: initial;\n margin-left: initial;\n}\n";
8932
8949
  }
8933
8950
  });
8934
8951
 
@@ -9332,15 +9349,17 @@ var mhui = (() => {
9332
9349
  });
9333
9350
 
9334
9351
  // src/modules/better-journal/modules/journal-icons/index.js
9335
- var addIconStyles, journal_icons_default;
9352
+ var hasAddedIconStyles, addIconStyles, journal_icons_default;
9336
9353
  var init_journal_icons = __esm({
9337
9354
  "src/modules/better-journal/modules/journal-icons/index.js"() {
9338
9355
  init_utils2();
9339
9356
  init_styles11();
9357
+ hasAddedIconStyles = false;
9340
9358
  addIconStyles = () => {
9341
- if (!document.querySelector("#journalContainer")) {
9359
+ if (hasAddedIconStyles || !document.querySelector("#journalContainer, .journal .entry, .journalEntries .entry, .jsingle .entry")) {
9342
9360
  return;
9343
9361
  }
9362
+ hasAddedIconStyles = true;
9344
9363
  addExternalStyles("journal-icons.css");
9345
9364
  };
9346
9365
  journal_icons_default = () => __async(null, null, function* () {
@@ -9351,6 +9370,7 @@ var mhui = (() => {
9351
9370
  addStyles(styles_default10, "better-journal-icons");
9352
9371
  addIconStyles();
9353
9372
  onNavigation(addIconStyles);
9373
+ onJournalEntry(addIconStyles, { id: "better-journal-icons-styles" });
9354
9374
  });
9355
9375
  }
9356
9376
  });
@@ -9800,6 +9820,24 @@ var mhui = (() => {
9800
9820
  }
9801
9821
  });
9802
9822
 
9823
+ // src/modules/better-journal/modules/journal-replacements/articles.js
9824
+ var exceptions, articleFor;
9825
+ var init_articles = __esm({
9826
+ "src/modules/better-journal/modules/journal-replacements/articles.js"() {
9827
+ exceptions = [
9828
+ { pattern: /^One\b/, article: "a" },
9829
+ { pattern: /^RR\b/, article: "an" }
9830
+ ];
9831
+ articleFor = (word) => {
9832
+ const exception = exceptions.find((rule) => rule.pattern.test(word));
9833
+ if (exception) {
9834
+ return exception.article;
9835
+ }
9836
+ return /^[aeiou]/i.test(word) ? "an" : "a";
9837
+ };
9838
+ }
9839
+ });
9840
+
9803
9841
  // src/modules/better-journal/modules/journal-replacements/rules/define.js
9804
9842
  var defineRules, define_default;
9805
9843
  var init_define = __esm({
@@ -9880,10 +9918,30 @@ var mhui = (() => {
9880
9918
  var init_hunt = __esm({
9881
9919
  "src/modules/better-journal/modules/journal-replacements/rules/hunt.js"() {
9882
9920
  init_define();
9921
+ init_articles();
9883
9922
  hunt_default = define_default("hunt", [
9884
9923
  ["I sounded the Hunter's Horn and was successful in the hunt!", ""],
9885
9924
  ["where I was successful in my hunt! I", "and"],
9886
9925
  ["I went on a hunt with", "I hunted with"],
9926
+ // The article agrees with the weight ("an 8 oz. Captain Crook"), so stripping the
9927
+ // weight has to re-match it to the mouse name that follows.
9928
+ [
9929
+ /\b(an?) \d+ (?:lb\. \d+ oz\.|(?:oz|lb)\.) ((?:<[^>]*>)*)([a-z][\w'-]*)/gi,
9930
+ /**
9931
+ * Strip the weight and correct the article for the mouse name.
9932
+ *
9933
+ * @param {string} match The full match.
9934
+ * @param {string} article The original article.
9935
+ * @param {string} tags Any markup between the weight and the name.
9936
+ * @param {string} word The first word of the mouse name.
9937
+ *
9938
+ * @return {string} The corrected article and name start.
9939
+ */
9940
+ (match, article, tags, word) => {
9941
+ const fixed = articleFor(word);
9942
+ return "".concat("A" === article[0] ? fixed[0].toUpperCase() + fixed.slice(1) : fixed, " ").concat(tags).concat(word);
9943
+ }
9944
+ ],
9887
9945
  [/\d+? oz. /i, ""],
9888
9946
  [/\d+? lb. /i, ""],
9889
9947
  [/from (\d+?) x/i, "from $1"],
@@ -10051,6 +10109,7 @@ var mhui = (() => {
10051
10109
  var init_journal_replacements = __esm({
10052
10110
  "src/modules/better-journal/modules/journal-replacements/index.js"() {
10053
10111
  init_utils2();
10112
+ init_articles();
10054
10113
  init_rules();
10055
10114
  init_styles13();
10056
10115
  keepOriginalClasses2 = /* @__PURE__ */ new Set(["lunar_lantern", "valentines_matchmaker", "vending_machine_purchase", "fullyExplored", "folkloreForest-bookClaimed", "claimBooty"]);
@@ -10098,9 +10157,24 @@ var mhui = (() => {
10098
10157
  model.setHtml(model.html.replace(regex, 'I claimed a King\'s Reward worth <span class="mh-ui-gold">'.concat(formattedGoldAmount, "</span> gold.")));
10099
10158
  };
10100
10159
  fixAnWording = (model) => {
10101
- if (!shouldSkip2(model)) {
10102
- model.setHtml(model.html.replaceAll(/ and caught an ([b-df-hj-np-tv-z])/gi, " and caught a $1"));
10160
+ if (shouldSkip2(model)) {
10161
+ return;
10103
10162
  }
10163
+ const fixed = model.html.replaceAll(
10164
+ / and caught (an?) ((?:<[^>]*>)*)([a-z][\w'-]*)/gi,
10165
+ /**
10166
+ * Rewrite the article to match the mouse name.
10167
+ *
10168
+ * @param {string} match The full match.
10169
+ * @param {string} article The original article.
10170
+ * @param {string} tags Any markup between the article and the name.
10171
+ * @param {string} word The first word of the mouse name.
10172
+ *
10173
+ * @return {string} The corrected phrase.
10174
+ */
10175
+ (match, article, tags, word) => " and caught ".concat(articleFor(word), " ").concat(tags).concat(word)
10176
+ );
10177
+ model.setHtml(fixed);
10104
10178
  };
10105
10179
  journal_replacements_default = () => __async(null, null, function* () {
10106
10180
  addStyles(styles_default12, "better-journal-replacements");
@@ -14313,6 +14387,8 @@ var mhui = (() => {
14313
14387
  yield updateMapSurface(data, request);
14314
14388
  if (activeMapId) {
14315
14389
  runMapEnhancements();
14390
+ } else if (document.querySelector(".treasureMapRootView")) {
14391
+ maybeShowInvitesTab();
14316
14392
  }
14317
14393
  }),
14318
14394
  true
@@ -14404,7 +14480,6 @@ var mhui = (() => {
14404
14480
  mapRuntime.register("content", "map-content", ({ root }) => {
14405
14481
  addBlockClasses(root);
14406
14482
  preview_default();
14407
- maybeShowInvitesTab();
14408
14483
  });
14409
14484
  mapRuntime.register("interactions", "default-tab", (model) => __async(null, null, function* () {
14410
14485
  const { map, root } = model;
@@ -14537,6 +14612,7 @@ var mhui = (() => {
14537
14612
  const map = ((_a = getGlobal("mapper")) == null ? void 0 : _a.mapData) || null;
14538
14613
  const isStale = map && activeMapId && !isActiveMap(map.map_id);
14539
14614
  mapRuntime.queueRender({ map: isStale ? null : map, reason: "enhancement-requested" });
14615
+ maybeShowInvitesTab();
14540
14616
  };
14541
14617
  init8 = () => {
14542
14618
  var _a, _b;
@@ -23983,10 +24059,10 @@ var mhui = (() => {
23983
24059
  makeElement("div", "mouse-name", mouse.name, mouseText);
23984
24060
  }
23985
24061
  const catchStats = makeElement("div", "mouse-catch-stats");
23986
- const catches = makeElement("div", "mouse-catches");
23987
- makeElement("span", "", "Catches: ", catches);
23988
- makeElement("span", "", mouse.num_catches_formatted || 0, catches);
23989
- catchStats.append(catches);
24062
+ const catches2 = makeElement("div", "mouse-catches");
24063
+ makeElement("span", "", "Catches: ", catches2);
24064
+ makeElement("span", "", mouse.num_catches_formatted || 0, catches2);
24065
+ catchStats.append(catches2);
23990
24066
  const avgWeight = makeElement("div", "mouse-avg-weight");
23991
24067
  makeElement("span", "", "Avg: ", avgWeight);
23992
24068
  makeElement("span", "", mouse.avg_weight || "0z", avgWeight);
@@ -24325,11 +24401,11 @@ var mhui = (() => {
24325
24401
  return;
24326
24402
  }
24327
24403
  rows.forEach((row) => {
24328
- const catches = row.querySelector("".concat(getSelectorPrefix(), " .mouseListView-categoryContent-subgroup-mouse-stats.catches"));
24329
- if (!catches) {
24404
+ const catches2 = row.querySelector("".concat(getSelectorPrefix(), " .mouseListView-categoryContent-subgroup-mouse-stats.catches"));
24405
+ if (!catches2) {
24330
24406
  return;
24331
24407
  }
24332
- const value = catches.innerText ? catches.innerText.replaceAll(",", "") || 0 : 0;
24408
+ const value = catches2.innerText ? catches2.innerText.replaceAll(",", "") || 0 : 0;
24333
24409
  if (value >= 2500) {
24334
24410
  row.classList.add("crown", "diamond");
24335
24411
  } else if (value >= 1e3) {
@@ -24513,7 +24589,7 @@ var mhui = (() => {
24513
24589
  var styles_default21;
24514
24590
  var init_styles22 = __esm({
24515
24591
  "src/modules/better-mice/styles.css"() {
24516
- styles_default21 = '/* src/modules/better-mice/styles.css */\n.mouseView-titleContainer {\n height: 26px;\n}\n.mouseView-values {\n float: none;\n font-size: 11px;\n line-height: unset;\n}\n.mouseView-title {\n font-size: 1.2em;\n line-height: 24px;\n}\n.mh-ui-mouse-links {\n display: inline-block;\n float: right;\n margin-right: 15px;\n}\n.mh-ui-mouse-links-map {\n display: flex;\n justify-content: center;\n padding-bottom: 5px;\n}\n.mh-ui-mouse-links a {\n margin-right: 10px;\n}\n.mh-ui-mouse-links-map a {\n margin: 10px 10px 10px 0;\n}\n.mouseview-title-group {\n font-size: 11px;\n}\n.mh-ui-mouse-links-map .mousehuntActionButton.tiny {\n margin: 3px;\n}\n.mouseView-movedContainer {\n display: flex;\n flex-flow: row wrap;\n gap: 10px;\n}\n.mouseview-has-mhct .mouseView-weaknessContainer {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 90px;\n}\n.mouseview-has-mhct .mouseView-categoryContent-subgroup-mouse-weaknesses {\n width: 100%;\n}\n.mouseview-has-mhct .mouseView-socialContainer {\n display: none;\n}\n.mouseview-has-mhct .mouseView-statsContainer {\n display: flex;\n align-items: stretch;\n width: 155px;\n}\n.mouseview-has-mhct .mouseView-statsContainer-block-padding {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 125px;\n padding: 10px 8px;\n}\n.mouseview-has-mhct .mouseView-descriptionContainer {\n width: 100%;\n}\n.mouseView-categoryContent-subgroup-mouse-weaknesses-label {\n font-size: 12px;\n font-weight: 400;\n font-variant: none;\n}\n.mouseview-has-mhct .mouseView-difficulty {\n display: none;\n}\n.mouseview-has-mhct .mouse-ar-wrapper {\n display: grid;\n grid-template-columns: 1fr 1fr 50px;\n gap: 10px;\n place-items: center stretch;\n width: auto;\n padding: 5px;\n font-size: 12px;\n}\n.mouseview-has-mhct .has-stages .mouse-ar-wrapper {\n grid-template-columns: 1fr 1fr 1fr 50px;\n}\n.mouseview-has-mhct .mouse-ar-wrapper div {\n font-size: 12px;\n}\n.mouseview-has-mhct .mouse-ar-wrapper div.rate {\n font-size: 13px;\n}\n.mouseview-has-mhct .ar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 26px;\n padding-bottom: 2px;\n margin-top: 10px;\n font-size: 12px;\n font-weight: 900;\n border-bottom: 1px solid #ccc;\n}\n.mouseview-has-mhct .ar-link {\n font-weight: 400;\n}\n.mouseview-has-mhct .rate {\n text-align: right;\n}\n.mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd) {\n background-color: #e7e7e7;\n}\n.mh-dark .mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd) {\n background-color: var(--d-bg);\n}\n.mouseview-has-mhct .mouseView-description {\n line-height: 1.5;\n}\n.mh-ui-mouse-links-map-name {\n color: #3b5998;\n cursor: pointer;\n}\n.mh-dark .mh-ui-mouse-links-map-name {\n color: var(--d-link);\n}\n.treasureMapView-highlight-name {\n padding: 5px 0 10px;\n font-weight: 400;\n text-align: center;\n}\n.mh-ui-mouse-links-map-name:hover {\n text-decoration: underline;\n}\n.mh-ui-mouse-links-map .treasureMapView-highlight-group {\n text-align: center;\n}\n.mouseView-image {\n box-shadow: none;\n}\n.mouseView-image:hover {\n box-shadow: 1px 1px 2px 0 #e96300;\n}\n.mouseView a.custom-favorite-button,\n.mouseView a.custom-favorite-button-small {\n position: absolute;\n top: 15px;\n left: 15px;\n width: 30px;\n height: 30px;\n background-size: contain;\n}\n#custom-submenu-item-king-s-crowns .icon {\n filter: sepia(1) brightness(0.5);\n}\n.mouseView-statsContainer-block-padding abbr {\n text-decoration: none;\n}\n.mouseView-statsContainer-block-padding {\n padding: 5px;\n}\na.mouseListView-categoryContent-subgroup-mouse-thumb {\n position: relative;\n}\n.crown .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n position: absolute;\n top: -4px;\n left: -8px;\n z-index: 2;\n width: 20px;\n height: 20px;\n content: "";\n background-color: #fdfdfa;\n background-size: contain;\n border: 1px solid #929292;\n border-radius: 50%;\n}\n.mh-dark .crown .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-color: var(--d-black);\n border-color: var(--d-border);\n}\n.crown.bronze .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_bronze.png);\n}\n.crown.silver .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png);\n}\n.crown.gold .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_gold.png);\n}\n.crown.diamond .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_diamond.png);\n}\n.crown.platinum .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_platinum.png);\n}\n.mouseListView-categoryContent-subgroup-mouse-thumb,\n.mouseListView-categoryContent-subgroup-mouse .mouseListView-categoryContent-subgroup-mouse-margin {\n transition: 0.2s ease-in;\n}\n.mouseListView-categoryContent-subgroup-mouse-thumb:hover {\n transform: scale(1.2);\n}\n.mouseListView-categoryContent-subgroup-mouse-margin {\n border: 1px solid #e6e6e6;\n box-shadow: none;\n}\n.mouseListView-categoryContent-subgroup-mouse:hover .mouseListView-categoryContent-subgroup-mouse-margin {\n border-color: #cdcdcd;\n box-shadow: none;\n transition: none;\n}\n.mouseListView-categoryContent-subgroup-mouse.stats.header:hover .mouseListView-categoryContent-subgroup-mouse-margin {\n border-color: transparent;\n}\n.mouseListView-categoryContent-subgroup-mouse.stats.uncaught .mouseListView-categoryContent-subgroup-mouse-thumb {\n filter: grayscale(1);\n}\n.mouseViewPopup .mouseView-image:hover {\n box-shadow: none;\n transform: scale(0.95);\n}\n.mouseViewPopup .showLargeImage .mouseView-image:hover {\n transform: scale(1);\n}\n.mouseViewPopup .mouseView-image {\n margin-bottom: 10px;\n transition: 0.2s ease-in;\n}\n.mouseViewPopup .mouseView-descriptionContainer {\n display: grid;\n grid-template-columns: 4fr 2fr;\n justify-items: stretch;\n}\n.mouseViewPopup .mouseView-values {\n margin-left: 0;\n}\n.mouseViewPopup .mouseView-description {\n grid-column: span 2;\n padding-top: 5px;\n}\n.mouseViewPopup .mouseView-group.mouseview-title-group {\n text-align: right;\n}\nimg.minluck-power-type-img {\n width: 18px;\n margin-right: 2px;\n}\nli.minluck-item {\n display: inline-flex;\n gap: 2px;\n align-items: center;\n width: auto;\n padding: 2px 3px;\n margin: 2px;\n font-size: 12px;\n background-color: #f2f2f2;\n border: 1px solid #e8e8e8;\n border-radius: 8px;\n}\nul.minluck-list {\n display: flex;\n flex-wrap: wrap;\n place-content: center flex-start;\n width: auto;\n margin-right: -5px;\n}\n.minluck-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 2px;\n margin-top: 10px;\n margin-bottom: 5px;\n font-size: 12px;\n font-weight: 900;\n border-bottom: 1px solid #ccc;\n}\n.mouseview-relicHunter {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 100%;\n padding: 10px;\n font-size: 15px;\n background-color: #edd1f3;\n border-radius: 10px;\n}\n.mh-dark .mouseview-relicHunter {\n background-color: var(--d-purple-dark);\n}\n.mouseListView-categoryContent-subgroup-mouse-stats.catches,\n.mouseListView-categoryContent-subgroup-mouse-stats.misses {\n width: 13%;\n}\n.mouseListView-categoryContent-subgroup-mouse-stats.average_weight,\n.mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch {\n width: 15%;\n text-align: center;\n}\n.mouseListView-categoryContent-subgroup-mouse-stats.name {\n width: 44%;\n}\n.mouseListView-categoryContent-subgroup-mouse-thumb-name {\n width: auto;\n}\n.mouseListView-categoryContent-filter-option:hover {\n color: #fff;\n background: #354661;\n}\n.mouseListView-categoryContent-filter-option {\n margin-left: 5px;\n}\n.mouseView .mouseView-imageContainer a.custom-favorite-button {\n opacity: 0;\n transition: 0.2s ease-in;\n}\n.mouseView .mouseView-imageContainer:hover a.custom-favorite-button {\n opacity: 1;\n}\n.mouseListView-category-name {\n padding-left: 10px;\n}\n#overlayPopup.mouseViewPopup #jsDialogClose {\n right: 6px;\n}\n.mouseListView-categoryContent-subgroup-miceContainer {\n border: none;\n}\n.mouseListView-categoryContent-subgroup-name {\n font-size: 12px;\n border-radius: 5px;\n}\n.mouseListView-categoryContent-subgroup-mouse.stats.header {\n border-radius: 5px;\n}\n.mouseListView-subcategory,\n.mouseListView-subcategory:last-child {\n border-color: #ccc;\n}\n.mh-dark .mouseListView-subcategory:last-child {\n border-color: var(--d-border);\n}\n.mouseListView-categoryContent-subgroup-mouse-numCatches.bronze::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.silver::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.gold::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.platinum::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.diamond::before {\n opacity: 0.5;\n}\n';
24592
+ styles_default21 = '/* src/modules/better-mice/styles.css */\n.mouseView-titleContainer {\n height: 26px;\n}\n.mouseView-values {\n float: none;\n font-size: 11px;\n line-height: unset;\n}\n.mouseView-title {\n font-size: 1.2em;\n line-height: 24px;\n}\n.mh-ui-mouse-links {\n display: inline-block;\n float: right;\n margin-right: 15px;\n}\n.mh-ui-mouse-links-map {\n display: flex;\n justify-content: center;\n padding-bottom: 5px;\n}\n.mh-ui-mouse-links a {\n margin-right: 10px;\n}\n.mh-ui-mouse-links-map a {\n margin: 10px 10px 10px 0;\n}\n.mouseview-title-group {\n font-size: 11px;\n}\n.mh-ui-mouse-links-map .mousehuntActionButton.tiny {\n margin: 3px;\n}\n.mouseView-movedContainer {\n display: flex;\n flex-flow: row wrap;\n gap: 10px;\n}\n.mouseview-has-mhct .mouseView-weaknessContainer {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 90px;\n}\n.mouseview-has-mhct .mouseView-categoryContent-subgroup-mouse-weaknesses {\n width: 100%;\n}\n.mouseview-has-mhct .mouseView-socialContainer {\n display: none;\n}\n.mouseview-has-mhct .mouseView-statsContainer {\n display: flex;\n align-items: stretch;\n width: 155px;\n}\n.mouseview-has-mhct .mouseView-statsContainer-block-padding {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 125px;\n padding: 10px 8px;\n}\n.mouseview-has-mhct .mouseView-descriptionContainer {\n width: 100%;\n}\n.mouseView-categoryContent-subgroup-mouse-weaknesses-label {\n font-size: 12px;\n font-weight: 400;\n font-variant: none;\n}\n.mouseview-has-mhct .mouseView-difficulty {\n display: none;\n}\n.mouseview-has-mhct .mouse-ar-wrapper {\n display: grid;\n grid-template-columns: 1fr 1fr 50px;\n gap: 10px;\n place-items: center stretch;\n width: auto;\n padding: 5px;\n font-size: 12px;\n}\n.mouseview-has-mhct .has-stages .mouse-ar-wrapper {\n grid-template-columns: 1fr 1fr 1fr 50px;\n}\n.mouseview-has-mhct .mouse-ar-wrapper div {\n font-size: 12px;\n}\n.mouseview-has-mhct .mouse-ar-wrapper div.rate {\n font-size: 13px;\n}\n.mouseview-has-mhct .ar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: 26px;\n padding-bottom: 2px;\n margin-top: 10px;\n font-size: 12px;\n font-weight: 900;\n border-bottom: 1px solid #ccc;\n}\n.mouseview-has-mhct .ar-link {\n font-weight: 400;\n}\n.mouseview-has-mhct .rate {\n text-align: right;\n}\n.mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd) {\n background-color: #e7e7e7;\n}\n.mh-dark .mouseview-has-mhct .mouse-ar-wrapper:nth-child(odd) {\n background-color: var(--d-bg);\n}\n.mouseview-has-mhct .mouseView-description {\n line-height: 1.5;\n}\n.mh-ui-mouse-links-map-name {\n color: #3b5998;\n cursor: pointer;\n}\n.mh-dark .mh-ui-mouse-links-map-name {\n color: var(--d-link);\n}\n.treasureMapView-highlight-name {\n padding: 5px 0 10px;\n font-weight: 400;\n text-align: center;\n}\n.mh-ui-mouse-links-map-name:hover {\n text-decoration: underline;\n}\n.mh-ui-mouse-links-map .treasureMapView-highlight-group {\n text-align: center;\n}\n.mouseView-image {\n box-shadow: none;\n}\n.mouseView-image:hover {\n box-shadow: 1px 1px 2px 0 #e96300;\n}\n.mouseView a.custom-favorite-button,\n.mouseView a.custom-favorite-button-small {\n position: absolute;\n top: 15px;\n left: 15px;\n width: 30px;\n height: 30px;\n background-size: contain;\n}\n#custom-submenu-item-king-s-crowns .icon {\n filter: sepia(1) brightness(0.5);\n}\n.mouseView-statsContainer-block-padding abbr {\n text-decoration: none;\n}\n.mouseView-statsContainer-block-padding {\n padding: 5px;\n}\na.mouseListView-categoryContent-subgroup-mouse-thumb {\n position: relative;\n}\n.crown .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n position: absolute;\n top: -4px;\n left: -8px;\n z-index: 2;\n width: 20px;\n height: 20px;\n content: "";\n background-color: #fdfdfa;\n background-size: contain;\n border: 1px solid #929292;\n border-radius: 50%;\n}\n.mh-dark .crown .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-color: var(--d-black);\n border-color: var(--d-border);\n}\n.crown.bronze .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_bronze.png);\n}\n.crown.silver .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_silver.png);\n}\n.crown.gold .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_gold.png);\n}\n.crown.diamond .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_diamond.png);\n}\n.crown.platinum .mouseListView-categoryContent-subgroup-mouse-thumb::after {\n background-image: url(https://www.mousehuntgame.com/images/ui/crowns/crown_platinum.png);\n}\n.mouseListView-categoryContent-subgroup-mouse-thumb,\n.mouseListView-categoryContent-subgroup-mouse .mouseListView-categoryContent-subgroup-mouse-margin {\n transition: 0.2s ease-in;\n}\n.mouseListView-categoryContent-subgroup-mouse-thumb:hover {\n transform: scale(1.2);\n}\n.mouseListView-categoryContent-subgroup-mouse-margin {\n border: 1px solid #e6e6e6;\n box-shadow: none;\n}\n.mouseListView-categoryContent-subgroup-mouse:hover .mouseListView-categoryContent-subgroup-mouse-margin {\n border-color: #cdcdcd;\n box-shadow: none;\n transition: none;\n}\n.mouseListView-categoryContent-subgroup-mouse.stats.header:hover .mouseListView-categoryContent-subgroup-mouse-margin {\n border-color: transparent;\n}\n.mouseListView-categoryContent-subgroup-mouse.stats.uncaught .mouseListView-categoryContent-subgroup-mouse-thumb {\n filter: grayscale(1);\n}\n.mouseViewPopup .mouseView-image:hover {\n box-shadow: none;\n transform: scale(0.95);\n}\n.mouseViewPopup .showLargeImage .mouseView-image:hover {\n transform: scale(1);\n}\n.mouseViewPopup .mouseView-image {\n margin-bottom: 10px;\n transition: 0.2s ease-in;\n}\n.mouseViewPopup .mouseView-descriptionContainer {\n display: grid;\n grid-template-columns: 4fr 2fr;\n justify-items: stretch;\n}\n.mouseViewPopup .mouseView-values {\n margin-left: 0;\n}\n.mouseViewPopup .mouseView-description {\n grid-column: span 2;\n padding-top: 5px;\n}\n.mouseViewPopup .mouseView-group.mouseview-title-group {\n text-align: right;\n}\nimg.minluck-power-type-img {\n width: 18px;\n margin-right: 2px;\n}\nli.minluck-item {\n display: inline-flex;\n gap: 2px;\n align-items: center;\n width: auto;\n padding: 2px 3px;\n margin: 2px;\n font-size: 12px;\n background-color: #f2f2f2;\n border: 1px solid #e8e8e8;\n border-radius: 8px;\n}\nul.minluck-list {\n display: flex;\n flex-wrap: wrap;\n place-content: center flex-start;\n width: auto;\n margin-right: -5px;\n}\n.minluck-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: 2px;\n margin-top: 10px;\n margin-bottom: 5px;\n font-size: 12px;\n font-weight: 900;\n border-bottom: 1px solid #ccc;\n}\n.mouseview-relicHunter {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 100%;\n padding: 10px;\n font-size: 15px;\n background-color: #edd1f3;\n border-radius: 10px;\n}\n.mh-dark .mouseview-relicHunter {\n background-color: var(--d-purple-dark);\n}\n.mouseListView-categoryContent-subgroup-mouse-stats.catches,\n.mouseListView-categoryContent-subgroup-mouse-stats.misses {\n width: 13%;\n}\n.mouseListView-categoryContent-subgroup-mouse-stats.average_weight,\n.mouseListView-categoryContent-subgroup-mouse-stats.heaviest_catch {\n width: 15%;\n text-align: center;\n}\n.mouseListView-categoryContent-subgroup-mouse-stats.name {\n width: 44%;\n}\n.mouseListView-categoryContent-subgroup-mouse-thumb-name {\n width: auto;\n max-width: 190px;\n}\n.mouseListView-categoryContent-filter-option:hover {\n color: #fff;\n background: #354661;\n}\n.mouseListView-categoryContent-filter-option {\n margin-left: 5px;\n}\n.mouseView .mouseView-imageContainer a.custom-favorite-button {\n opacity: 0;\n transition: 0.2s ease-in;\n}\n.mouseView .mouseView-imageContainer:hover a.custom-favorite-button {\n opacity: 1;\n}\n.mouseListView-category-name {\n padding-left: 10px;\n}\n#overlayPopup.mouseViewPopup #jsDialogClose {\n right: 6px;\n}\n.mouseListView-categoryContent-subgroup-miceContainer {\n border: none;\n}\n.mouseListView-categoryContent-subgroup-name {\n font-size: 12px;\n border-radius: 5px;\n}\n.mouseListView-categoryContent-subgroup-mouse.stats.header {\n border-radius: 5px;\n}\n.mouseListView-subcategory,\n.mouseListView-subcategory:last-child {\n border-color: #ccc;\n}\n.mh-dark .mouseListView-subcategory:last-child {\n border-color: var(--d-border);\n}\n.mouseListView-categoryContent-subgroup-mouse-numCatches.bronze::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.silver::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.gold::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.platinum::before,\n.mouseListView-categoryContent-subgroup-mouse-numCatches.diamond::before {\n opacity: 0.5;\n}\n';
24517
24593
  }
24518
24594
  });
24519
24595
 
@@ -24876,11 +24952,11 @@ var mhui = (() => {
24876
24952
  mice: []
24877
24953
  }));
24878
24954
  mice2.forEach((mouse) => {
24879
- const catches = Number.parseInt(mouse.querySelector(".mouseCrownsView-group-mouse-catches").innerText.replaceAll(",", ""), 10);
24955
+ const catches2 = Number.parseInt(mouse.querySelector(".mouseCrownsView-group-mouse-catches").innerText.replaceAll(",", ""), 10);
24880
24956
  const name = mouse.querySelector(".mouseCrownsView-group-mouse-name").innerText.trim();
24881
- const group = grouped.find((crown) => catches >= crown.min && catches <= crown.max);
24882
- if (group && group.mice && !group.mice.some((m) => m.name === name && m.catches === catches)) {
24883
- group.mice.push({ catches, name });
24957
+ const group = grouped.find((crown) => catches2 >= crown.min && catches2 <= crown.max);
24958
+ if (group && group.mice && !group.mice.some((m) => m.name === name && m.catches === catches2)) {
24959
+ group.mice.push({ catches: catches2, name });
24884
24960
  }
24885
24961
  });
24886
24962
  grouped.forEach((group) => {
@@ -27954,8 +28030,8 @@ var mhui = (() => {
27954
28030
  return;
27955
28031
  }
27956
28032
  started = true;
27957
- onEvent("camp_page_toggle_blueprint", (panel2) => {
27958
- scheduleTrapSelector({ type: "blueprint", panel: panel2 });
28033
+ onEvent("camp_page_toggle_blueprint", (panel3) => {
28034
+ scheduleTrapSelector({ type: "blueprint", panel: panel3 });
27959
28035
  });
27960
28036
  onRequest("users/gettrapcomponents.php", (data) => {
27961
28037
  scheduleTrapSelector({ type: "components", data });
@@ -27996,9 +28072,9 @@ var mhui = (() => {
27996
28072
  boundSkinButtons = /* @__PURE__ */ new WeakSet();
27997
28073
  isAdding2 = false;
27998
28074
  delayedAdd = null;
27999
- addSkinImages = (panel2, force = false, isCurrent = () => true) => __async(null, null, function* () {
28075
+ addSkinImages = (panel3, force = false, isCurrent = () => true) => __async(null, null, function* () {
28000
28076
  var _a;
28001
- if ("item_browser" !== panel2) {
28077
+ if ("item_browser" !== panel3) {
28002
28078
  return;
28003
28079
  }
28004
28080
  if (isAdding2) {
@@ -28090,11 +28166,11 @@ var mhui = (() => {
28090
28166
  };
28091
28167
  larger_skin_images_default = () => {
28092
28168
  addStyles(styles_default29, "better-ui-larger-skin-images");
28093
- registerTrapSelectorDecorator("images", "larger-skin-images", ({ type, panel: panel2, data, isCurrent }) => {
28169
+ registerTrapSelectorDecorator("images", "larger-skin-images", ({ type, panel: panel3, data, isCurrent }) => {
28094
28170
  var _a, _b, _c;
28095
28171
  triggerFromClick();
28096
28172
  if ("blueprint" === type) {
28097
- return addSkinImages(panel2, false, isCurrent);
28173
+ return addSkinImages(panel3, false, isCurrent);
28098
28174
  }
28099
28175
  if ("components" === type && "skin" === ((_b = (_a = data == null ? void 0 : data.components) == null ? void 0 : _a[0]) == null ? void 0 : _b.classification)) {
28100
28176
  clearTimeout(delayedAdd);
@@ -37233,12 +37309,12 @@ var mhui = (() => {
37233
37309
  var styles_default55;
37234
37310
  var init_styles56 = __esm({
37235
37311
  "src/modules/flrt-helper/styles.css"() {
37236
- styles_default55 = '/* src/modules/flrt-helper/styles.css */\n.mh-improved-flrt-helper-popup {\n display: grid;\n grid-template-columns: 1fr 1fr;\n justify-items: center;\n}\n.mh-improved-flrt-helper-popup .flrt-search-form {\n display: flex;\n align-items: center;\n justify-content: space-around;\n padding: 10px;\n background-color: #dcf7ff;\n border: 1px solid #a1a1a1;\n border-radius: 5px;\n box-shadow: 0 1px 2px -1px #b5b5b5;\n}\n.mh-improved-flrt-helper-popup .flrt-friend-finder {\n display: flex;\n flex-direction: column;\n min-width: 320px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow.friendsPage-requestRow {\n border-radius: 5px;\n box-shadow: 1px 1px 4px #cdb495;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-imageContainer {\n width: 75px;\n height: 75px;\n margin-left: 3px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-content {\n max-width: 226px;\n min-height: 75px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-icon {\n top: -10px;\n left: 0;\n height: 35px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-name {\n padding-left: 15px;\n font-size: 14px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar {\n padding-left: 20px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-titleDetail {\n left: 7px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment {\n position: relative;\n margin-left: -10px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-icon {\n position: absolute;\n top: -5px;\n left: 0;\n width: 20px;\n height: 20px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-name {\n position: absolute;\n left: 25px;\n font-size: 10px;\n vertical-align: top;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow .friendsPage-friendRow-actions {\n top: 40px;\n right: 0;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions-interactionButtons {\n padding-right: 0;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions .mousehuntTooltip,\n.mh-improved-flrt-helper-popup .friendsPage-requestRow-actionStatus.accepted,\n.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_daily_gift],\n.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_draw_ballot] {\n display: none !important;\n}\n.mh-improved-flrt-helper-popup .userInteractionButtonsView-button {\n width: 45px;\n height: 45px;\n background-size: 45px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-statsContainer {\n border-radius: 0;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.map,\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.team,\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat-label {\n display: none !important;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.online span {\n width: auto;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat {\n width: auto;\n margin-right: 10px;\n}\n.mh-improved-flrt-helper-popup .instructions {\n padding: 10px;\n margin-top: auto;\n font-style: italic;\n}\n.mh-improved-flrt-helper-popup .flrt-items-to-send {\n min-width: 90%;\n}\n.mh-improved-flrt-helper-popup .flrt-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n padding: 5px;\n margin-bottom: 5px;\n cursor: pointer;\n background-color: #eee;\n border: 1px solid #ddd;\n border-radius: 5px;\n box-shadow: 0 1px 2px -1px #b5b5b5;\n}\n.mh-improved-flrt-helper-popup .flrt-item .itemImage,\n.mh-improved-flrt-helper-popup .flrt-item .itemImage img {\n width: 45px;\n height: 45px;\n}\n.mh-improved-flrt-helper-popup .flrt-item-info {\n display: flex;\n align-items: center;\n margin-left: 5px;\n}\n.mh-improved-flrt-helper-popup .flrt-item-name {\n font-weight: 900;\n vertical-align: top;\n}\n.mh-improved-flrt-helper-popup .flrt-item-disabled .itemImage {\n filter: grayscale(1);\n opacity: 0.5;\n}\n.mh-improved-flrt-helper-popup .flrt-item-info input[type=checkbox]:disabled {\n opacity: 0;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sending {\n background-color: #f3c019;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent {\n position: relative;\n background-color: #3fcd84;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent-success::after {\n position: absolute;\n right: 55px;\n display: inline-block;\n width: 25px;\n height: 25px;\n margin-right: 5px;\n margin-bottom: -2px;\n vertical-align: middle;\n content: "";\n background-image: url(https://www.mousehuntgame.com/images/ui/events/winter_hunt_2013/checkmark.png);\n background-repeat: no-repeat;\n background-size: 100%;\n}\n.flrt-item-send.mousehuntActionButton {\n margin-right: 3px;\n margin-left: auto;\n}\n#overlayPopup.flrt-helper-popup .jsDialogContainer .suffix {\n display: none;\n}\n.mh-dark .flrt-helper-popup .jsDialog.background .content {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .flrt-helper-popup h2.title {\n color: var(--d-text);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item.flrt-item-sending {\n color: var(--d-text-dark);\n background-color: var(--d-yellow);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent {\n color: var(--d-text-dark);\n background-color: var(--d-green);\n}\n.mh-dark .mh-improved-flrt-helper-popup .friendsPage-community-hunterResult .error {\n color: var(--d-text);\n background-color: var(--d);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-search-form {\n background-color: var(--d-blue-dark);\n border-color: var(--d-blue);\n}\n';
37312
+ styles_default55 = '/* src/modules/flrt-helper/styles.css */\n.mh-improved-flrt-helper-popup {\n display: grid;\n grid-template-columns: 1fr 1fr;\n justify-items: center;\n}\n.mh-improved-flrt-helper-popup .flrt-search-form {\n display: flex;\n align-items: center;\n justify-content: space-around;\n padding: 10px;\n background-color: #dcf7ff;\n border: 1px solid #a1a1a1;\n border-radius: 5px;\n box-shadow: 0 1px 2px -1px #b5b5b5;\n}\n.mh-improved-flrt-helper-popup .flrt-friend-finder {\n display: flex;\n flex-direction: column;\n min-width: 320px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow.friendsPage-requestRow {\n border-radius: 5px;\n box-shadow: 1px 1px 4px #cdb495;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-imageContainer {\n width: 75px;\n height: 75px;\n margin-left: 3px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-content {\n max-width: 226px;\n min-height: 75px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-icon {\n top: -10px;\n left: 0;\n height: 35px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-name {\n padding-left: 15px;\n font-size: 14px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar {\n padding-left: 20px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-titleBar-titleDetail {\n left: 7px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment {\n position: relative;\n margin-left: -10px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-icon {\n position: absolute;\n top: -5px;\n left: 0;\n width: 20px;\n height: 20px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-environment-name {\n position: absolute;\n left: 25px;\n font-size: 10px;\n vertical-align: top;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow .friendsPage-friendRow-actions {\n top: 40px;\n right: 0;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions-interactionButtons {\n padding-right: 0;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-actions .mousehuntTooltip,\n.mh-improved-flrt-helper-popup .friendsPage-requestRow-actionStatus.accepted,\n.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_daily_gift],\n.mh-improved-flrt-helper-popup .userInteractionButtonsView-action[data-action=send_draw_ballot] {\n display: none !important;\n}\n.mh-improved-flrt-helper-popup .userInteractionButtonsView-button {\n width: 45px;\n height: 45px;\n background-size: 45px;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-statsContainer {\n border-radius: 0;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.map,\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.team,\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat-label {\n display: none !important;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat.online span {\n width: auto;\n}\n.mh-improved-flrt-helper-popup .friendsPage-friendRow-stat {\n width: auto;\n margin-right: 10px;\n}\n.mh-improved-flrt-helper-popup .instructions {\n padding: 10px;\n margin-top: auto;\n font-style: italic;\n}\n.mh-improved-flrt-helper-popup .flrt-items-to-send {\n min-width: 90%;\n}\n.mh-improved-flrt-helper-popup .flrt-item {\n display: flex;\n flex-direction: row;\n align-items: center;\n width: 100%;\n padding: 5px;\n margin-bottom: 5px;\n cursor: pointer;\n background-color: #eee;\n border: 1px solid #ddd;\n border-radius: 5px;\n box-shadow: 0 1px 2px -1px #b5b5b5;\n}\n.mh-improved-flrt-helper-popup .flrt-item .itemImage,\n.mh-improved-flrt-helper-popup .flrt-item .itemImage img {\n width: 45px;\n height: 45px;\n}\n.mh-improved-flrt-helper-popup .flrt-item-info {\n display: flex;\n align-items: center;\n margin-left: 5px;\n}\n.mh-improved-flrt-helper-popup .flrt-item-name {\n font-weight: 900;\n vertical-align: top;\n}\n.mh-improved-flrt-helper-popup .flrt-item-disabled .itemImage {\n filter: grayscale(1);\n opacity: 0.5;\n}\n.mh-improved-flrt-helper-popup .flrt-item-info input[type=checkbox]:disabled {\n opacity: 0;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sending {\n background-color: #f3c019;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent {\n position: relative;\n background-color: #3fcd84;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-send-error {\n background-color: #f8d7da;\n border-color: #d9534f;\n}\n.mh-improved-flrt-helper-popup .flrt-no-items {\n padding: 20px 10px;\n font-style: italic;\n text-align: center;\n}\n.mh-improved-flrt-helper-popup .flrt-hint {\n padding: 5px 10px;\n font-size: 11px;\n font-style: italic;\n}\n.mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent-success::after {\n position: absolute;\n right: 55px;\n display: inline-block;\n width: 25px;\n height: 25px;\n margin-right: 5px;\n margin-bottom: -2px;\n vertical-align: middle;\n content: "";\n background-image: url(https://www.mousehuntgame.com/images/ui/events/winter_hunt_2013/checkmark.png);\n background-repeat: no-repeat;\n background-size: 100%;\n}\n.flrt-item-send.mousehuntActionButton {\n margin-right: 3px;\n margin-left: auto;\n}\n#overlayPopup.flrt-helper-popup .jsDialogContainer .suffix {\n display: none;\n}\n.mh-dark .flrt-helper-popup .jsDialog.background .content {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .flrt-helper-popup h2.title {\n color: var(--d-text);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item.flrt-item-sending {\n color: var(--d-text-dark);\n background-color: var(--d-yellow);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item.flrt-item-sent {\n color: var(--d-text-dark);\n background-color: var(--d-green);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-item.flrt-item-send-error {\n color: var(--d-text-dark);\n background-color: var(--d-red);\n}\n.mh-dark .mh-improved-flrt-helper-popup .friendsPage-community-hunterResult .error {\n color: var(--d-text);\n background-color: var(--d);\n}\n.mh-dark .mh-improved-flrt-helper-popup .flrt-search-form {\n background-color: var(--d-blue-dark);\n border-color: var(--d-blue);\n}\n';
37237
37313
  }
37238
37314
  });
37239
37315
 
37240
37316
  // src/modules/flrt-helper/index.js
37241
- var addFlrtButtonToConvertible, flrtPopup, hasFoundMaptain, updateSendButtons, init45, flrt_helper_default;
37317
+ var addFlrtButtonToConvertible, flrtPopup, validatedReceiver, setSendButtonsEnabled, updateSendButtons, init45, flrt_helper_default;
37242
37318
  var init_flrt_helper = __esm({
37243
37319
  "src/modules/flrt-helper/index.js"() {
37244
37320
  init_utils2();
@@ -37250,6 +37326,7 @@ var mhui = (() => {
37250
37326
  }
37251
37327
  const items7 = [];
37252
37328
  const tradableItems = yield getData("items-tradable");
37329
+ const hasTradableData = Array.isArray(tradableItems) && tradableItems.length > 0;
37253
37330
  for (const element of response.convertible_open.items) {
37254
37331
  const itemData = {
37255
37332
  type: element.type,
@@ -37262,14 +37339,7 @@ var mhui = (() => {
37262
37339
  itemData.name = "SUPER|brie+";
37263
37340
  itemData.image = "https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png";
37264
37341
  }
37265
- if (tradableItems) {
37266
- const tradable = tradableItems.find((tradableItem) => {
37267
- return tradableItem.type === element.type;
37268
- });
37269
- if (tradable) {
37270
- items7.push(itemData);
37271
- }
37272
- } else {
37342
+ if (!hasTradableData || tradableItems.some((tradableItem) => tradableItem.type === itemData.type)) {
37273
37343
  items7.push(itemData);
37274
37344
  }
37275
37345
  }
@@ -37291,6 +37361,9 @@ var mhui = (() => {
37291
37361
  flrtPopup = (items7) => __async(null, null, function* () {
37292
37362
  const lastMaptain = yield getLastMaptain();
37293
37363
  let itemContent = "";
37364
+ if (!items7.length) {
37365
+ itemContent = '<div class="flrt-no-items">No tradable items were found in this chest.</div>';
37366
+ }
37294
37367
  items7.forEach((item) => {
37295
37368
  itemContent += '<div class="flrt-item" data-item-type="'.concat(item.type, '" data-item-quantity="').concat(item.quantity, '">\n <div class="itemImage">\n <img src="').concat(item.image, '" alt="').concat(item.name, '" title="').concat(item.name, '" />\n <div class="quantity">').concat(item.quantity, '</div>\n </div>\n <div class="flrt-item-info">\n <span class="flrt-item-name">').concat(item.name, '</span>\n </div>\n <button class="flrt-item-send mousehuntActionButton small disabled" data-item-type="').concat(item.type, '" data-item-quantity="').concat(item.quantity, '" disabled>\n <span>Send</span>\n </button>\n </div>');
37296
37369
  });
@@ -37298,26 +37371,28 @@ var mhui = (() => {
37298
37371
  template: "ajax",
37299
37372
  className: "flrt-helper-popup",
37300
37373
  title: "Send tradables to Maptain",
37301
- content: '<div class="mh-improved-flrt-helper-popup">\n <div class="flrt-friend-finder">\n <form action="https://www.mousehuntgame.com/friends.php?tab=requests&amp;sub_tab=community" method="post" class="flrt-search-form friends-page-id-search friendsPage-community-hunterIdForm" onsubmit="app.pages.FriendsPage.submitHunterIdForm(this); return false;">\n <input type="number" value="'.concat(lastMaptain || "", '" name="user_id" maxlength="10" class="friendsPage-community-hunterIdForm-input">\n <a class="mousehuntActionButton small search-for-hunter" href="#" onclick="app.pages.FriendsPage.triggerHunterForm(this); return false;"><span>Search</span></a>\n </form>\n <div class="friendsPage-community-hunterResult"></div>\n </div>\n <div class="flrt-items-to-send">\n ').concat(itemContent, "\n </div>\n </div>")
37374
+ content: '<div class="mh-improved-flrt-helper-popup">\n <div class="flrt-friend-finder">\n <form action="https://www.mousehuntgame.com/friends.php?tab=requests&amp;sub_tab=community" method="post" class="flrt-search-form friends-page-id-search friendsPage-community-hunterIdForm" onsubmit="app.pages.FriendsPage.submitHunterIdForm(this); return false;">\n <input type="number" value="'.concat(lastMaptain || "", '" name="user_id" maxlength="10" class="friendsPage-community-hunterIdForm-input">\n <a class="mousehuntActionButton small search-for-hunter" href="#" onclick="app.pages.FriendsPage.triggerHunterForm(this); return false;"><span>Search</span></a>\n </form>\n ').concat(lastMaptain ? "" : '<div class="flrt-hint">Enter your maptain\u2019s hunter ID and hit Search to enable sending.</div>', '\n <div class="friendsPage-community-hunterResult"></div>\n </div>\n <div class="flrt-items-to-send">\n ').concat(itemContent, "\n </div>\n </div>")
37302
37375
  });
37303
37376
  popup.addToken("{*prefix*}", '<h2 class="title">Send tradable items</h2>');
37304
37377
  popup.addToken("{*suffix*}", "");
37305
37378
  popup.show();
37306
- const search = document.querySelector(".search-for-hunter");
37307
- if (!search) {
37379
+ const overlay = document.querySelector("#overlayPopup.flrt-helper-popup");
37380
+ const search = overlay == null ? void 0 : overlay.querySelector(".search-for-hunter");
37381
+ const hunterIdInput = overlay == null ? void 0 : overlay.querySelector(".friendsPage-community-hunterIdForm-input");
37382
+ if (!overlay || !search || !hunterIdInput) {
37308
37383
  return;
37309
37384
  }
37310
- hasFoundMaptain = !!lastMaptain;
37385
+ validatedReceiver = "";
37311
37386
  if (lastMaptain) {
37312
37387
  app.pages.FriendsPage.triggerHunterForm(search);
37313
37388
  }
37314
- const flrtItems = document.querySelectorAll(".flrt-item");
37389
+ const flrtItems = overlay.querySelectorAll(".flrt-item");
37315
37390
  search.addEventListener("click", () => {
37316
- const id = document.querySelector(".friendsPage-community-hunterIdForm-input");
37317
- if (!id) {
37318
- return;
37319
- }
37320
- app.pages.FriendsPage.submitHunterIdForm(id);
37391
+ app.pages.FriendsPage.submitHunterIdForm(hunterIdInput);
37392
+ });
37393
+ hunterIdInput.addEventListener("input", () => {
37394
+ validatedReceiver = "";
37395
+ setSendButtonsEnabled(overlay, false);
37321
37396
  });
37322
37397
  flrtItems.forEach((item) => {
37323
37398
  const sendButton = item.querySelector(".flrt-item-send");
@@ -37325,7 +37400,7 @@ var mhui = (() => {
37325
37400
  return;
37326
37401
  }
37327
37402
  sendButton.addEventListener("click", () => __async(null, null, function* () {
37328
- if (!hasFoundMaptain) {
37403
+ if (!validatedReceiver) {
37329
37404
  return;
37330
37405
  }
37331
37406
  const type = item.getAttribute("data-item-type");
@@ -37334,40 +37409,46 @@ var mhui = (() => {
37334
37409
  return;
37335
37410
  }
37336
37411
  item.classList.add("flrt-item-sending");
37337
- yield doRequest("managers/ajax/users/supplytransfer.php", {
37412
+ const response = yield doRequest("managers/ajax/users/supplytransfer.php", {
37338
37413
  item: type,
37339
37414
  item_quantity: quantity,
37340
- receiver: lastMaptain
37415
+ receiver: validatedReceiver
37341
37416
  });
37342
37417
  item.classList.remove("flrt-item-sending");
37343
- item.classList.add("flrt-item-sent");
37344
- item.classList.add("flrt-item-sent-success");
37345
- setTimeout(() => item.classList.remove(), 1500, "flrt-item-sent-success");
37346
- sendButton.disabled = true;
37347
- sendButton.classList.add("disabled");
37348
- sendButton.setAttribute("data-item-sent", "true");
37418
+ if (response == null ? void 0 : response.success) {
37419
+ item.classList.add("flrt-item-sent");
37420
+ item.classList.add("flrt-item-sent-success");
37421
+ setTimeout(() => item.classList.remove("flrt-item-sent-success"), 1500);
37422
+ sendButton.disabled = true;
37423
+ sendButton.classList.add("disabled");
37424
+ sendButton.setAttribute("data-item-sent", "true");
37425
+ } else {
37426
+ item.classList.add("flrt-item-send-error");
37427
+ setTimeout(() => item.classList.remove("flrt-item-send-error"), 2500);
37428
+ }
37349
37429
  }));
37350
37430
  });
37351
37431
  });
37352
- hasFoundMaptain = false;
37353
- updateSendButtons = (resp) => __async(null, null, function* () {
37354
- hasFoundMaptain = Boolean(resp.friend && resp.friend.sn_user_id);
37355
- const overlay = document.querySelector("#overlayPopup.flrt-helper-popup");
37356
- if (!overlay) {
37357
- return;
37358
- }
37359
- const flrtSendButtons = document.querySelectorAll(".flrt-item-send");
37360
- if (!flrtSendButtons) {
37361
- return;
37362
- }
37432
+ validatedReceiver = "";
37433
+ setSendButtonsEnabled = (overlay, enabled) => {
37434
+ const flrtSendButtons = overlay.querySelectorAll(".flrt-item-send");
37363
37435
  flrtSendButtons.forEach((button) => {
37364
- if (button.getAttribute("data-item-sent") === "true") {
37436
+ if ("true" === button.getAttribute("data-item-sent")) {
37365
37437
  return;
37366
37438
  }
37367
- button.disabled = !hasFoundMaptain;
37368
- button.classList.toggle("disabled", !hasFoundMaptain);
37439
+ button.disabled = !enabled;
37440
+ button.classList.toggle("disabled", !enabled);
37369
37441
  });
37370
- });
37442
+ };
37443
+ updateSendButtons = (resp) => {
37444
+ var _a;
37445
+ const overlay = document.querySelector("#overlayPopup.flrt-helper-popup");
37446
+ if (!overlay) {
37447
+ return;
37448
+ }
37449
+ validatedReceiver = ((_a = resp == null ? void 0 : resp.friend) == null ? void 0 : _a.sn_user_id) ? "".concat(resp.friend.sn_user_id) : "";
37450
+ setSendButtonsEnabled(overlay, Boolean(validatedReceiver));
37451
+ };
37371
37452
  init45 = () => __async(null, null, function* () {
37372
37453
  addStyles(styles_default55, "flrt-helper");
37373
37454
  onDialogShow("treasureMapPopup", cacheFinishedMap);
@@ -37690,13 +37771,13 @@ var mhui = (() => {
37690
37771
  return true;
37691
37772
  };
37692
37773
  markGiftsSeen = () => {
37693
- const panel2 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37694
- if (!panel2) {
37774
+ const panel3 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37775
+ if (!panel3) {
37695
37776
  return;
37696
37777
  }
37697
37778
  const state = getState();
37698
37779
  let changed = false;
37699
- panel2.querySelectorAll(".message.mh-improved-gift-link").forEach((message) => {
37780
+ panel3.querySelectorAll(".message.mh-improved-gift-link").forEach((message) => {
37700
37781
  const code = message.getAttribute("data-mhi-gift-code");
37701
37782
  if (code && !state.seen[code]) {
37702
37783
  state.seen[code] = (/* @__PURE__ */ new Date()).toISOString();
@@ -37714,8 +37795,8 @@ var mhui = (() => {
37714
37795
  document.querySelectorAll("#messengerUINotification .notificationHeader .tabs a").forEach((tab) => {
37715
37796
  tab.classList.remove("active");
37716
37797
  });
37717
- document.querySelectorAll("#messengerUINotification .notificationMessageList .tab").forEach((panel2) => {
37718
- panel2.classList.remove("active");
37798
+ document.querySelectorAll("#messengerUINotification .notificationMessageList .tab").forEach((panel3) => {
37799
+ panel3.classList.remove("active");
37719
37800
  });
37720
37801
  (_a = document.querySelector('#messengerUINotification .tabs a[data-tab="'.concat(TAB_TYPE, '"]'))) == null ? void 0 : _a.classList.add("active");
37721
37802
  (_b = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'))) == null ? void 0 : _b.classList.add("active");
@@ -37733,20 +37814,20 @@ var mhui = (() => {
37733
37814
  };
37734
37815
  refreshGiftTabState = () => {
37735
37816
  const tab = document.querySelector('#messengerUINotification .tabs a[data-tab="'.concat(TAB_TYPE, '"]'));
37736
- const panel2 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37737
- if (!tab || !panel2) {
37817
+ const panel3 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37818
+ if (!tab || !panel3) {
37738
37819
  return;
37739
37820
  }
37740
- const messages = panel2.querySelectorAll(".message.mh-improved-gift-link");
37741
- const newCount = panel2.querySelectorAll(".message.mh-improved-gift-link.new").length;
37821
+ const messages = panel3.querySelectorAll(".message.mh-improved-gift-link");
37822
+ const newCount = panel3.querySelectorAll(".message.mh-improved-gift-link.new").length;
37742
37823
  const counter = tab.querySelector(".counter");
37743
37824
  if (counter) {
37744
37825
  counter.textContent = newCount;
37745
37826
  }
37746
37827
  tab.classList.toggle("new", newCount > 0);
37747
37828
  tab.classList.toggle("empty", messages.length === 0);
37748
- if (messages.length === 0 && !panel2.querySelector(".empty")) {
37749
- makeElement("div", "empty", "You have no gift links right now.", panel2);
37829
+ if (messages.length === 0 && !panel3.querySelector(".empty")) {
37830
+ makeElement("div", "empty", "You have no gift links right now.", panel3);
37750
37831
  }
37751
37832
  };
37752
37833
  renderGiftTab = () => __async(null, null, function* () {
@@ -37772,17 +37853,17 @@ var mhui = (() => {
37772
37853
  other.addEventListener("click", deactivateGiftTab);
37773
37854
  });
37774
37855
  }
37775
- let panel2 = list.querySelector('.tab[data-tab="'.concat(TAB_TYPE, '"]'));
37776
- if (!panel2) {
37777
- panel2 = makeElement("div", "tab");
37778
- panel2.setAttribute("data-tab", TAB_TYPE);
37779
- list.append(panel2);
37856
+ let panel3 = list.querySelector('.tab[data-tab="'.concat(TAB_TYPE, '"]'));
37857
+ if (!panel3) {
37858
+ panel3 = makeElement("div", "tab");
37859
+ panel3.setAttribute("data-tab", TAB_TYPE);
37860
+ list.append(panel3);
37780
37861
  }
37781
- panel2.innerHTML = "";
37862
+ panel3.innerHTML = "";
37782
37863
  if (links.length === 0) {
37783
- makeElement("div", "empty", "You have no gift links right now.", panel2);
37864
+ makeElement("div", "empty", "You have no gift links right now.", panel3);
37784
37865
  } else {
37785
- links.forEach((link) => panel2.append(buildMessage(link)));
37866
+ links.forEach((link) => panel3.append(buildMessage(link)));
37786
37867
  }
37787
37868
  refreshGiftTabState();
37788
37869
  return links.filter((link) => isUnseenGift(link)).length;
@@ -38615,7 +38696,7 @@ var mhui = (() => {
38615
38696
  const preferAbove = rect.top > ph + 20;
38616
38697
  const top = preferAbove ? aboveTop : belowTop;
38617
38698
  let left = rect.left + window.scrollX + rect.width / 2 - pw / 2;
38618
- left = clamp2(left, window.scrollX + 8, window.scrollX + viewportW - pw - 8);
38699
+ left = clamp(left, window.scrollX + 8, window.scrollX + viewportW - pw - 8);
38619
38700
  panel.style.top = "".concat(top, "px");
38620
38701
  panel.style.left = "".concat(left, "px");
38621
38702
  const r = panel.getBoundingClientRect();
@@ -41238,13 +41319,13 @@ var mhui = (() => {
41238
41319
  imageNameContainer.append(image);
41239
41320
  imageNameContainer.append(name);
41240
41321
  mouseEl.append(imageNameContainer);
41241
- const catches = makeElement("div", "mh-catch-stats-catches");
41242
- catches.textContent = mouse.num_catches;
41322
+ const catches2 = makeElement("div", "mh-catch-stats-catches");
41323
+ catches2.textContent = mouse.num_catches;
41243
41324
  if (getSetting("location-catch-stats.show-misses", false)) {
41244
- makeElement("span", "mh-catch-stats-separator", "/", catches);
41245
- makeElement("span", "mh-catch-stats-misses", mouse.num_misses, catches);
41325
+ makeElement("span", "mh-catch-stats-separator", "/", catches2);
41326
+ makeElement("span", "mh-catch-stats-misses", mouse.num_misses, catches2);
41246
41327
  }
41247
- mouseEl.append(catches);
41328
+ mouseEl.append(catches2);
41248
41329
  return mouseEl;
41249
41330
  };
41250
41331
  makeCrownBreakdown = (mice2) => {
@@ -41279,7 +41360,7 @@ var mhui = (() => {
41279
41360
  const listing = makeElement("div", "mh-catch-stats-list-mice");
41280
41361
  wrapper.append(listing);
41281
41362
  let reversed = false;
41282
- const render = () => {
41363
+ const render2 = () => {
41283
41364
  sortToggle.textContent = reversed ? "Sort \u2191" : "Sort \u2193";
41284
41365
  listing.replaceChildren();
41285
41366
  const sorted = reversed ? [...mice2].reverse() : mice2;
@@ -41290,9 +41371,9 @@ var mhui = (() => {
41290
41371
  sortToggle.addEventListener("click", (e) => {
41291
41372
  e.preventDefault();
41292
41373
  reversed = !reversed;
41293
- render();
41374
+ render2();
41294
41375
  });
41295
- render();
41376
+ render2();
41296
41377
  return wrapper;
41297
41378
  };
41298
41379
  makeStatsModal = (id, title) => {
@@ -42042,9 +42123,9 @@ var mhui = (() => {
42042
42123
  type = "SP";
42043
42124
  }
42044
42125
  let tileText = "";
42045
- quest.island_mod_panels.forEach((panel2) => {
42046
- const panelType = panel2.type.toLowerCase().replaceAll("loot_cache", "key");
42047
- const complete = panel2.is_complete ? "complete" : "incomplete";
42126
+ quest.island_mod_panels.forEach((panel3) => {
42127
+ const panelType = panel3.type.toLowerCase().replaceAll("loot_cache", "key");
42128
+ const complete = panel3.is_complete ? "complete" : "incomplete";
42048
42129
  tileText += '<span class="tile '.concat(panelType, " ").concat(complete, '">').concat(panelType, "</span>");
42049
42130
  });
42050
42131
  const powerType = powerTypes[quest.island_power_type];
@@ -44082,12 +44163,12 @@ var mhui = (() => {
44082
44163
  });
44083
44164
 
44084
44165
  // src/modules/location-huds/locations/cerulean-skyport/ledger.js
44085
- var shipmentFinishedClass, pendingShipments, getShipmentKey, getSavedShipment, saveShipment, makeLedger, showLedger, addLedgerButton, addHullClick, hasAddedLedgerButtons, initLedger;
44166
+ var finishedClasses, pendingShipments, getShipmentKey, getSavedShipment, saveShipment, makeLedger, showLedger, addLedgerButton, addHullClick, hasAddedLedgerButtons, initLedger;
44086
44167
  var init_ledger2 = __esm({
44087
44168
  "src/modules/location-huds/locations/cerulean-skyport/ledger.js"() {
44088
44169
  init_utils2();
44089
44170
  init_ledger();
44090
- shipmentFinishedClass = "ceruleanSkyport-shipmentFinished";
44171
+ finishedClasses = ["ceruleanSkyport-shipmentFinished", "ceruleanSkyport-raidFinished"];
44091
44172
  pendingShipments = /* @__PURE__ */ new Map();
44092
44173
  getShipmentKey = (entryId) => {
44093
44174
  return "cerulean-skyport-ledger-".concat(entryId);
@@ -44104,8 +44185,9 @@ var mhui = (() => {
44104
44185
  saveShipment = (response) => __async(null, null, function* () {
44105
44186
  var _a, _b, _c, _d, _e;
44106
44187
  const finished = ((response == null ? void 0 : response.journal_markup) || []).find((markup) => {
44107
- var _a2, _b2;
44108
- return (_b2 = (_a2 = markup == null ? void 0 : markup.render_data) == null ? void 0 : _a2.css_class) == null ? void 0 : _b2.includes(shipmentFinishedClass);
44188
+ var _a2;
44189
+ const cssClass = ((_a2 = markup == null ? void 0 : markup.render_data) == null ? void 0 : _a2.css_class) || "";
44190
+ return finishedClasses.some((finishedClass) => cssClass.includes(finishedClass));
44109
44191
  });
44110
44192
  const entryId = (_a = finished == null ? void 0 : finished.render_data) == null ? void 0 : _a.entry_id;
44111
44193
  if (!entryId) {
@@ -44180,7 +44262,7 @@ var mhui = (() => {
44180
44262
  document.body.append(overlay);
44181
44263
  };
44182
44264
  addLedgerButton = (model) => __async(null, null, function* () {
44183
- if (!model.id || !model.classes.has(shipmentFinishedClass)) {
44265
+ if (!model.id || !finishedClasses.some((finishedClass) => model.classes.has(finishedClass))) {
44184
44266
  return;
44185
44267
  }
44186
44268
  const shipment = yield getSavedShipment(model.id);
@@ -44228,6 +44310,141 @@ var mhui = (() => {
44228
44310
  }
44229
44311
  });
44230
44312
 
44313
+ // src/utils/shared/skyport-raid-dialog.js
44314
+ var dialogClass, isRaidDialog, onSkyportRaidDialog, onSkyportRaidDialogShow, onSkyportRaidDialogHide;
44315
+ var init_skyport_raid_dialog = __esm({
44316
+ "src/utils/shared/skyport-raid-dialog.js"() {
44317
+ init_utils2();
44318
+ dialogClass = "ceruleanSkyportRaidChoiceDialogPopup";
44319
+ isRaidDialog = (dialog) => {
44320
+ var _a, _b;
44321
+ return ((_b = (_a = dialog == null ? void 0 : dialog.getAttributes) == null ? void 0 : _a.call(dialog).className) == null ? void 0 : _b.split(/\s+/).includes(dialogClass)) || false;
44322
+ };
44323
+ onSkyportRaidDialog = (event, callback, deferred = false) => {
44324
+ const lifecycleCallback = prepareLifecycleCallback(callback, "skyport-raid-dialog:".concat(event));
44325
+ if (lifecycleCallback.skip) {
44326
+ return;
44327
+ }
44328
+ const callbackId = lifecycleCallback.id || callback.name || callback.toString();
44329
+ addEvent(
44330
+ event,
44331
+ (dialog) => {
44332
+ if (!isRaidDialog(dialog)) {
44333
+ return;
44334
+ }
44335
+ if (deferred) {
44336
+ queueMicrotask(() => {
44337
+ if (document.querySelector(".ceruleanSkyportRaidChoiceDialogView__raidBlock[data-type]")) {
44338
+ lifecycleCallback.callback();
44339
+ }
44340
+ });
44341
+ return;
44342
+ }
44343
+ lifecycleCallback.callback();
44344
+ },
44345
+ { id: "skyport-raid-dialog:".concat(event, ":").concat(callbackId) }
44346
+ );
44347
+ };
44348
+ onSkyportRaidDialogShow = (callback) => {
44349
+ onSkyportRaidDialog("js_dialog_show", callback, true);
44350
+ };
44351
+ onSkyportRaidDialogHide = (callback) => {
44352
+ onSkyportRaidDialog("js_dialog_hide", callback);
44353
+ };
44354
+ }
44355
+ });
44356
+
44357
+ // src/modules/location-huds/locations/cerulean-skyport/raid-favorites.css
44358
+ var raid_favorites_default;
44359
+ var init_raid_favorites = __esm({
44360
+ "src/modules/location-huds/locations/cerulean-skyport/raid-favorites.css"() {
44361
+ raid_favorites_default = "/* src/modules/location-huds/locations/cerulean-skyport/raid-favorites.css */\n.ceruleanSkyportRaidChoiceDialogView__raidBlock {\n position: relative;\n}\n.mh-improved-skyport-raid-favorite-star {\n position: absolute;\n top: 5px;\n right: 5px;\n z-index: 5;\n visibility: hidden;\n opacity: 0;\n transition: 0.2s ease-in-out;\n}\n.mh-improved-skyport-raid-favorite-star:hover,\n.mh-improved-skyport-raid-favorite-star:focus,\n.mh-improved-skyport-raid-favorite-star.active,\n.mh-improved-skyport-raid-favorite-star.busy,\n.ceruleanSkyportRaidChoiceDialogView__raidBlock:hover .mh-improved-skyport-raid-favorite-star {\n visibility: visible;\n opacity: 1;\n}\n.mh-improved-skyport-raid-favorite-star.active {\n z-index: 1;\n}\n.mh-dark .mh-improved-skyport-raid-favorite-star.custom-favorite-button:hover {\n background-color: transparent;\n outline-color: #ccc;\n}\n.ceruleanSkyportRaidChoiceDialogView__raidBlock.mh-improved-skyport-raid-favorite {\n border-radius: 6px;\n outline: 3px solid #f7c22b;\n outline-offset: -1px;\n box-shadow: 0 0 12px rgb(247 194 43 / 60%);\n}\n";
44362
+ }
44363
+ });
44364
+
44365
+ // src/modules/location-huds/locations/cerulean-skyport/raid-favorites.js
44366
+ var settingKey, getFavoriteRaids, getFavoriteShipmentTypes, updateShipHighlights, toggleFavoriteRaid, addFavoriteButtons, initRaidFavorites;
44367
+ var init_raid_favorites2 = __esm({
44368
+ "src/modules/location-huds/locations/cerulean-skyport/raid-favorites.js"() {
44369
+ init_utils2();
44370
+ init_skyport_raid_dialog();
44371
+ init_raid_favorites();
44372
+ settingKey = "location-huds.cerulean-skyport-favorite-raids";
44373
+ getFavoriteRaids = () => {
44374
+ return getSetting(settingKey, []);
44375
+ };
44376
+ getFavoriteShipmentTypes = () => {
44377
+ var _a, _b;
44378
+ const favorites = getFavoriteRaids();
44379
+ const shipments = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestCeruleanSkyport) == null ? void 0 : _b.shipments) || [];
44380
+ return shipments.filter((shipment) => {
44381
+ var _a2, _b2;
44382
+ return favorites.includes((_b2 = (_a2 = shipment == null ? void 0 : shipment.location) == null ? void 0 : _a2.type) == null ? void 0 : _b2.replace(/_shipment$/, "_raid"));
44383
+ }).map((shipment) => shipment.type);
44384
+ };
44385
+ updateShipHighlights = () => {
44386
+ let style = document.querySelector("#mh-improved-skyport-raid-favorite-ships");
44387
+ if (!style) {
44388
+ style = document.createElement("style");
44389
+ style.id = "mh-improved-skyport-raid-favorite-ships";
44390
+ document.head.append(style);
44391
+ }
44392
+ const selectors = getFavoriteShipmentTypes().map((type) => {
44393
+ return '.ceruleanSkyportPrepView__shipment[data-type="'.concat(type, '"] .ceruleanSkyportPrepView__shipmentDirigible');
44394
+ });
44395
+ style.textContent = selectors.length ? "".concat(selectors.join(", "), " { filter: brightness(1.1) drop-shadow(0 0 6px #f7c22b); }") : "";
44396
+ };
44397
+ toggleFavoriteRaid = (type, isFavorite2) => {
44398
+ const favorites = new Set(getFavoriteRaids());
44399
+ if (isFavorite2) {
44400
+ favorites.add(type);
44401
+ } else {
44402
+ favorites.delete(type);
44403
+ }
44404
+ saveSetting(settingKey, [...favorites]);
44405
+ updateShipHighlights();
44406
+ };
44407
+ addFavoriteButtons = () => {
44408
+ const favorites = getFavoriteRaids();
44409
+ const blocks = document.querySelectorAll(".ceruleanSkyportRaidChoiceDialogView__raidBlock[data-type]");
44410
+ blocks.forEach((block) => __async(null, null, function* () {
44411
+ const type = block.getAttribute("data-type");
44412
+ const isFavorite2 = favorites.includes(type);
44413
+ block.classList.toggle("mh-improved-skyport-raid-favorite", isFavorite2);
44414
+ const star = yield makeFavoriteButton({
44415
+ id: "mh-improved-skyport-raid-favorite-".concat(type),
44416
+ target: block,
44417
+ size: "small",
44418
+ state: isFavorite2,
44419
+ isSetting: false,
44420
+ /**
44421
+ * Save the raid as a favorite and light up its balloon.
44422
+ */
44423
+ onActivate: () => {
44424
+ toggleFavoriteRaid(type, true);
44425
+ block.classList.add("mh-improved-skyport-raid-favorite");
44426
+ },
44427
+ /**
44428
+ * Remove the raid from the favorites.
44429
+ */
44430
+ onDeactivate: () => {
44431
+ toggleFavoriteRaid(type, false);
44432
+ block.classList.remove("mh-improved-skyport-raid-favorite");
44433
+ }
44434
+ });
44435
+ star.classList.add("mh-improved-skyport-raid-favorite-star");
44436
+ star.title = "Favorite this raid";
44437
+ }));
44438
+ };
44439
+ initRaidFavorites = () => {
44440
+ addStyles(raid_favorites_default, "cerulean-skyport-raid-favorites");
44441
+ onSkyportRaidDialogShow(addFavoriteButtons);
44442
+ updateShipHighlights();
44443
+ onRequest("*", updateShipHighlights);
44444
+ };
44445
+ }
44446
+ });
44447
+
44231
44448
  // src/modules/location-huds/locations/floating-islands/full-width-airship.css
44232
44449
  var full_width_airship_default;
44233
44450
  var init_full_width_airship = __esm({
@@ -44240,7 +44457,7 @@ var mhui = (() => {
44240
44457
  var styles_default82;
44241
44458
  var init_styles83 = __esm({
44242
44459
  "src/modules/location-huds/locations/cerulean-skyport/styles.css"() {
44243
- styles_default82 = '/* src/modules/location-huds/locations/cerulean-skyport/styles.css */\n.headsUpDisplayCeruleanSkyportView__logDialogItemContainer .quantity {\n padding: 1px 0;\n}\n.headsUpDisplayCeruleanSkyportView .headsUpDisplayCeruleanSkyportView__frame {\n transition: 0.5s ease;\n}\n.ceruleanSkyportInventoryView__inventoryBlockImage {\n width: 33px;\n height: 34px;\n}\n.headsUpDisplayCeruleanSkyportView__basicBaitContainer .headsUpDisplayCeruleanSkyportView__basicBait,\n.headsUpDisplayCeruleanSkyportView__baitCraftableContainer {\n transform: scale(1.1);\n}\nbutton.headsUpDisplayCeruleanSkyportView__basicBaitButton {\n left: 98px;\n}\n.headsUpDisplayCeruleanSkyportView__upsellContainer .upsellItemActionView-cost-image {\n box-shadow: none;\n}\n.ceruleanSkyportRaidChoiceDialogView__raidCostContainer {\n right: 5px;\n}\n.ceruleanSkyportShippingView__huntsRemainingContainer:hover .ceruleanSkyportShippingView__hourglassIcon {\n animation: mh-improved-shake 0.5s infinite;\n}\n.headsUpDisplayCeruleanSkyportView__airship .floatingIslandsAirship.animate,\n.ceruleanSkyportShippingView__currentShipmentDirigible {\n animation: dirigibleFloat 7s ease-in-out infinite;\n}\n.ceruleanSkyportShippingView__currentShipmentDirigible {\n transition: filter 0.2s ease-out;\n animation-duration: 6s;\n}\n.headsUpDisplayCeruleanSkyportView__airship .floatingIslandsAirship.animate {\n animation-delay: 0.5s;\n}\n.headsUpDisplayCeruleanSkyportView__airship {\n transition: filter 0.2s ease-out;\n}\n.headsUpDisplayCeruleanSkyportView__airship:hover {\n filter: brightness(1.08) drop-shadow(0 2px 3px rgb(18 44 64 / 35%));\n}\n.headsUpDisplayCeruleanSkyportView__airship:active {\n filter: brightness(0.98) drop-shadow(0 1px 1px rgb(18 44 64 / 25%));\n}\n.headsUpDisplayCeruleanSkyportView:has(.headsUpDisplayCeruleanSkyportView__logButton:not(.disabled)) .ceruleanSkyportShippingView__currentShipmentDirigibleHull {\n cursor: pointer;\n}\n.headsUpDisplayCeruleanSkyportView:has(.headsUpDisplayCeruleanSkyportView__logButton:not(.disabled)) .ceruleanSkyportShippingView__currentShipmentDirigible:hover {\n filter: brightness(1.08) drop-shadow(0 2px 3px rgb(18 44 64 / 35%));\n}\n.headsUpDisplayCeruleanSkyportView:has(.headsUpDisplayCeruleanSkyportView__logButton:not(.disabled)) .ceruleanSkyportShippingView__currentShipmentDirigible:active {\n filter: brightness(0.98) drop-shadow(0 1px 1px rgb(18 44 64 / 25%));\n}\n.headsUpDisplayCeruleanSkyportView__childView .ceruleanSkyportShippingView__foreground {\n transition: transform 0.25s ease-out;\n}\n.headsUpDisplayCeruleanSkyportView__childView:hover .ceruleanSkyportShippingView__foreground {\n transform: translateY(2px);\n}\n.ceruleanSkyportShippingView__shipmentRewardItem,\n.ceruleanSkyportShippingView__shipmentQuantity {\n transition: filter 0.2s ease-out, transform 0.2s ease-out;\n}\n.ceruleanSkyportShippingView__shipmentSecuredContainer:hover .ceruleanSkyportShippingView__shipmentRewardItem {\n filter: brightness(1.12) drop-shadow(0 1px 2px rgb(27 44 62 / 35%));\n transform: translateY(-1px) rotate(-2deg) scale(1.04);\n}\n.ceruleanSkyportShippingView__shipmentSecuredContainer:hover .ceruleanSkyportShippingView__shipmentQuantity {\n transform: translateY(-1px);\n}\n.headsUpDisplayCeruleanSkyportView__logDialogHeaderDirigible {\n animation: dirigibleFloat 3s ease-in-out infinite;\n animation-delay: 0.5s;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogHeaderColonelAirship {\n animation: dirigibleFloat 4s ease-in-out infinite;\n}\n.ceruleanSkyportRaidView {\n overflow: hidden;\n}\n.ceruleanSkyportRaidView__raidForeground {\n animation: mh-improved-skyport-raid-cabin 7s ease-in-out infinite;\n}\n.ceruleanSkyportRaidView__raidBackground {\n animation: mh-improved-skyport-raid-terrain 19s ease-in-out infinite;\n}\n.ceruleanSkyportRaidView__raidBackground::before,\n.ceruleanSkyportRaidView__raidBackground::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 200%;\n height: 100%;\n content: "";\n background-repeat: repeat-x;\n background-size: 50% 100%;\n}\n.ceruleanSkyportRaidView__raidBackground::before {\n animation: mh-improved-skyport-raid-clouds 24s linear infinite;\n}\n.ceruleanSkyportRaidView__raidBackground::after {\n animation: mh-improved-skyport-raid-clouds 47s linear infinite;\n}\n.ceruleanSkyportRaidView__raidProgressBar {\n position: relative;\n overflow: hidden;\n}\n.ceruleanSkyportRaidView__raidProgressBar::after {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: "";\n background:\n linear-gradient(\n 90deg,\n transparent 30%,\n rgb(255 255 255 / 42%) 50%,\n transparent 70%);\n transform: translateX(-125%);\n animation: mh-improved-skyport-raid-progress-sheen 4.5s ease-in-out infinite;\n}\n.headsUpDisplayCeruleanSkyportView__fuelToggleButton {\n transition: filter 0.15s ease-out, transform 0.15s ease-out;\n}\n.headsUpDisplayCeruleanSkyportView__fuelContainer.active .headsUpDisplayCeruleanSkyportView__fuelToggleButton {\n animation: mh-improved-skyport-fuel-ready 2.8s ease-in-out infinite;\n}\n.headsUpDisplayCeruleanSkyportView__fuelToggleButton:active {\n transform: scale(0.96);\n}\n@keyframes mh-improved-skyport-raid-cabin {\n 0%, 100% {\n transform: scale(1.02) translate3d(0, 0, 0) rotate(-0.15deg);\n }\n 50% {\n transform: scale(1.02) translate3d(1px, 3px, 0) rotate(0.15deg);\n }\n}\n@keyframes mh-improved-skyport-raid-terrain {\n 0%, 100% {\n transform: scale(1.04) translate3d(-3px, -1px, 0);\n }\n 50% {\n transform: scale(1.06) translate3d(3px, 1px, 0);\n }\n}\n@keyframes mh-improved-skyport-raid-clouds {\n 0% {\n transform: translate3d(0, 0, 0);\n }\n 100% {\n transform: translate3d(-50%, 0, 0);\n }\n}\n@keyframes mh-improved-skyport-raid-progress-sheen {\n 0%, 20% {\n transform: translateX(-125%);\n }\n 55%, 100% {\n transform: translateX(125%);\n }\n}\n@keyframes mh-improved-skyport-fuel-ready {\n 0%, 100% {\n filter: brightness(1);\n }\n 50% {\n filter: brightness(1.12) drop-shadow(0 0 3px rgb(187 86 255 / 70%));\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .ceruleanSkyportShippingView__huntsRemainingContainer:hover .ceruleanSkyportShippingView__hourglassIcon,\n .headsUpDisplayCeruleanSkyportView__logDialogHeaderColonelAirship,\n .headsUpDisplayCeruleanSkyportView__logDialogHeaderDirigible,\n .ceruleanSkyportShippingView__currentShipmentDirigible,\n .ceruleanSkyportRaidView__raidForeground,\n .ceruleanSkyportRaidView__raidBackground,\n .ceruleanSkyportRaidView__raidBackground::before,\n .ceruleanSkyportRaidView__raidBackground::after,\n .ceruleanSkyportRaidView__raidProgressBar::after,\n .headsUpDisplayCeruleanSkyportView__fuelContainer.active .headsUpDisplayCeruleanSkyportView__fuelToggleButton {\n animation: none;\n }\n .headsUpDisplayCeruleanSkyportView__childView:hover .ceruleanSkyportShippingView__foreground {\n transform: none;\n }\n}\n.headsUpDisplayCeruleanSkyportView__logDialogLootContainer {\n max-width: 115px;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogLootName.name {\n width: auto;\n max-width: 115px;\n padding: 0 2px;\n white-space: break-spaces;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogPointsImageThumbnail,\n.headsUpDisplayCeruleanSkyportView__logDialogGoldImageThumbnail,\n.headsUpDisplayCeruleanSkyportView__logDialogLootImageThumbnail {\n position: relative;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogGoldContainer .quantity,\n.headsUpDisplayCeruleanSkyportView__logDialogPointsContainer .quantity,\n.headsUpDisplayCeruleanSkyportView__logDialogItemContainer .quantity {\n position: absolute;\n right: 0;\n bottom: 0;\n width: auto;\n min-width: 5px;\n padding: 3px;\n font-weight: 700;\n line-height: 11px;\n text-align: right;\n}\n.headsUpDisplayCeruleanSkyportView__raidInfoContainer .headsUpDisplayCeruleanSkyportView__currentRaidThumbnail {\n width: 40px;\n height: 40px;\n}\n.headsUpDisplayCeruleanSkyportView__header {\n top: 0;\n}\n.headsUpDisplayCeruleanSkyportView__headerTitle {\n top: 1px;\n left: 268px;\n width: 226px;\n border: 3px solid #717c8b;\n border-bottom: none;\n border-radius: 5% 5% 8px 12px;\n box-shadow: 0 -3px 1px -1px #323c47;\n}\n.headsUpDisplayCeruleanSkyportView__logButton:hover {\n filter: brightness(1.2);\n}\n.ceruleanSkyportInventoryView__inventoryBlockQuantity.quantity {\n height: 16px;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogLootQuantity.quantity {\n position: absolute;\n right: 0;\n bottom: -4px;\n width: auto;\n min-width: 5px;\n padding: 3px;\n font-weight: 700;\n line-height: 11px;\n text-align: right;\n}\n.headsUpDisplayCeruleanSkyportView__overlay.mh-improved-skyport-ledger-overlay.active {\n background: none;\n}\n.headsUpDisplayCeruleanSkyportView__overlay.mh-improved-skyport-ledger-overlay.active::before {\n position: fixed;\n inset: 0;\n z-index: -1;\n content: "";\n background: url(https://www.mousehuntgame.com/images/ui/backgrounds/overlay.png) 0 0 repeat;\n}\n';
44460
+ styles_default82 = '/* src/modules/location-huds/locations/cerulean-skyport/styles.css */\n.headsUpDisplayCeruleanSkyportView__logDialogItemContainer .quantity {\n padding: 1px 0;\n}\n.headsUpDisplayCeruleanSkyportView .headsUpDisplayCeruleanSkyportView__frame {\n transition: 0.5s ease;\n}\n.ceruleanSkyportInventoryView__inventoryBlockImage {\n width: 33px;\n height: 34px;\n}\n.headsUpDisplayCeruleanSkyportView__basicBaitContainer .headsUpDisplayCeruleanSkyportView__basicBait,\n.headsUpDisplayCeruleanSkyportView__baitCraftableContainer {\n transform: scale(1.1);\n}\nbutton.headsUpDisplayCeruleanSkyportView__basicBaitButton {\n left: 98px;\n}\n.headsUpDisplayCeruleanSkyportView__upsellContainer .upsellItemActionView-cost-image {\n box-shadow: none;\n}\n.ceruleanSkyportRaidChoiceDialogView__raidCostContainer {\n right: 5px;\n}\n.ceruleanSkyportShippingView__huntsRemainingContainer:hover .ceruleanSkyportShippingView__hourglassIcon {\n animation: mh-improved-shake 0.5s infinite;\n}\n.headsUpDisplayCeruleanSkyportView__airship .floatingIslandsAirship.animate,\n.ceruleanSkyportShippingView__currentShipmentDirigible {\n animation: dirigibleFloat 7s ease-in-out infinite;\n}\n.ceruleanSkyportShippingView__currentShipmentDirigible {\n transition: filter 0.2s ease-out;\n animation-duration: 6s;\n}\n.headsUpDisplayCeruleanSkyportView__airship .floatingIslandsAirship.animate {\n animation-delay: 0.5s;\n}\n.headsUpDisplayCeruleanSkyportView__airship {\n transition: filter 0.2s ease-out;\n}\n.headsUpDisplayCeruleanSkyportView__airship:hover {\n filter: brightness(1.08) drop-shadow(0 2px 3px rgb(18 44 64 / 35%));\n}\n.headsUpDisplayCeruleanSkyportView__airship:active {\n filter: brightness(0.98) drop-shadow(0 1px 1px rgb(18 44 64 / 25%));\n}\n.headsUpDisplayCeruleanSkyportView:has(.headsUpDisplayCeruleanSkyportView__logButton:not(.disabled)) .ceruleanSkyportShippingView__currentShipmentDirigibleHull {\n cursor: pointer;\n}\n.headsUpDisplayCeruleanSkyportView:has(.headsUpDisplayCeruleanSkyportView__logButton:not(.disabled)) .ceruleanSkyportShippingView__currentShipmentDirigible:hover {\n filter: brightness(1.08) drop-shadow(0 2px 3px rgb(18 44 64 / 35%));\n}\n.headsUpDisplayCeruleanSkyportView:has(.headsUpDisplayCeruleanSkyportView__logButton:not(.disabled)) .ceruleanSkyportShippingView__currentShipmentDirigible:active {\n filter: brightness(0.98) drop-shadow(0 1px 1px rgb(18 44 64 / 25%));\n}\n.headsUpDisplayCeruleanSkyportView__childView .ceruleanSkyportShippingView__foreground {\n transition: transform 0.25s ease-out;\n}\n.headsUpDisplayCeruleanSkyportView__childView:hover .ceruleanSkyportShippingView__foreground {\n transform: translateY(2px);\n}\n.ceruleanSkyportShippingView__shipmentRewardItem,\n.ceruleanSkyportShippingView__shipmentQuantity {\n transition: filter 0.2s ease-out, transform 0.2s ease-out;\n}\n.ceruleanSkyportShippingView__shipmentSecuredContainer:hover .ceruleanSkyportShippingView__shipmentRewardItem {\n filter: brightness(1.12) drop-shadow(0 1px 2px rgb(27 44 62 / 35%));\n transform: translateY(-1px) rotate(-2deg) scale(1.04);\n}\n.ceruleanSkyportShippingView__shipmentSecuredContainer:hover .ceruleanSkyportShippingView__shipmentQuantity {\n transform: translateY(-1px);\n}\n.headsUpDisplayCeruleanSkyportView__logDialogHeaderDirigible {\n animation: dirigibleFloat 3s ease-in-out infinite;\n animation-delay: 0.5s;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogHeaderColonelAirship {\n animation: dirigibleFloat 4s ease-in-out infinite;\n}\n.ceruleanSkyportRaidView {\n overflow: hidden;\n}\n.ceruleanSkyportRaidView__raidForeground {\n animation: mh-improved-skyport-raid-cabin 7s ease-in-out infinite;\n}\n.ceruleanSkyportRaidView__raidBackground {\n animation: mh-improved-skyport-raid-terrain 19s ease-in-out infinite;\n}\n.ceruleanSkyportRaidView__raidBackground::before,\n.ceruleanSkyportRaidView__raidBackground::after {\n position: absolute;\n top: 0;\n left: 0;\n width: 200%;\n height: 100%;\n content: "";\n background-repeat: repeat-x;\n background-size: 50% 100%;\n}\n.ceruleanSkyportRaidView__raidBackground::before {\n animation: mh-improved-skyport-raid-clouds 24s linear infinite;\n}\n.ceruleanSkyportRaidView__raidBackground::after {\n animation: mh-improved-skyport-raid-clouds 47s linear infinite;\n}\n.ceruleanSkyportRaidView__raidProgressBar {\n position: relative;\n overflow: hidden;\n}\n.ceruleanSkyportRaidView__raidProgressBar::after {\n position: absolute;\n inset: 0;\n pointer-events: none;\n content: "";\n background:\n linear-gradient(\n 90deg,\n transparent 30%,\n rgb(255 255 255 / 42%) 50%,\n transparent 70%);\n transform: translateX(-125%);\n animation: mh-improved-skyport-raid-progress-sheen 4.5s ease-in-out infinite;\n}\n.headsUpDisplayCeruleanSkyportView__fuelToggleButton {\n transition: filter 0.15s ease-out, transform 0.15s ease-out;\n}\n.headsUpDisplayCeruleanSkyportView__fuelContainer.active .headsUpDisplayCeruleanSkyportView__fuelToggleButton {\n animation: mh-improved-skyport-fuel-ready 2.8s ease-in-out infinite;\n}\n.headsUpDisplayCeruleanSkyportView__fuelToggleButton:active {\n transform: scale(0.96);\n}\n@keyframes mh-improved-skyport-raid-cabin {\n 0%, 100% {\n transform: scale(1.02) translate3d(0, 0, 0) rotate(-0.15deg);\n }\n 50% {\n transform: scale(1.02) translate3d(1px, 3px, 0) rotate(0.15deg);\n }\n}\n@keyframes mh-improved-skyport-raid-terrain {\n 0%, 100% {\n transform: scale(1.04) translate3d(-3px, -1px, 0);\n }\n 50% {\n transform: scale(1.06) translate3d(3px, 1px, 0);\n }\n}\n@keyframes mh-improved-skyport-raid-clouds {\n 0% {\n transform: translate3d(0, 0, 0);\n }\n 100% {\n transform: translate3d(-50%, 0, 0);\n }\n}\n@keyframes mh-improved-skyport-raid-progress-sheen {\n 0%, 20% {\n transform: translateX(-125%);\n }\n 55%, 100% {\n transform: translateX(125%);\n }\n}\n@keyframes mh-improved-skyport-fuel-ready {\n 0%, 100% {\n filter: brightness(1);\n }\n 50% {\n filter: brightness(1.12) drop-shadow(0 0 3px rgb(187 86 255 / 70%));\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .ceruleanSkyportShippingView__huntsRemainingContainer:hover .ceruleanSkyportShippingView__hourglassIcon,\n .headsUpDisplayCeruleanSkyportView__logDialogHeaderColonelAirship,\n .headsUpDisplayCeruleanSkyportView__logDialogHeaderDirigible,\n .ceruleanSkyportShippingView__currentShipmentDirigible,\n .ceruleanSkyportRaidView__raidForeground,\n .ceruleanSkyportRaidView__raidBackground,\n .ceruleanSkyportRaidView__raidBackground::before,\n .ceruleanSkyportRaidView__raidBackground::after,\n .ceruleanSkyportRaidView__raidProgressBar::after,\n .headsUpDisplayCeruleanSkyportView__fuelContainer.active .headsUpDisplayCeruleanSkyportView__fuelToggleButton {\n animation: none;\n }\n .headsUpDisplayCeruleanSkyportView__childView:hover .ceruleanSkyportShippingView__foreground {\n transform: none;\n }\n}\n.headsUpDisplayCeruleanSkyportView__logDialogLootContainer {\n max-width: 115px;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogLootName.name {\n width: auto;\n max-width: 115px;\n padding: 0 2px;\n white-space: break-spaces;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogPointsImageThumbnail,\n.headsUpDisplayCeruleanSkyportView__logDialogGoldImageThumbnail,\n.headsUpDisplayCeruleanSkyportView__logDialogLootImageThumbnail {\n position: relative;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogGoldContainer .quantity,\n.headsUpDisplayCeruleanSkyportView__logDialogPointsContainer .quantity,\n.headsUpDisplayCeruleanSkyportView__logDialogItemContainer .quantity {\n position: absolute;\n right: 0;\n bottom: 0;\n width: auto;\n min-width: 5px;\n padding: 3px;\n font-weight: 700;\n line-height: 11px;\n text-align: right;\n}\n.headsUpDisplayCeruleanSkyportView__raidInfoContainer .headsUpDisplayCeruleanSkyportView__currentRaidThumbnail {\n width: 40px;\n height: 40px;\n}\n.headsUpDisplayCeruleanSkyportView__header {\n top: 0;\n}\n.headsUpDisplayCeruleanSkyportView__headerTitle {\n top: 1px;\n left: 268px;\n width: 226px;\n border: 3px solid #717c8b;\n border-bottom: none;\n border-radius: 5% 5% 8px 12px;\n box-shadow: 0 -3px 1px -1px #323c47;\n}\n.headsUpDisplayCeruleanSkyportView__logButton:hover {\n filter: brightness(1.2);\n}\n.ceruleanSkyportInventoryView__inventoryBlockQuantity.quantity {\n height: 16px;\n}\n.headsUpDisplayCeruleanSkyportView__logDialogLootQuantity.quantity {\n position: absolute;\n right: 0;\n bottom: -4px;\n width: auto;\n min-width: 5px;\n padding: 3px;\n font-weight: 700;\n line-height: 11px;\n text-align: right;\n}\n.headsUpDisplayCeruleanSkyportView__overlay.mh-improved-skyport-ledger-overlay.active {\n background: none;\n}\n.headsUpDisplayCeruleanSkyportView__overlay.mh-improved-skyport-ledger-overlay.active::before {\n position: fixed;\n inset: 0;\n z-index: -1;\n content: "";\n background: url(https://www.mousehuntgame.com/images/ui/backgrounds/overlay.png) 0 0 repeat;\n}\n.headsUpDisplayCeruleanSkyportView__trapWarningContainer.active {\n top: 40%;\n}\n.ceruleanSkyportRaidView__raidHuntsRemainingText {\n top: 12px;\n left: 18px;\n}\n.ceruleanSkyportRaidChoiceDialogView__raidBlock button.ceruleanSkyportRaidChoiceDialogView__selectRaidButton {\n top: 70px;\n height: 35px;\n}\n';
44244
44461
  }
44245
44462
  });
44246
44463
 
@@ -44251,12 +44468,14 @@ var mhui = (() => {
44251
44468
  init_utils2();
44252
44469
  init_airship_randomizer();
44253
44470
  init_ledger2();
44471
+ init_raid_favorites2();
44254
44472
  init_full_width_airship();
44255
44473
  init_styles83();
44256
44474
  cerulean_skyport_default2 = () => __async(null, null, function* () {
44257
44475
  addHudStyles([styles_default82, full_width_airship_default], "cerulean-skyport");
44258
44476
  addAirshipRandomizer();
44259
44477
  addHullClick();
44478
+ initRaidFavorites();
44260
44479
  });
44261
44480
  }
44262
44481
  });
@@ -46796,7 +47015,7 @@ var mhui = (() => {
46796
47015
  let gold = 0;
46797
47016
  let cfDrops = 0;
46798
47017
  let totalHunts = 0;
46799
- let catches = 0;
47018
+ let catches2 = 0;
46800
47019
  function addRate(step2, hunts, change) {
46801
47020
  if (runValues[step2] == null) {
46802
47021
  runValues[step2] = [];
@@ -46885,7 +47104,7 @@ var mhui = (() => {
46885
47104
  addRate(stepDetails[step].toKB, hunts, rate * stepDetails[step].cKB);
46886
47105
  addRate(stepDetails[step].toBKB, hunts, rate * stepDetails[step].cBKB);
46887
47106
  addRate(step, hunts, rate * stepDetails[step].cFTA);
46888
- catches += rate * (stepDetails[step].cPush + stepDetails[step].cTA);
47107
+ catches2 += rate * (stepDetails[step].cPush + stepDetails[step].cTA);
46889
47108
  } else if (hunts - 1 == stepDetails[step].sync || stepDetails[step].floor >= bail) {
46890
47109
  totalHunts += (hunts - 1) * rate;
46891
47110
  valuesDistribution[stepDetails[step].floor - 1][0] += rate;
@@ -49836,7 +50055,7 @@ var mhui = (() => {
49836
50055
  var conflict_popup_default;
49837
50056
  var init_conflict_popup = __esm({
49838
50057
  "src/modules/native-dark-mode/styles/conflict-popup.css"() {
49839
- conflict_popup_default = "/* src/modules/native-dark-mode/styles/conflict-popup.css */\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.top,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.background {\n background: var(--d-red-dark);\n}\n.mh-dark .pageFrameView #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialogContainer .suffix {\n background-color: var(--d-red-dark);\n border: none;\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.bottom,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.top {\n background: none;\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.bottom,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup #jsDialogClose {\n display: none;\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialogContainer .prefix {\n padding: 10px 0 10px 5px;\n background-color: var(--d-red-dark);\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup h2,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup h3,\n#overlayPopup.mh-improved-darkmode-conflict-popup .title {\n font-size: 18px;\n color: var(--d-text);\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialogContainer .content {\n background-color: var(--d-red-darker);\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.background {\n border-radius: 10px;\n}\n";
50058
+ conflict_popup_default = "/* src/modules/native-dark-mode/styles/conflict-popup.css */\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.top,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.background {\n background: var(--d-red-dark);\n}\n.mh-dark .pageFrameView #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialogContainer .suffix {\n background-color: var(--d-red-dark);\n border: none;\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.bottom,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.top {\n background: none;\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.bottom,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup #jsDialogClose {\n display: none;\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialogContainer .prefix {\n padding: 10px 0 10px 5px;\n background-color: var(--d-red-dark);\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup h2,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup h3,\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .title {\n font-size: 18px;\n color: var(--d-text);\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialogContainer .content {\n background-color: var(--d-red-darker);\n}\n.mh-dark #overlayPopup.mh-improved-darkmode-conflict-popup .jsDialog.background {\n border-radius: 10px;\n}\n";
49840
50059
  }
49841
50060
  });
49842
50061
 
@@ -49844,7 +50063,7 @@ var mhui = (() => {
49844
50063
  var events_default5;
49845
50064
  var init_events6 = __esm({
49846
50065
  "src/modules/native-dark-mode/styles/events.css"() {
49847
- events_default5 = "/* src/modules/native-dark-mode/styles/events.css */\n.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table-cell a {\n color: var(--d-text-dark);\n}\n.itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table .itemPurchaseView-action-itemCost-table-cell.owned {\n color: var(--d-text-dark);\n}\n";
50066
+ events_default5 = "/* src/modules/native-dark-mode/styles/events.css */\n.mh-dark .itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table-cell a {\n color: var(--d-text-dark);\n}\n.mh-dark .itemPurchaseView-container.apothecary .itemPurchaseView-action-itemCost-table .itemPurchaseView-action-itemCost-table-cell.owned {\n color: var(--d-text-dark);\n}\n";
49848
50067
  }
49849
50068
  });
49850
50069
 
@@ -49852,7 +50071,7 @@ var mhui = (() => {
49852
50071
  var favorite_setups_default3;
49853
50072
  var init_favorite_setups3 = __esm({
49854
50073
  "src/modules/native-dark-mode/styles/favorite-setups.css"() {
49855
- favorite_setups_default3 = "/* src/modules/native-dark-mode/styles/favorite-setups.css */\n.mh-improved-favorite-setups-blueprint-container .row.location-favorite {\n color: var(--d);\n background-color: var(--d-yellow);\n}\n.mh-dark .row.location-favorite .campPage-trap-itemBrowser-item-powerType::after {\n color: var(--d-text-dark);\n}\n.mh-dark .mh-improved-favorite-setups-button-label {\n color: var(--d-text-muted);\n}\n";
50074
+ favorite_setups_default3 = "/* src/modules/native-dark-mode/styles/favorite-setups.css */\n.mh-dark .mh-improved-favorite-setups-blueprint-container .row.location-favorite {\n color: var(--d);\n background-color: var(--d-yellow);\n}\n.mh-dark .row.location-favorite .campPage-trap-itemBrowser-item-powerType::after {\n color: var(--d-text-dark);\n}\n.mh-dark .mh-improved-favorite-setups-button-label {\n color: var(--d-text-muted);\n}\n";
49856
50075
  }
49857
50076
  });
49858
50077
 
@@ -49868,7 +50087,7 @@ var mhui = (() => {
49868
50087
  var general_default6;
49869
50088
  var init_general6 = __esm({
49870
50089
  "src/modules/native-dark-mode/styles/general.css"() {
49871
- general_default6 = "/* src/modules/native-dark-mode/styles/general.css */\nbody.mh-dark {\n color: var(--d-text);\n background-color: var(--d);\n scrollbar-color: var(--d-text-muted) var(--d-alt);\n}\n.mh-dark .quickSendWrapper {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .mousehuntActionButton.lightBlue {\n box-shadow: 1px 1px 1px var(--d-blue-dark);\n}\n.mh-dark .mousehunt-improved-lgs-reminder-new {\n color: var(--d-text-dark);\n}\n.mh-dark .mousehuntPage-content select,\n.mh-dark .journal .entry .journaltext input.quickSendInput,\n.mh-dark .mousehuntPage-content input.quickSendInput,\n.mh-dark .quickSendInput,\n.mh-dark input.treasureMapView-block-search-text,\n.mh-dark .mh-improved-favorite-setups-component-picker-popup-search input,\n.mh-dark .mousehuntPage-content textarea,\n.mh-dark .mousehuntPage-content input,\n.mh-dark #mousehunt-improved-settings-override-flags input,\n.mh-dark .treasureMapView-shareLinkInput,\n.mh-dark .userSelectorView-filter-input,\n.mh-dark .mhui-marketplace-filter,\n.mh-dark #mousehunt-improved-settings-override-styles textarea {\n color: var(--d-text);\n background-color: var(--d-action);\n border-color: var(--d-border);\n}\n.mh-dark .mousehuntPage-content input::placeholder,\n.mh-dark .mousehuntPage-content select::placeholder,\n.mh-dark .mousehuntPage-content textarea::placeholder {\n color: var(--d-text-muted);\n}\n.mh-dark .journal-history-page-selector .page-input {\n border: 1px solid var(--d-border);\n}\n.mh-dark .huntersHornView__hornImage {\n 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);\n}\n.mh-dark .treasureMapRootView .messageBoardView .pagerView-section.previous .pagerView-link,\n.mh-dark .teamPage-messageBoard-corkboard .pagerView-section.previous .pagerView-link,\n.mh-dark .hunterInfoView-corkBoardBlock .pagerView-section.previous .pagerView-link {\n color: var(--d-text-muted);\n}\n.mh-dark #OnboardArrow.onboardPopup.top {\n z-index: 100;\n color: #000;\n}\n.mh-dark .travelPage-map-message {\n top: 375px;\n color: #000;\n}\n.mh-dark #mhhh_flash_message_div {\n color: var(--d-text-dark);\n}\n.mh-dark .notificationMessageList .message .clear-block {\n color: var(--d-text-dark);\n}\n.mh-dark code {\n background-color: var(--d-alt);\n}\n.mh-dark .mousehunt-improved-settings-export-popup code {\n color: var(--d-text);\n}\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialogContainer .content {\n color: #000;\n background-color: transparent;\n}\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialog.bottom {\n background-color: transparent;\n}\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialogContainer .content h2,\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialogContainer .content h3 {\n color: #000;\n}\n.mh-dark #overlayPopup.loading.mh-improved-loading .jsDialogContainer .suffix {\n background-image: url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_green.gif);\n background-position: 98% 10px;\n background-size: 110px;\n}\n.mh-dark #mousehuntContainer.PageNewsPost {\n background: transparent;\n}\n.mh-dark .flexibleDialogWarmBrown.shopDescription b {\n color: #fc6;\n text-shadow: none;\n}\n.mh-dark .drawPage-ballot .entries,\n.mh-dark .recentWinners,\n.mh-dark .socialBallots,\n.mh-dark .drawPage-ballot,\n.mh-dark .ballotEntry {\n color: var(--d-black);\n background-color: var(--d-yellow);\n}\n.mh-dark input#ballot_qty {\n color: var(--d-text-dark);\n background-color: var(--d-transparent-20);\n}\n.mh-dark .hunterTitle .titles h1 {\n color: var(--d-text);\n}\n.mh-dark .hunterTitle .titles .userLevel {\n color: var(--d-text-dark);\n}\n.mh-dark .harbourHUD-area-title {\n color: #000;\n}\n.mh-dark #chro-minluck-table {\n color: var(--d-text);\n}\n.mh-dark #minluck-list {\n color: var(--d-text-muted);\n background-color: var(--d);\n}\n.mh-dark .chro-minluck-overall-cr.bad-minluck {\n color: var(--d-red);\n}\n.mh-dark .chro-minluck-overall-cr.good-minluck {\n color: var(--d-green);\n}\n.mh-dark .QuestKingsGiveawayCampHUD__footer,\n.mh-dark .QuestKingsGiveawayCampHUD-quantity {\n color: var(--d-text-dark);\n}\n.mh-dark #mh-improved-cre.cre-loading::after {\n color: var(--d-text-muted);\n}\n.mh-dark .pagerView-link {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n border-style: solid;\n}\n.mh-dark .pagerView-section.previous .pagerView-link,\n.mh-dark .pagerView-section.next .pagerView-link {\n color: var(--d-text);\n background-color: var(--d-bg);\n border-color: var(--d-action);\n}\n.mh-dark .pagerView-section.previous.active .pagerView-link,\n.mh-dark .pagerView-section.next.active .pagerView-link {\n color: var(--d-text-muted);\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .pagerView-section.previous.active .pagerView-link:hover,\n.mh-dark .pagerView-section.next.active .pagerView-link:hover {\n background-color: var(--d);\n}\n.mh-dark .mousehuntPage-content input[type=text]:hover,\n.mh-dark .mousehuntPage-content input[type=password]:hover,\n.mh-dark .mousehuntPage-content input[type=input]:hover,\n.mh-dark .mousehuntPage-content select:hover,\n.mh-dark .mousehuntPage-content textarea:hover {\n border-color: var(--d-yellow-dark);\n}\n.mh-dark .mousehuntPage-content .hunterInfoView-wrapper textarea:hover {\n border-color: var(--d);\n}\n.mh-dark .mousehunt-improved-error p {\n color: var(--d-red-dark);\n}\n.claimGiftPage__giftQuantity,\n.claimGiftPage__giftDescription {\n color: var(--d-text-dark);\n}\n.mh-dark .inventoryPage-confirmPopup-suffix-quantityContainer-setMax {\n color: var(--d-link);\n}\n.mh-dark .mousehuntPage-message {\n color: var(--d-text-dark);\n}\n.mh-dark .mhct-msg-display.mhct-toast {\n color: var(--d-text-dark);\n}\n.mh-dark #OnboardArrow .whiteboard {\n color: var(--d-text-dark);\n}\n.mh-dark .mh-improved-travel-window-search-label {\n color: var(--d-text-muted);\n}\n.mh-dark #OnboardArrow.onboardPopup.celebrationPopup .introPopupContent,\n.mh-dark #OnboardArrow.onboardPopup.celebrationPopup .introPopupImage,\n.mh-dark #OnboardArrow.onboardPopup .introPopupContent h2 {\n color: var(--d-text);\n}\n.mh-dark #OnboardArrow.onboardPopup.left {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_left.png);\n}\n.mh-dark #OnboardArrow.onboardPopup.right {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_right.png);\n}\n.mh-dark #OnboardArrow.onboardPopup.top {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_top.png);\n}\n.mh-dark #OnboardArrow.onboardPopup.bottom {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_bottom.png);\n}\n";
50090
+ general_default6 = "/* src/modules/native-dark-mode/styles/general.css */\nbody.mh-dark {\n color: var(--d-text);\n background-color: var(--d);\n scrollbar-color: var(--d-text-muted) var(--d-alt);\n}\n.mh-dark .quickSendWrapper {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .mousehuntActionButton.lightBlue {\n box-shadow: 1px 1px 1px var(--d-blue-dark);\n}\n.mh-dark .mousehunt-improved-lgs-reminder-new {\n color: var(--d-text-dark);\n}\n.mh-dark .mousehuntPage-content select,\n.mh-dark .journal .entry .journaltext input.quickSendInput,\n.mh-dark .mousehuntPage-content input.quickSendInput,\n.mh-dark .quickSendInput,\n.mh-dark input.treasureMapView-block-search-text,\n.mh-dark .mh-improved-favorite-setups-component-picker-popup-search input,\n.mh-dark .mousehuntPage-content textarea,\n.mh-dark .mousehuntPage-content input,\n.mh-dark #mousehunt-improved-settings-override-flags input,\n.mh-dark .treasureMapView-shareLinkInput,\n.mh-dark .userSelectorView-filter-input,\n.mh-dark .mhui-marketplace-filter,\n.mh-dark #mousehunt-improved-settings-override-styles textarea {\n color: var(--d-text);\n background-color: var(--d-action);\n border-color: var(--d-border);\n}\n.mh-dark .mousehuntPage-content input::placeholder,\n.mh-dark .mousehuntPage-content select::placeholder,\n.mh-dark .mousehuntPage-content textarea::placeholder {\n color: var(--d-text-muted);\n}\n.mh-dark .journal-history-page-selector .page-input {\n border: 1px solid var(--d-border);\n}\n.mh-dark .huntersHornView__hornImage {\n 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);\n}\n.mh-dark .treasureMapRootView .messageBoardView .pagerView-section.previous .pagerView-link,\n.mh-dark .teamPage-messageBoard-corkboard .pagerView-section.previous .pagerView-link,\n.mh-dark .hunterInfoView-corkBoardBlock .pagerView-section.previous .pagerView-link {\n color: var(--d-text-muted);\n}\n.mh-dark #OnboardArrow.onboardPopup.top {\n z-index: 100;\n color: #000;\n}\n.mh-dark .travelPage-map-message {\n top: 375px;\n color: #000;\n}\n.mh-dark #mhhh_flash_message_div {\n color: var(--d-text-dark);\n}\n.mh-dark .notificationMessageList .message .clear-block {\n color: var(--d-text-dark);\n}\n.mh-dark code {\n background-color: var(--d-alt);\n}\n.mh-dark .mousehunt-improved-settings-export-popup code {\n color: var(--d-text);\n}\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialogContainer .content {\n color: #000;\n background-color: transparent;\n}\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialog.bottom {\n background-color: transparent;\n}\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialogContainer .content h2,\n.mh-dark #overlayPopup.mh-improved-update-summary .jsDialogContainer .content h3 {\n color: #000;\n}\n.mh-dark #overlayPopup.loading.mh-improved-loading .jsDialogContainer .suffix {\n background-image: url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_green.gif);\n background-position: 98% 10px;\n background-size: 110px;\n}\n.mh-dark #mousehuntContainer.PageNewsPost {\n background: transparent;\n}\n.mh-dark .flexibleDialogWarmBrown.shopDescription b {\n color: #fc6;\n text-shadow: none;\n}\n.mh-dark .drawPage-ballot .entries,\n.mh-dark .recentWinners,\n.mh-dark .socialBallots,\n.mh-dark .drawPage-ballot,\n.mh-dark .ballotEntry {\n color: var(--d-black);\n background-color: var(--d-yellow);\n}\n.mh-dark input#ballot_qty {\n color: var(--d-text-dark);\n background-color: var(--d-transparent-20);\n}\n.mh-dark .hunterTitle .titles h1 {\n color: var(--d-text);\n}\n.mh-dark .hunterTitle .titles .userLevel {\n color: var(--d-text-dark);\n}\n.mh-dark .harbourHUD-area-title {\n color: #000;\n}\n.mh-dark #chro-minluck-table {\n color: var(--d-text);\n}\n.mh-dark #minluck-list {\n color: var(--d-text-muted);\n background-color: var(--d);\n}\n.mh-dark .chro-minluck-overall-cr.bad-minluck {\n color: var(--d-red);\n}\n.mh-dark .chro-minluck-overall-cr.good-minluck {\n color: var(--d-green);\n}\n.mh-dark .QuestKingsGiveawayCampHUD__footer,\n.mh-dark .QuestKingsGiveawayCampHUD-quantity {\n color: var(--d-text-dark);\n}\n.mh-dark #mh-improved-cre.cre-loading::after {\n color: var(--d-text-muted);\n}\n.mh-dark .pagerView-link {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n border-style: solid;\n}\n.mh-dark .pagerView-section.previous .pagerView-link,\n.mh-dark .pagerView-section.next .pagerView-link {\n color: var(--d-text);\n background-color: var(--d-bg);\n border-color: var(--d-action);\n}\n.mh-dark .pagerView-section.previous.active .pagerView-link,\n.mh-dark .pagerView-section.next.active .pagerView-link {\n color: var(--d-text-muted);\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .pagerView-section.previous.active .pagerView-link:hover,\n.mh-dark .pagerView-section.next.active .pagerView-link:hover {\n background-color: var(--d);\n}\n.mh-dark .mousehuntPage-content input[type=text]:hover,\n.mh-dark .mousehuntPage-content input[type=password]:hover,\n.mh-dark .mousehuntPage-content input[type=input]:hover,\n.mh-dark .mousehuntPage-content select:hover,\n.mh-dark .mousehuntPage-content textarea:hover {\n border-color: var(--d-yellow-dark);\n}\n.mh-dark .mousehuntPage-content .hunterInfoView-wrapper textarea:hover {\n border-color: var(--d);\n}\n.mh-dark .mousehunt-improved-error p {\n color: var(--d-red-dark);\n}\n.mh-dark .claimGiftPage__giftQuantity,\n.mh-dark .claimGiftPage__giftDescription {\n color: var(--d-text-dark);\n}\n.mh-dark .inventoryPage-confirmPopup-suffix-quantityContainer-setMax {\n color: var(--d-link);\n}\n.mh-dark .mousehuntPage-message {\n color: var(--d-text-dark);\n}\n.mh-dark .mhct-msg-display.mhct-toast {\n color: var(--d-text-dark);\n}\n.mh-dark #OnboardArrow .whiteboard {\n color: var(--d-text-dark);\n}\n.mh-dark .mh-improved-travel-window-search-label {\n color: var(--d-text-muted);\n}\n.mh-dark #OnboardArrow.onboardPopup.celebrationPopup .introPopupContent,\n.mh-dark #OnboardArrow.onboardPopup.celebrationPopup .introPopupImage,\n.mh-dark #OnboardArrow.onboardPopup .introPopupContent h2 {\n color: var(--d-text);\n}\n.mh-dark #OnboardArrow.onboardPopup.left {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_left.png);\n}\n.mh-dark #OnboardArrow.onboardPopup.right {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_right.png);\n}\n.mh-dark #OnboardArrow.onboardPopup.top {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_top.png);\n}\n.mh-dark #OnboardArrow.onboardPopup.bottom {\n background-image: url(https://i.mouse.rip/onboard/infoArrowJumbo_bottom.png);\n}\n";
49872
50091
  }
49873
50092
  });
49874
50093
 
@@ -49964,7 +50183,7 @@ var mhui = (() => {
49964
50183
  var loading_default;
49965
50184
  var init_loading = __esm({
49966
50185
  "src/modules/native-dark-mode/styles/loading.css"() {
49967
- loading_default = '/* src/modules/native-dark-mode/styles/loading.css */\n.mh-dark .springHuntHUD-popup-tabContentContainer.loading::after,\n.mh-dark .eggSweeper-layer.loading::after,\n.mh-dark .giftSelectorView-friendContainer.loading,\n.mh-dark .itemPurchaseView-container.loading .itemPurchaseView-action-state.loading,\n.mh-dark .itemView-loading::after,\n.mh-dark .journalContainer.loading .journalEntries::after,\n.mh-dark .MHCheckoutReviewCartPageView-paymentLoader::after,\n.mh-dark .MHCheckoutTermsOfServicePageView,\n.mh-dark .messageBoardView-loader,\n.mh-dark .mouseListView-categoryContent-loading,\n.mh-dark .mouseView-image.loading,\n.mh-dark .newsArchivesListView.loading .newsArchivesListView-page::after,\n.mh-dark .scoreboardTableView.loading .scoreboardTableView-results::after,\n.mh-dark .halloweenMemoryGame-content.loading,\n.mh-dark .trapSelectorView__codexBrowser .loading,\n.mh-dark .treasureMapDialogView.loading .treasureMapDialogView-content,\n.mh-dark .treasureMapListingsTableView-loading-mouse,\n.mh-dark .treasureMapRootView-content.loading,\n.mh-dark .treasureMapView-block-content.loading::after,\n.mh-dark .userSelector-table tr.loading td,\n.mh-dark .mousehuntHud-page-tabContent-loading,\n.mh-dark .mousehuntHud-page-subTabContent-loading,\n.mh-dark .mousehuntPage-loading,\n.mh-dark .adversariesPage-categoryContent-loading,\n.mh-dark .campPage-trap-itemBrowser-items .loading,\n.mh-dark .campPage-trap-trapEffectivenessContainer .loading,\n.mh-dark .campPage-tabs-tabContent-loading,\n.mh-dark .friendsPage-friendList-content.busy::after,\n.mh-dark .tournamentPage-tournamentRow-loading,\n.mh-dark .adventCalendarView-gift.busy::after,\n.mh-dark .springHuntHUD-dialog-loading,\n.mh-dark .giftSelectorView-content-selectedFriend-loading,\n.mh-dark .giftSelectorView-confirmOverlay.loading .giftSelectorView-confirmPopup-content,\n.mh-dark .giftSelectorView-inbox-loading,\n.mh-dark .riftFuromaHUD-craftingPopup-padding-loading,\n.mh-dark .marketplaceView-item-image,\n.mh-dark .campPage-trap-friendList.loading .campPage-trap-friendList-loading,\n.mh-dark .campPage-trap-itemBrowser-armed .loading,\n.mh-dark .teamPage-acivity-loading {\n background-image: url(https://i.mouse.rip/mouse-loading.gif);\n opacity: 0.7;\n}\n.treasureMapView-block-content.loading::after {\n background-color: transparent;\n}\n.mh-dark #messengerUINotification .loading {\n background: none;\n}\n.mh-dark #messengerUINotification .loading::after {\n position: absolute;\n inset: 0;\n content: "";\n background: url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_bubble.gif?asset_cache_version=6) 50% 43% no-repeat;\n filter: invert(1);\n}\n';
50186
+ loading_default = '/* src/modules/native-dark-mode/styles/loading.css */\n.mh-dark .springHuntHUD-popup-tabContentContainer.loading::after,\n.mh-dark .eggSweeper-layer.loading::after,\n.mh-dark .giftSelectorView-friendContainer.loading,\n.mh-dark .itemPurchaseView-container.loading .itemPurchaseView-action-state.loading,\n.mh-dark .itemView-loading::after,\n.mh-dark .journalContainer.loading .journalEntries::after,\n.mh-dark .MHCheckoutReviewCartPageView-paymentLoader::after,\n.mh-dark .MHCheckoutTermsOfServicePageView,\n.mh-dark .messageBoardView-loader,\n.mh-dark .mouseListView-categoryContent-loading,\n.mh-dark .mouseView-image.loading,\n.mh-dark .newsArchivesListView.loading .newsArchivesListView-page::after,\n.mh-dark .scoreboardTableView.loading .scoreboardTableView-results::after,\n.mh-dark .halloweenMemoryGame-content.loading,\n.mh-dark .trapSelectorView__codexBrowser .loading,\n.mh-dark .treasureMapDialogView.loading .treasureMapDialogView-content,\n.mh-dark .treasureMapListingsTableView-loading-mouse,\n.mh-dark .treasureMapRootView-content.loading,\n.mh-dark .treasureMapView-block-content.loading::after,\n.mh-dark .userSelector-table tr.loading td,\n.mh-dark .mousehuntHud-page-tabContent-loading,\n.mh-dark .mousehuntHud-page-subTabContent-loading,\n.mh-dark .mousehuntPage-loading,\n.mh-dark .adversariesPage-categoryContent-loading,\n.mh-dark .campPage-trap-itemBrowser-items .loading,\n.mh-dark .campPage-trap-trapEffectivenessContainer .loading,\n.mh-dark .campPage-tabs-tabContent-loading,\n.mh-dark .friendsPage-friendList-content.busy::after,\n.mh-dark .tournamentPage-tournamentRow-loading,\n.mh-dark .adventCalendarView-gift.busy::after,\n.mh-dark .springHuntHUD-dialog-loading,\n.mh-dark .giftSelectorView-content-selectedFriend-loading,\n.mh-dark .giftSelectorView-confirmOverlay.loading .giftSelectorView-confirmPopup-content,\n.mh-dark .giftSelectorView-inbox-loading,\n.mh-dark .riftFuromaHUD-craftingPopup-padding-loading,\n.mh-dark .marketplaceView-item-image,\n.mh-dark .campPage-trap-friendList.loading .campPage-trap-friendList-loading,\n.mh-dark .campPage-trap-itemBrowser-armed .loading,\n.mh-dark .teamPage-acivity-loading {\n background-image: url(https://i.mouse.rip/mouse-loading.gif);\n opacity: 0.7;\n}\n.mh-dark .treasureMapView-block-content.loading::after {\n background-color: transparent;\n}\n.mh-dark #messengerUINotification .loading {\n background: none;\n}\n.mh-dark #messengerUINotification .loading::after {\n position: absolute;\n inset: 0;\n content: "";\n background: url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_bubble.gif?asset_cache_version=6) 50% 43% no-repeat;\n filter: invert(1);\n}\n';
49968
50187
  }
49969
50188
  });
49970
50189
 
@@ -49972,7 +50191,7 @@ var mhui = (() => {
49972
50191
  var location_catch_stats_default2;
49973
50192
  var init_location_catch_stats2 = __esm({
49974
50193
  "src/modules/native-dark-mode/styles/location-catch-stats.css"() {
49975
- location_catch_stats_default2 = "/* src/modules/native-dark-mode/styles/location-catch-stats.css */\n.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd) {\n background-color: var(--d-bg-alt);\n}\n.mh-catch-stats {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-catch-stats-header {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-catch-stats-wrapper {\n background-color: var(--d-bg);\n border-color: var(--d-border);\n box-shadow: 1px 1px 1px var(--d-transparent-50), 1px 3px 5px #6a6969;\n}\n.mh-catch-stats:hover,\n.mh-catch-stats-wrapper .mh-catch-stats:hover,\n.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):hover,\n.mh-catch-stats:focus,\n.mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):focus {\n color: var(--d-text);\n background-color: var(--d-action);\n outline-color: var(--d-border);\n}\n.mh-catch-stats-summary-meta,\n.mh-catch-stats-summary-group > summary,\n.mh-catch-stats-summary-location > summary,\n.mh-catch-stats-summary-location-body,\n.mh-catch-stats-list-header {\n border-color: var(--d-border);\n}\n.mh-catch-stats-summary-progress {\n background-color: var(--d-bg-alt);\n}\n.mh-catch-stats-summary-progress-fill {\n background-color: var(--d-green);\n}\n.mh-catch-stats-summary-locations-complete {\n color: var(--d-text-muted);\n}\n.mh-catch-stats-summary-group > summary,\n.mh-catch-stats-summary-location-current > summary {\n background-color: var(--d-bg-alt);\n}\n.mh-catch-stats-summary-updated,\n.mh-catch-stats-summary-loading-text,\n.mh-catch-stats-summary-error {\n color: var(--d-text-muted);\n}\n.mh-catch-stats-summary-location-complete .mh-catch-stats-summary-location-count {\n color: var(--d-green);\n}\n";
50194
+ location_catch_stats_default2 = "/* src/modules/native-dark-mode/styles/location-catch-stats.css */\n.mh-dark .mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd) {\n background-color: var(--d-bg-alt);\n}\n.mh-dark .mh-catch-stats {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .mh-catch-stats-header {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark .mh-catch-stats-wrapper {\n background-color: var(--d-bg);\n border-color: var(--d-border);\n box-shadow: 1px 1px 1px var(--d-transparent-50), 1px 3px 5px #6a6969;\n}\n.mh-dark .mh-catch-stats:hover,\n.mh-dark .mh-catch-stats-wrapper .mh-catch-stats:hover,\n.mh-dark .mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):hover,\n.mh-dark .mh-catch-stats:focus,\n.mh-dark .mh-catch-stats-wrapper .mh-catch-stats:nth-child(odd):focus {\n color: var(--d-text);\n background-color: var(--d-action);\n outline-color: var(--d-border);\n}\n.mh-dark .mh-catch-stats-summary-meta,\n.mh-dark .mh-catch-stats-summary-group > summary,\n.mh-dark .mh-catch-stats-summary-location > summary,\n.mh-dark .mh-catch-stats-summary-location-body,\n.mh-dark .mh-catch-stats-list-header {\n border-color: var(--d-border);\n}\n.mh-dark .mh-catch-stats-summary-progress {\n background-color: var(--d-bg-alt);\n}\n.mh-dark .mh-catch-stats-summary-progress-fill {\n background-color: var(--d-green);\n}\n.mh-dark .mh-catch-stats-summary-locations-complete {\n color: var(--d-text-muted);\n}\n.mh-dark .mh-catch-stats-summary-group > summary,\n.mh-dark .mh-catch-stats-summary-location-current > summary {\n background-color: var(--d-bg-alt);\n}\n.mh-dark .mh-catch-stats-summary-updated,\n.mh-dark .mh-catch-stats-summary-loading-text,\n.mh-dark .mh-catch-stats-summary-error {\n color: var(--d-text-muted);\n}\n.mh-dark .mh-catch-stats-summary-location-complete .mh-catch-stats-summary-location-count {\n color: var(--d-green);\n}\n";
49976
50195
  }
49977
50196
  });
49978
50197
 
@@ -49988,7 +50207,7 @@ var mhui = (() => {
49988
50207
  var markethunt_default;
49989
50208
  var init_markethunt = __esm({
49990
50209
  "src/modules/native-dark-mode/styles/markethunt.css"() {
49991
- markethunt_default = '/* src/modules/native-dark-mode/styles/markethunt.css */\n.mh-dark .marketplaceContentContainer #chartArea,\n.mh-dark .marketplaceContentContainer #stockChartContainer {\n background-color: #2d2d2d !important;\n}\n.mh-dark .marketplaceContentContainer #chartArea svg.highcharts-root,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-series,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-markers,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-legend-item path,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-legend-item rect {\n filter: invert(1);\n}\n.marketplaceView-item-averagePrice.infobox-stat img {\n display: none;\n}\n.marketplaceView-item-averagePrice.infobox-stat #infoboxSbPrice::after {\n display: inline-block;\n width: 16px;\n height: 16px;\n vertical-align: bottom;\n content: "";\n background: url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png);\n background-repeat: no-repeat;\n background-size: contain;\n}\n.mh-dark .marketplaceContentContainer #chartArea .cl-switch .label,\n.mh-dark .marketplaceContentContainer #chartArea #markethuntInfobox,\n.mh-dark .marketplaceContentContainer #chartArea #markethuntInfobox .marketplaceView-goldValue {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-table tr .marketplaceView-listingType.buy {\n transition: none;\n}\n.mh-dark .marketplaceView-table tr:hover .marketplaceView-listingType.buy {\n background-color: var(--d-blue);\n}\n';
50210
+ markethunt_default = '/* src/modules/native-dark-mode/styles/markethunt.css */\n.mh-dark .marketplaceContentContainer #chartArea,\n.mh-dark .marketplaceContentContainer #stockChartContainer {\n background-color: #2d2d2d !important;\n}\n.mh-dark .marketplaceContentContainer #chartArea svg.highcharts-root,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-series,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-markers,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-legend-item path,\n.mh-dark .marketplaceContentContainer #chartArea .highcharts-legend-item rect {\n filter: invert(1);\n}\n.mh-dark .marketplaceView-item-averagePrice.infobox-stat img {\n display: none;\n}\n.mh-dark .marketplaceView-item-averagePrice.infobox-stat #infoboxSbPrice::after {\n display: inline-block;\n width: 16px;\n height: 16px;\n vertical-align: bottom;\n content: "";\n background: url(https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png);\n background-repeat: no-repeat;\n background-size: contain;\n}\n.mh-dark .marketplaceContentContainer #chartArea .cl-switch .label,\n.mh-dark .marketplaceContentContainer #chartArea #markethuntInfobox,\n.mh-dark .marketplaceContentContainer #chartArea #markethuntInfobox .marketplaceView-goldValue {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-table tr .marketplaceView-listingType.buy {\n transition: none;\n}\n.mh-dark .marketplaceView-table tr:hover .marketplaceView-listingType.buy {\n background-color: var(--d-blue);\n}\n';
49992
50211
  }
49993
50212
  });
49994
50213
 
@@ -49996,7 +50215,7 @@ var mhui = (() => {
49996
50215
  var marketplace_default2;
49997
50216
  var init_marketplace2 = __esm({
49998
50217
  "src/modules/native-dark-mode/styles/marketplace.css"() {
49999
- marketplace_default2 = '/* src/modules/native-dark-mode/styles/marketplace.css */\n.mh-dark .mh-dark .marketplaceView-browse-sidebar-link.active {\n color: var(--d-text);\n}\n.mh-dark .marketplaceHome {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView .marketplaceContentContainer {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView h1,\n.mh-dark .marketplaceView-goldValue,\n.mh-dark .marketplaceHome-blockItem-name span {\n color: var(--d-text);\n}\n.mh-dark a.marketplaceView-moreLink,\n.mh-dark .marketplaceHome-block-viewAll {\n color: var(--d-text);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark a.marketplaceView-moreLink:hover,\n.mh-dark a.marketplaceHome-block-viewAll:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-table tr {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table-empty {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table tr:nth-child(odd) {\n color: var(--d-text);\n background-color: var(--d-alt);\n}\n.mh-dark .marketplaceView-table tr.empty {\n background-color: var(--d-alt) !important;\n}\n.mh-dark .marketplaceView-itemImage.favourite {\n box-shadow: none;\n}\n.marketplaceHome-blockMenu.active,\n.mh-dark .marketplaceHome-blockMenu:hover {\n color: var(--d-link);\n border-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-header-tabHeader {\n background-color: var(--d-border);\n}\n.mh-dark .marketplaceView-header-tabHeader:hover,\n.mh-dark .marketplaceView-header-tabHeader.active {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table,\n.mh-dark a.marketplaceView-header-tabHeader,\n.mh-dark .mh-dark .marketplaceView-browse-sidebar-link {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-item-footer {\n background-color: var(--d);\n}\n.mh-dark .marketplaceView-item-footer .marketplaceView-table {\n border-radius: 7px;\n}\n.mh-dark .marketplaceView-table tr:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-listing-progressBar-padding {\n background-color: var(--d);\n}\n.mh-dark .marketplaceView-table-name a,\n.mh-dark .marketplaceView-table-name a:hover {\n color: var(--d-text);\n}\n.mh-dark .marketplaceView-browse-sidebar-link {\n color: var(--d-text);\n background-color: var(--d-alt);\n border: 1px solid var(--d-border);\n}\n.mh-dark .marketplaceView-browse-sidebar-link.active,\n.mh-dark .marketplaceView-browse-sidebar-link:hover {\n color: var(--d-text);\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-browse-filter label {\n color: var(--d-text);\n}\n.mh-dark .marketplaceView-browse-sidebar::after {\n background-color: var(--d);\n}\n.mh-dark .marketplaceView-item-leftBlock .marketplaceHome-block-viewAll,\n.mh-dark a.marketplaceHome-block-viewAll {\n color: var(--d-text);\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark a.marketplaceHome-block-viewAll:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-breadcrumb {\n color: var(--d-text);\n background-color: var(--d);\n border-color: var(--d-border);\n border-width: 1px;\n}\n.mh-dark a.marketplaceView-breadcrumb:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-listingBody {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-item-quickListings a.marketplaceView-goldValue {\n color: var(--d-text);\n}\n.mh-dark .marketplaceView-item-quickListings th {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-listingFooter {\n background-color: var(--d-purple-dark);\n}\n.mh-dark .marketplaceView-item-descriptionContainer {\n border-top: none;\n}\n.mh-dark #chartArea {\n margin-top: 10px;\n margin-bottom: 10px;\n background-color: #fff;\n}\n.mh-dark #markethuntInfobox,\n.mh-dark #markethuntInfobox .marketplaceView-goldValue {\n color: #000;\n}\n.mh-dark .marketplaceView-trendContainer {\n color: var(--d-text-muted);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark .marketplaceView-floatingTooltip {\n color: var(--d-text-muted);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark .marketplaceView-floatingTooltip::after {\n border-top-color: var(--d-border);\n}\n.mh-dark .marketplaceView-item-graphTable .marketplaceView-trendContainer {\n color: var(--d-text-muted);\n background-color: transparent;\n border: none;\n}\n.mh-dark .marketplaceHome-blockMenu {\n border-color: var(--d-transparent-10);\n}\n.mh-dark .marketplaceView-item-input-suggested a {\n color: var(--d-link);\n}\n.mh-dark .marketplaceView-item-cancelButton {\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark .marketplaceView-dialog {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-item-image {\n border: none;\n}\n.mh-dark .marketplaceView-dialog-footer {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-dialog-header {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-listing-progressLabel {\n color: #e7eaee;\n text-shadow:\n 0 1px var(--d-transparent-90),\n 0 -1px var(--d-transparent-90),\n 1px 0 var(--d-transparent-90),\n -1px 0 var(--d-transparent-90),\n 1px 1px var(--d-transparent-90);\n}\n.mh-dark .marketplaceView-listing-progressBar span {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-listingType {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-listingType.buy {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-listingType.sell {\n background-color: var(--d-orange-dark);\n}\n.mh-dark .marketplaceMyListings s {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-item-graph.loading::after {\n background: url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_green.gif) 50% 50% no-repeat;\n}\n.mh-dark span[style="background-color: rgb(214, 235, 161);"],\n.mh-dark tr[style="background-color: rgb(214, 235, 161);"] {\n background-color: var(--d-green-dark) !important;\n}\n.mh-dark .marketplaceView-table-filterReminder {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table tr.buy.canceled,\n.mh-dark .marketplaceView-table tr.buy.canceled .marketplaceView-goldValue {\n color: var(--d-text-dark);\n}\n.mh-dark .marketplaceView-item-inputWrapper input,\n.mh-dark .marketplaceView-item-input input,\n.mh-dark .mhui-marketplace-quick-sell-wrapper {\n color: var(--d-text);\n background-color: var(--d-action);\n border-color: var(--d-border);\n}\n.mh-dark input.mhui-marketplace-quick-sell-quantity {\n color: var(--d-text);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark input.mhui-marketplace-quick-sell-quantity:focus,\n.mh-dark input.mhui-marketplace-quick-sell-quantity:hover {\n background-color: var(--d-bg-alt);\n border-color: var(--d-action);\n}\n.mh-dark .mhui-marketplace-quick-sell-info {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-item-skinWeapon {\n border-color: var(--d-border);\n}\n.mh-dark .loading .marketplaceView-itemImage,\n.mh-dark .empty .marketplaceView-itemImage {\n background-color: var(--d-action);\n}\n';
50218
+ marketplace_default2 = '/* src/modules/native-dark-mode/styles/marketplace.css */\n.mh-dark .mh-dark .marketplaceView-browse-sidebar-link.active {\n color: var(--d-text);\n}\n.mh-dark .marketplaceHome {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView .marketplaceContentContainer {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView h1,\n.mh-dark .marketplaceView-goldValue,\n.mh-dark .marketplaceHome-blockItem-name span {\n color: var(--d-text);\n}\n.mh-dark a.marketplaceView-moreLink,\n.mh-dark .marketplaceHome-block-viewAll {\n color: var(--d-text);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark a.marketplaceView-moreLink:hover,\n.mh-dark a.marketplaceHome-block-viewAll:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-table tr {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table-empty {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table tr:nth-child(odd) {\n color: var(--d-text);\n background-color: var(--d-alt);\n}\n.mh-dark .marketplaceView-table tr.empty {\n background-color: var(--d-alt) !important;\n}\n.mh-dark .marketplaceView-itemImage.favourite {\n box-shadow: none;\n}\n.mh-dark .marketplaceHome-blockMenu.active,\n.mh-dark .marketplaceHome-blockMenu:hover {\n color: var(--d-link);\n border-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-header-tabHeader {\n background-color: var(--d-border);\n}\n.mh-dark .marketplaceView-header-tabHeader:hover,\n.mh-dark .marketplaceView-header-tabHeader.active {\n color: var(--d-text);\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table,\n.mh-dark a.marketplaceView-header-tabHeader,\n.mh-dark .mh-dark .marketplaceView-browse-sidebar-link {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-item-footer {\n background-color: var(--d);\n}\n.mh-dark .marketplaceView-item-footer .marketplaceView-table {\n border-radius: 7px;\n}\n.mh-dark .marketplaceView-table tr:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-listing-progressBar-padding {\n background-color: var(--d);\n}\n.mh-dark .marketplaceView-table-name a,\n.mh-dark .marketplaceView-table-name a:hover {\n color: var(--d-text);\n}\n.mh-dark .marketplaceView-browse-sidebar-link {\n color: var(--d-text);\n background-color: var(--d-alt);\n border: 1px solid var(--d-border);\n}\n.mh-dark .marketplaceView-browse-sidebar-link.active,\n.mh-dark .marketplaceView-browse-sidebar-link:hover {\n color: var(--d-text);\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-browse-filter label {\n color: var(--d-text);\n}\n.mh-dark .marketplaceView-browse-sidebar::after {\n background-color: var(--d);\n}\n.mh-dark .marketplaceView-item-leftBlock .marketplaceHome-block-viewAll,\n.mh-dark a.marketplaceHome-block-viewAll {\n color: var(--d-text);\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-dark a.marketplaceHome-block-viewAll:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-breadcrumb {\n color: var(--d-text);\n background-color: var(--d);\n border-color: var(--d-border);\n border-width: 1px;\n}\n.mh-dark a.marketplaceView-breadcrumb:hover {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-listingBody {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-item-quickListings a.marketplaceView-goldValue {\n color: var(--d-text);\n}\n.mh-dark .marketplaceView-item-quickListings th {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-listingFooter {\n background-color: var(--d-purple-dark);\n}\n.mh-dark .marketplaceView-item-descriptionContainer {\n border-top: none;\n}\n.mh-dark #chartArea {\n margin-top: 10px;\n margin-bottom: 10px;\n background-color: #fff;\n}\n.mh-dark #markethuntInfobox,\n.mh-dark #markethuntInfobox .marketplaceView-goldValue {\n color: #000;\n}\n.mh-dark .marketplaceView-trendContainer {\n color: var(--d-text-muted);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark .marketplaceView-floatingTooltip {\n color: var(--d-text-muted);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark .marketplaceView-floatingTooltip::after {\n border-top-color: var(--d-border);\n}\n.mh-dark .marketplaceView-item-graphTable .marketplaceView-trendContainer {\n color: var(--d-text-muted);\n background-color: transparent;\n border: none;\n}\n.mh-dark .marketplaceHome-blockMenu {\n border-color: var(--d-transparent-10);\n}\n.mh-dark .marketplaceView-item-input-suggested a {\n color: var(--d-link);\n}\n.mh-dark .marketplaceView-item-cancelButton {\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark .marketplaceView-dialog {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-item-image {\n border: none;\n}\n.mh-dark .marketplaceView-dialog-footer {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-dialog-header {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-listing-progressLabel {\n color: #e7eaee;\n text-shadow:\n 0 1px var(--d-transparent-90),\n 0 -1px var(--d-transparent-90),\n 1px 0 var(--d-transparent-90),\n -1px 0 var(--d-transparent-90),\n 1px 1px var(--d-transparent-90);\n}\n.mh-dark .marketplaceView-listing-progressBar span {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-listingType {\n background-color: var(--d-purple);\n}\n.mh-dark .marketplaceView-listingType.buy {\n background-color: var(--d-blue-dark);\n}\n.mh-dark .marketplaceView-listingType.sell {\n background-color: var(--d-orange-dark);\n}\n.mh-dark .marketplaceMyListings s {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-item-graph.loading::after {\n background: url(https://www.mousehuntgame.com/images/ui/loaders/round_bar_green.gif) 50% 50% no-repeat;\n}\n.mh-dark span[style="background-color: rgb(214, 235, 161);"],\n.mh-dark tr[style="background-color: rgb(214, 235, 161);"] {\n background-color: var(--d-green-dark) !important;\n}\n.mh-dark .marketplaceView-table-filterReminder {\n background-color: var(--d-bg);\n}\n.mh-dark .marketplaceView-table tr.buy.canceled,\n.mh-dark .marketplaceView-table tr.buy.canceled .marketplaceView-goldValue {\n color: var(--d-text-dark);\n}\n.mh-dark .marketplaceView-item-inputWrapper input,\n.mh-dark .marketplaceView-item-input input,\n.mh-dark .mhui-marketplace-quick-sell-wrapper {\n color: var(--d-text);\n background-color: var(--d-action);\n border-color: var(--d-border);\n}\n.mh-dark input.mhui-marketplace-quick-sell-quantity {\n color: var(--d-text);\n background-color: var(--d);\n border-color: var(--d-border);\n}\n.mh-dark input.mhui-marketplace-quick-sell-quantity:focus,\n.mh-dark input.mhui-marketplace-quick-sell-quantity:hover {\n background-color: var(--d-bg-alt);\n border-color: var(--d-action);\n}\n.mh-dark .mhui-marketplace-quick-sell-info {\n color: var(--d-text-muted);\n}\n.mh-dark .marketplaceView-item-skinWeapon {\n border-color: var(--d-border);\n}\n.mh-dark .loading .marketplaceView-itemImage,\n.mh-dark .empty .marketplaceView-itemImage {\n background-color: var(--d-action);\n}\n';
50000
50219
  }
50001
50220
  });
50002
50221
 
@@ -50156,7 +50375,7 @@ var mhui = (() => {
50156
50375
  var userscripts_default2;
50157
50376
  var init_userscripts2 = __esm({
50158
50377
  "src/modules/native-dark-mode/styles/userscripts.css"() {
50159
- userscripts_default2 = "/* src/modules/native-dark-mode/styles/userscripts.css */\n.mh-dark .hd-popup {\n background-color: var(--d-bg);\n border-color: var(--d-border);\n}\n.mh-dark .hd-popup h1,\n.mh-dark .hd-popup h2,\n.mh-dark .hd-popup h3,\n.mh-dark .hd-popup h4 {\n color: var(--d-text);\n}\n.mh-dark .hd-popup a {\n color: var(--d-link);\n}\n.mh-dark a.hd-button,\n.mh-dark .hd-button {\n color: var(--d-black);\n}\n.mh-dark .hd-table .hd-table-heading {\n color: var(--d-text-dark);\n background-color: var(--d-yellow);\n border-color: var(--d-border);\n}\n.mh-dark .hd-table tr:nth-child(even) {\n background-color: var(--d-bg-alt);\n}\n.mh-dark .hd-table .hd-table-td {\n border-color: var(--d-border);\n}\n.hd-table .hd-table-footer-tr {\n background-color: var(--d-yellow) !important;\n}\n";
50378
+ userscripts_default2 = "/* src/modules/native-dark-mode/styles/userscripts.css */\n.mh-dark .hd-popup {\n background-color: var(--d-bg);\n border-color: var(--d-border);\n}\n.mh-dark .hd-popup h1,\n.mh-dark .hd-popup h2,\n.mh-dark .hd-popup h3,\n.mh-dark .hd-popup h4 {\n color: var(--d-text);\n}\n.mh-dark .hd-popup a {\n color: var(--d-link);\n}\n.mh-dark a.hd-button,\n.mh-dark .hd-button {\n color: var(--d-black);\n}\n.mh-dark .hd-table .hd-table-heading {\n color: var(--d-text-dark);\n background-color: var(--d-yellow);\n border-color: var(--d-border);\n}\n.mh-dark .hd-table tr:nth-child(even) {\n background-color: var(--d-bg-alt);\n}\n.mh-dark .hd-table .hd-table-td {\n border-color: var(--d-border);\n}\n.mh-dark .hd-table .hd-table-footer-tr {\n background-color: var(--d-yellow) !important;\n}\n";
50160
50379
  }
50161
50380
  });
50162
50381
 
@@ -51180,15 +51399,15 @@ var mhui = (() => {
51180
51399
  const tradables = yield getTradableItems("all");
51181
51400
  return opts.map((type) => tradables.find((t) => t.type === type)).filter(Boolean);
51182
51401
  });
51183
- positionPanel = (panel2, anchor2) => {
51402
+ positionPanel = (panel3, anchor2) => {
51184
51403
  const rect = anchor2.getBoundingClientRect();
51185
51404
  const top = rect.top + window.scrollY + rect.height - 10;
51186
- let left = rect.left + window.scrollX + rect.width / 2 - panel2.offsetWidth / 2;
51405
+ let left = rect.left + window.scrollX + rect.width / 2 - panel3.offsetWidth / 2;
51187
51406
  const minLeft = window.scrollX + 8;
51188
- const maxLeft = window.scrollX + document.documentElement.clientWidth - panel2.offsetWidth - 8;
51189
- left = clamp2(left, minLeft, maxLeft);
51190
- panel2.style.top = "".concat(top, "px");
51191
- panel2.style.left = "".concat(left, "px");
51407
+ const maxLeft = window.scrollX + document.documentElement.clientWidth - panel3.offsetWidth - 8;
51408
+ left = clamp(left, minLeft, maxLeft);
51409
+ panel3.style.top = "".concat(top, "px");
51410
+ panel3.style.left = "".concat(left, "px");
51192
51411
  };
51193
51412
  sendSupplies = (_0) => __async(null, [_0], function* ({ aborter, snuid, qty, itemType, itemName, button, container }) {
51194
51413
  const url = "https://www.mousehuntgame.com/managers/ajax/users/supplytransfer.php?sn=Hitgrab&hg_is_ajax=1&receiver=".concat(snuid, "&uh=").concat(user.unique_hash, "&item=").concat(itemType, "&item_quantity=").concat(qty);
@@ -51318,19 +51537,19 @@ var mhui = (() => {
51318
51537
  const close2 = makeElement("div", ["quickSendClose"], "x");
51319
51538
  close2.setAttribute("role", "button");
51320
51539
  close2.setAttribute("tabindex", "0");
51321
- const closePanel = () => {
51540
+ const closePanel2 = () => {
51322
51541
  wrapper.classList.remove("sticky");
51323
51542
  wrapper.classList.add("hidden");
51324
51543
  };
51325
- close2.addEventListener("click", closePanel);
51544
+ close2.addEventListener("click", closePanel2);
51326
51545
  close2.addEventListener("keydown", (e) => {
51327
51546
  if (e.key === "Enter" || e.key === " ") {
51328
- closePanel();
51547
+ closePanel2();
51329
51548
  }
51330
51549
  });
51331
51550
  wrapper.addEventListener("keydown", (e) => {
51332
51551
  if (e.key === "Escape") {
51333
- closePanel();
51552
+ closePanel2();
51334
51553
  }
51335
51554
  });
51336
51555
  document.body.append(wrapper);
@@ -51367,10 +51586,10 @@ var mhui = (() => {
51367
51586
  const onEnter = () => __async(null, null, function* () {
51368
51587
  clearTimeout(hoverTimer);
51369
51588
  hoverTimer = setTimeout(() => __async(null, null, function* () {
51370
- const panel2 = yield buildPanel(btn, snuid);
51371
- panel2.classList.remove("hidden");
51372
- positionPanel(panel2, btn);
51373
- panel2.focus({ preventScroll: true });
51589
+ const panel3 = yield buildPanel(btn, snuid);
51590
+ panel3.classList.remove("hidden");
51591
+ positionPanel(panel3, btn);
51592
+ panel3.focus({ preventScroll: true });
51374
51593
  }), HOVER_DELAY);
51375
51594
  });
51376
51595
  const onLeave = () => {
@@ -51390,11 +51609,11 @@ var mhui = (() => {
51390
51609
  btn.addEventListener("mouseleave", onLeave);
51391
51610
  btn.addEventListener("click", (e) => __async(null, null, function* () {
51392
51611
  e.preventDefault();
51393
- const panel2 = yield buildPanel(btn, snuid);
51394
- panel2.classList.toggle("hidden");
51395
- panel2.classList.add("sticky");
51396
- positionPanel(panel2, btn);
51397
- panel2.focus({ preventScroll: true });
51612
+ const panel3 = yield buildPanel(btn, snuid);
51613
+ panel3.classList.toggle("hidden");
51614
+ panel3.classList.add("sticky");
51615
+ positionPanel(panel3, btn);
51616
+ panel3.focus({ preventScroll: true });
51398
51617
  }));
51399
51618
  }
51400
51619
  });
@@ -52848,68 +53067,415 @@ var mhui = (() => {
52848
53067
  }
52849
53068
  });
52850
53069
 
52851
- // src/modules/taller-windows/styles.css
53070
+ // dist/data/skyport-raids.json
53071
+ var skyport_raids_default;
53072
+ var init_skyport_raids = __esm({
53073
+ "dist/data/skyport-raids.json"() {
53074
+ skyport_raids_default = { raids: [{ id: "tribal_isles_raid", name: "Tribal Isles", mice: [{ type: "alchemist", name: "Alchemist", cheese: "sps-srr" }, { type: "scout", name: "Scout", cheese: "sps-srr" }, { type: "taleweaver", name: "Taleweaver", cheese: "abc" }, { type: "healer", name: "Healer", cheese: "sps-srr" }, { type: "trailblazer", name: "Trailblazer", cheese: "sps-srr" }, { type: "wordsmith", name: "Wordsmith", cheese: "sps-srr" }, { type: "caretaker", name: "Caretaker", cheese: "abc" }, { type: "pathfinder", name: "Pathfinder", cheese: "sps-srr" }, { type: "narrator", name: "Narrator", cheese: "sps-srr" }] }, { id: "fiery_warpath_raid", name: "Fiery Warpath", mice: [{ type: "desert_archer_weak", name: "Desert Archer", cheese: "sps-srr" }, { type: "desert_warrior_weak", name: "Desert Soldier", cheese: "sps-srr" }, { type: "desert_scout_weak", name: "Vanguard", cheese: "sps-srr" }, { type: "desert_archer", name: "Flame Archer", cheese: "sps-srr" }, { type: "desert_warrior", name: "Flame Warrior", cheese: "sps-srr" }, { type: "desert_scout", name: "Sentinel", cheese: "sps-srr" }, { type: "desert_archer_epic", name: "Crimson Ranger", cheese: "sps-srr" }, { type: "desert_warrior_epic", name: "Crimson Titan", cheese: "sps-srr" }, { type: "desert_scout_epic", name: "Crimson Watch", cheese: "abc" }] }, { id: "living_garden_raid", name: "Living Garden", mice: [{ type: "shroom", name: "Shroom", cheese: "sps-srr" }, { type: "calalilly", name: "Calalilly", cheese: "sps-srr" }, { type: "camoflower", name: "Camoflower", cheese: "sps-srr" }, { type: "strawberry_hotcakes", name: "Strawberry Hotcakes", cheese: "abc" }, { type: "bark", name: "Bark", cheese: "sps-srr" }, { type: "thistle", name: "Thistle", cheese: "sps-srr" }, { type: "fungal_spore", name: "Fungal Spore", cheese: "abc" }, { type: "twisted_lilly", name: "Twisted Lilly", cheese: "abc" }, { type: "camofusion", name: "Camofusion", cheese: "abc" }, { type: "twisted_hotcakes", name: "Twisted Hotcakes", cheese: "abc" }, { type: "barkshell", name: "Barkshell", cheese: "abc" }, { type: "thorn", name: "Thorn", cheese: "sps-srr" }] }, { id: "fort_rox_raid", name: "Fort Rox", mice: [{ type: "moonstone_snacker", name: "Meteorite Snacker", cheese: "sps-srr" }, { type: "good_supply_day", name: "Mining Materials Manager", cheese: "sps-srr" }, { type: "hardworking_hauler", name: "Hardworking Hauler", cheese: "sps-srr" }, { type: "moonstone_miner", name: "Meteorite Miner", cheese: "sps-srr" }, { type: "mischievous_moonstone_miner", name: "Mischievous Meteorite Miner", cheese: "sps-srr" }, { type: "good_supply_night", name: "Night Shift Materials Manager", cheese: "sps-srr" }, { type: "werehauler", name: "Werehauler", cheese: "sps-srr" }, { type: "wealthy_werewarrior", name: "Wealthy Werewarrior", cheese: "sps-srr" }, { type: "mischievous_wereminer", name: "Mischievous Wereminer", cheese: "sps-srr" }, { type: "were_alpha", name: "Alpha Weremouse", cheese: "sps-srr" }, { type: "reveling_lycanthrope", name: "Reveling Lycanthrope", cheese: "sps-srr" }, { type: "wereminer", name: "Wereminer", cheese: "sps-srr" }] }, { id: "queso_geyser_raid", name: "Queso Geyser", mice: [{ type: "geyser_cork_dropper_bland", name: "Fuzzy Drake", cheese: "sps-srr" }, { type: "geyser_cork_dropper_mild", name: "Cork Defender", cheese: "sps-srr" }, { type: "geyser_cork_dropper_medium", name: "Burly Bruiser", cheese: "sps-srr" }, { type: "geyser_cork_dropper_rare", name: "Corky the Collector", cheese: "abc" }, { type: "geyser_cork_dropper_hot", name: "Horned Cork Hoarder", cheese: "abc" }, { type: "geyser_pressure_builder_mild", name: "Steam Sailor", cheese: "sps-srr" }, { type: "geyser_pressure_builder_medium", name: "Warming Wyvern", cheese: "abc" }, { type: "geyser_pressure_builder_hot", name: "Vaporior", cheese: "abc" }, { type: "geyser_eruption_dragon_mild", name: "Mild Spicekin", cheese: "sps-srr" }, { type: "geyser_eruption_dragon_medium_spice", name: "Smoldersnap", cheese: "sps-srr" }, { type: "geyser_eruption_dragon_hot", name: "Ignatia", cheese: "abc" }, { type: "geyser_eruption_dragon_small", name: "Sizzle Pup", cheese: "sps-srr" }, { type: "geyser_eruption_dragon_large", name: "Cinderstorm", cheese: "abc" }] }, { id: "zokor_raid", name: "Zokor", mice: [{ type: "summoning_scholar", name: "Summoning Scholar", cheese: "sps-srr" }, { type: "sanguinarian", name: "Sanguinarian", cheese: "sps-srr" }, { type: "mystic_guardian", name: "Mystic Guardian", cheese: "sps-srr" }, { type: "ethereal_guardian", name: "Ethereal Guardian", cheese: "abc" }, { type: "rr_8", name: "RR-8", cheese: "sps-srr" }, { type: "ash_golem", name: "Ash Golem", cheese: "sps-srr" }, { type: "tech_golem", name: "Tech Golem", cheese: "sps-srr" }, { type: "exo_tech", name: "Exo-Tech", cheese: "abc" }, { type: "drudge", name: "Drudge", cheese: "sps-srr" }, { type: "masked_pikeman", name: "Masked Pikeman", cheese: "sps-srr" }, { type: "solemn_soldier", name: "Solemn Soldier", cheese: "sps-srr" }, { type: "battle_cleric", name: "Battle Cleric", cheese: "abc" }] }, { id: "moussu_picchu_raid", name: "Moussu Picchu", mice: [{ type: "nightshade_maiden", name: "Nightshade Maiden", cheese: "sps-srr" }, { type: "spore_salesman", name: "Spore Salesman", cheese: "sps-srr" }, { type: "nightshade_flower_girl", name: "Nightshade Flower Girl", cheese: "sps-srr" }, { type: "wind_gatherer", name: "Breeze Borrower", cheese: "sps-srr" }, { type: "wind_harvester", name: "Windy Farmer", cheese: "sps-srr" }, { type: "cloud_collector", name: "Cloud Collector", cheese: "sps-srr" }, { type: "rain_purifier", name: "Rainwater Purifier", cheese: "sps-srr" }, { type: "homeopathic_apothecary", name: "Homeopathic Apothecary", cheese: "sps-srr" }, { type: "wind_watcher", name: "Wind Watcher", cheese: "abc" }, { type: "charming_chimer", name: "Charming Chimer", cheese: "abc" }, { type: "fluttering_flutist", name: "Fluttering Flutist", cheese: "abc" }, { type: "cycloness", name: "Cycloness", cheese: "abc" }, { type: "wind_warrior", name: "Wind Warrior", cheese: "abc" }] }, { id: "floating_islands_raid", name: "Floating Islands", mice: [{ type: "suave_pirate", name: "Suave Pirate", cheese: "sps-srr" }, { type: "cutthroat_pirate", name: "Cutthroat Pirate", cheese: "sps-srr" }, { type: "cutthroat_cannoneer", name: "Cutthroat Cannoneer", cheese: "sps-srr" }, { type: "scarlet_revenger", name: "Scarlet Revenger", cheese: "sps-srr" }, { type: "mairitime_pirate", name: "Mairitime Pirate", cheese: "sps-srr" }] }, { id: "table_of_contents_raid", name: "Table of Contents", mice: [{ type: "hans_cheesetian_squeakersen", name: "Hans Cheesetian Squeakersen", cheese: "sps-srr" }, { type: "brothers_grimmaus", name: "Brothers Grimmaus", cheese: "sps-srr" }, { type: "madame_dormouse", name: "Madame d'Ormouse", cheese: "sps-srr" }, { type: "humphrey_dumphrey", name: "Humphrey Dumphrey", cheese: "sps-srr" }, { type: "little_bo_squeak", name: "Little Bo Squeak", cheese: "sps-srr" }, { type: "little_miss_fluffet", name: "Little Miss Fluffet", cheese: "sps-srr" }, { type: "princess_and_the_olive", name: "Princess and the Olive", cheese: "abc" }, { type: "pinkielina", name: "Pinkielina", cheese: "sps-srr" }, { type: "fibbocchio", name: "Fibbocchio", cheese: "sps-srr" }] }], cheeses: { "sps-srr": { label: "SPS/SRR", name: "Sky Pirate Swiss / Sky Raider Romano" }, abc: { label: "ABC", name: "Aurora Bocconcini" } } };
53075
+ }
53076
+ });
53077
+
53078
+ // src/modules/skyport-star-tracker/settings/index.js
53079
+ var settings_default40;
53080
+ var init_settings41 = __esm({
53081
+ "src/modules/skyport-star-tracker/settings/index.js"() {
53082
+ settings_default40 = () => __async(null, null, function* () {
53083
+ return [
53084
+ {
53085
+ id: "skyport-star-tracker.crownstar-mode",
53086
+ title: "Crownstar mode: track 10 catches of each mouse instead of 1",
53087
+ default: false
53088
+ }
53089
+ ];
53090
+ });
53091
+ }
53092
+ });
53093
+
53094
+ // src/modules/skyport-star-tracker/styles.css
52852
53095
  var styles_default135;
52853
53096
  var init_styles136 = __esm({
53097
+ "src/modules/skyport-star-tracker/styles.css"() {
53098
+ styles_default135 = "/* src/modules/skyport-star-tracker/styles.css */\n#custom-submenu-item-skyport-star-tracker .icon {\n filter: saturate(0.1) sepia(1);\n}\n#mh-skyport-star-tracker {\n position: absolute;\n z-index: 150;\n}\n@media screen and (prefers-reduced-motion: reduce) {\n .mh-skyport-star-tracker-wrapper {\n transition: none;\n }\n}\n.mh-skyport-star-tracker-wrapper {\n width: 275px;\n background: #f6f3eb;\n border: 1px solid #534022;\n box-shadow: 1px 1px 1px 0 #9d917f, 1px 3px 5px 0 #6a6969;\n transition: box-shadow 0.25s;\n}\n.mh-dark .mh-skyport-star-tracker-wrapper {\n background: var(--d-bg);\n border-color: var(--d-border);\n box-shadow: 1px 1px 1px var(--d-transparent-50), 1px 3px 5px #6a6969;\n}\n.mh-is-dragging .mh-skyport-star-tracker-wrapper {\n box-shadow: 1px 1px 1px 0 #9d917f, 0 7px 9px 2px #6a6969;\n}\n.mh-skyport-star-tracker-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px;\n color: #f6f3eb;\n background-color: #8e6642;\n border-bottom: 1px solid #ceb7a6;\n}\n.mh-dark .mh-skyport-star-tracker-header {\n background-color: var(--d-alt);\n border-color: var(--d-border);\n}\n.mh-skyport-star-tracker-header:hover {\n cursor: grab;\n}\n.mh-skyport-star-tracker-header:active {\n cursor: grabbing;\n}\n.mh-skyport-star-tracker-header h1 {\n color: #f6f3eb;\n}\n.mh-skyport-star-tracker-buttons {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.mh-skyport-star-tracker-close {\n cursor: pointer;\n}\n.mh-skyport-star-tracker-close:hover,\n.mh-skyport-star-tracker-close:focus {\n color: #8e6642;\n background-color: #eee;\n border-radius: 50%;\n outline: 1px solid #ccc;\n}\n.mh-dark .mh-skyport-star-tracker-close:hover,\n.mh-dark .mh-skyport-star-tracker-close:focus {\n color: var(--d-text);\n background-color: var(--d-action);\n outline-color: var(--d-border);\n}\n.mh-skyport-star-tracker-body {\n max-height: 85vh;\n overflow: hidden auto;\n}\n.mh-skyport-star-tracker-progress {\n padding: 6px 10px;\n font-size: 11px;\n}\n.mh-dark .mh-skyport-star-tracker-progress {\n color: var(--d-text);\n}\n.mh-skyport-star-tracker-raid-header {\n display: flex;\n gap: 6px;\n align-items: center;\n padding: 4px 10px 4px 6px;\n font-size: 12px;\n color: #f6f3eb;\n cursor: pointer;\n user-select: none;\n background: #a58160;\n}\n.mh-skyport-star-tracker-raid-header:hover,\n.mh-skyport-star-tracker-raid-header:focus {\n color: #f6f3eb;\n text-decoration: none;\n background: #8e6642;\n}\n.mh-dark .mh-skyport-star-tracker-raid-header {\n color: var(--d-text);\n background: var(--d-alt);\n}\n.mh-dark .mh-skyport-star-tracker-raid-header:hover,\n.mh-dark .mh-skyport-star-tracker-raid-header:focus {\n color: var(--d-text);\n background: var(--d-action);\n}\n.mh-skyport-star-tracker-raid-collapse-icon {\n flex-shrink: 0;\n width: 0;\n height: 0;\n border-top: 4px solid transparent;\n border-bottom: 4px solid transparent;\n border-left: 5px solid currentcolor;\n transition: transform 0.15s ease;\n transform: rotate(90deg);\n}\n.mh-skyport-star-tracker-raid-section.collapsed .mh-skyport-star-tracker-raid-collapse-icon {\n transform: rotate(0deg);\n}\n.mh-skyport-star-tracker-raid-section.collapsed .mh-skyport-star-tracker-raid-mice {\n display: none;\n}\n.mh-skyport-star-tracker-raid-title {\n flex-grow: 1;\n font-weight: 700;\n}\n.mh-skyport-star-tracker-raid-progress {\n flex-shrink: 0;\n font-size: 11px;\n}\n.mh-skyport-star-tracker-raid-complete .mh-skyport-star-tracker-raid-progress {\n padding-right: 15px;\n background: url(https://www.mousehuntgame.com/images/icons/checkmark_greenplain.png) no-repeat right center;\n background-size: 11px;\n}\n.mh-skyport-star-tracker-mouse {\n display: flex;\n gap: 6px;\n align-items: center;\n padding: 5px 10px;\n color: #000;\n}\n.mh-skyport-star-tracker-mouse.odd {\n background-color: #e8e3d7;\n}\n.mh-dark .mh-skyport-star-tracker-mouse {\n color: var(--d-text-link);\n background-color: var(--d-bg);\n}\n.mh-dark .mh-skyport-star-tracker-mouse.odd {\n background-color: var(--d-bg-alt);\n}\n.mh-skyport-star-tracker-mouse:hover,\n.mh-skyport-star-tracker-mouse:focus {\n text-decoration: none;\n outline: 1px solid #646464;\n}\n.mh-dark .mh-skyport-star-tracker-mouse:hover,\n.mh-dark .mh-skyport-star-tracker-mouse:focus {\n color: var(--d-text);\n background-color: var(--d-action);\n outline-color: var(--d-border);\n}\n.mh-skyport-star-tracker-mouse-image {\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n background-color: #ddd6c5;\n background-position: center;\n background-size: cover;\n border-radius: 3px;\n}\n.mh-skyport-star-tracker-mouse-name {\n flex-grow: 1;\n overflow: hidden;\n font-size: 11px;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.mh-skyport-star-tracker-mouse-cheese {\n flex-shrink: 0;\n padding: 1px 4px;\n font-size: 9px;\n font-weight: 700;\n color: #222;\n border-radius: 3px;\n}\n.mh-skyport-star-tracker-mouse-cheese-abc {\n background: #40e2c9;\n}\n.mh-skyport-star-tracker-mouse-catches {\n flex-shrink: 0;\n font-size: 11px;\n font-variant-numeric: tabular-nums;\n}\n.mh-skyport-star-tracker-mouse-complete {\n opacity: 0.55;\n}\n.mh-skyport-star-tracker-mouse-complete:hover,\n.mh-skyport-star-tracker-mouse-complete:focus {\n opacity: 1;\n}\n.mh-skyport-star-tracker-mouse-check {\n flex-shrink: 0;\n width: 12px;\n height: 12px;\n background: url(https://www.mousehuntgame.com/images/icons/checkmark_greenplain.png) no-repeat center;\n background-size: 12px;\n}\n.ceruleanSkyportRaidChoiceDialogView__raidBlock {\n position: relative;\n}\n.mh-skyport-star-tracker-raid-intel {\n position: absolute;\n top: 53px;\n right: 0;\n z-index: 2;\n padding: 3px;\n font-size: 10px;\n font-weight: 700;\n color: #000;\n pointer-events: auto;\n background: #fff;\n border-radius: 0 0 0 4px;\n}\n.mh-skyport-star-tracker-raid-intel.mh-skyport-star-tracker-raid-complete {\n padding-left: 18px;\n background: url(https://www.mousehuntgame.com/images/icons/checkmark_greenplain.png) no-repeat left 4px center / 10px, #fff;\n}\n";
53099
+ }
53100
+ });
53101
+
53102
+ // src/modules/skyport-star-tracker/index.js
53103
+ var skyportLocation, catches, catchesFetchedAt, thumbnails, panel2, isFetching, wantsOpen, getThreshold, isAtSkyport, fetchCatches, getCatches, getNeededMice, makeMouseRow, getCurrentRaid, makeRaidHeader, makeRaidSection, render, isPanelVisible, closePanel, buildPanel2, showPanel, togglePanel, addRaidIntel, processCatchEntry, refreshAfterTurn, updateForLocation, init85, skyport_star_tracker_default;
53104
+ var init_skyport_star_tracker = __esm({
53105
+ "src/modules/skyport-star-tracker/index.js"() {
53106
+ init_utils2();
53107
+ init_skyport_raid_dialog();
53108
+ init_skyport_raids();
53109
+ init_settings41();
53110
+ init_styles136();
53111
+ skyportLocation = "cerulean_skyport";
53112
+ catches = null;
53113
+ catchesFetchedAt = 0;
53114
+ thumbnails = null;
53115
+ panel2 = null;
53116
+ isFetching = false;
53117
+ wantsOpen = false;
53118
+ getThreshold = () => {
53119
+ return getSetting("skyport-star-tracker.crownstar-mode", false) ? { value: 10, progressLabel: "at Bronze" } : { value: 1, progressLabel: "caught" };
53120
+ };
53121
+ isAtSkyport = () => {
53122
+ return skyportLocation === getCurrentLocation();
53123
+ };
53124
+ fetchCatches = (force = false) => __async(null, null, function* () {
53125
+ var _a;
53126
+ if (isFetching || !force && catches && Date.now() - catchesFetchedAt < 5 * 60 * 1e3) {
53127
+ return;
53128
+ }
53129
+ isFetching = true;
53130
+ try {
53131
+ const data = yield doRequest("managers/ajax/mice/mouse_list.php", {
53132
+ action: "get_environment",
53133
+ category: skyportLocation,
53134
+ user_id: user.user_id,
53135
+ display_mode: "stats",
53136
+ view: "ViewMouseListEnvironments"
53137
+ });
53138
+ const subgroups = ((_a = data == null ? void 0 : data.mouse_list_category) == null ? void 0 : _a.subgroups) || [];
53139
+ const mice2 = subgroups.flatMap((subgroup) => (subgroup == null ? void 0 : subgroup.mice) || []);
53140
+ if (mice2.length) {
53141
+ catches = new Map(mice2.map((mouse) => [mouse.type, parseNumber(mouse.num_catches || 0)]));
53142
+ thumbnails = new Map(mice2.filter((mouse) => mouse.image).map((mouse) => [mouse.type, mouse.image]));
53143
+ catchesFetchedAt = Date.now();
53144
+ }
53145
+ } finally {
53146
+ isFetching = false;
53147
+ }
53148
+ });
53149
+ getCatches = (type) => {
53150
+ return (catches == null ? void 0 : catches.get(type)) || 0;
53151
+ };
53152
+ getNeededMice = (raid, threshold) => {
53153
+ return raid.mice.filter((mouse) => getCatches(mouse.type) < threshold.value).sort((a, b) => a.name.localeCompare(b.name));
53154
+ };
53155
+ makeMouseRow = (mouse, threshold) => {
53156
+ var _a, _b, _c, _d;
53157
+ const row = makeElement("a", "mh-skyport-star-tracker-mouse");
53158
+ row.title = mouse.name;
53159
+ row.addEventListener("click", () => {
53160
+ var _a2, _b2;
53161
+ if ((_b2 = (_a2 = hg == null ? void 0 : hg.views) == null ? void 0 : _a2.MouseView) == null ? void 0 : _b2.show) {
53162
+ hg.views.MouseView.show(mouse.type);
53163
+ }
53164
+ });
53165
+ const image = makeElement("div", "mh-skyport-star-tracker-mouse-image");
53166
+ const thumbnail = thumbnails == null ? void 0 : thumbnails.get(mouse.type);
53167
+ if (thumbnail) {
53168
+ image.style.backgroundImage = "url('".concat(thumbnail, "')");
53169
+ }
53170
+ row.append(image);
53171
+ makeElement("div", "mh-skyport-star-tracker-mouse-name", mouse.name, row);
53172
+ if ("abc" === mouse.cheese) {
53173
+ const badge = makeElement("div", ["mh-skyport-star-tracker-mouse-cheese", "mh-skyport-star-tracker-mouse-cheese-abc"], ((_b = (_a = skyport_raids_default.cheeses) == null ? void 0 : _a.abc) == null ? void 0 : _b.label) || "ABC");
53174
+ badge.title = ((_d = (_c = skyport_raids_default.cheeses) == null ? void 0 : _c.abc) == null ? void 0 : _d.name) || "Aurora Bocconcini";
53175
+ row.append(badge);
53176
+ }
53177
+ if (threshold.value > 1) {
53178
+ makeElement("div", "mh-skyport-star-tracker-mouse-catches", "".concat(getCatches(mouse.type).toLocaleString(), "/").concat(threshold.value.toLocaleString()), row);
53179
+ }
53180
+ if (getCatches(mouse.type) >= threshold.value) {
53181
+ row.classList.add("mh-skyport-star-tracker-mouse-complete");
53182
+ makeElement("div", "mh-skyport-star-tracker-mouse-check", "", row);
53183
+ }
53184
+ return row;
53185
+ };
53186
+ getCurrentRaid = () => {
53187
+ var _a, _b;
53188
+ const currentRaid = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestCeruleanSkyport) == null ? void 0 : _b.current_raid;
53189
+ return (currentRaid == null ? void 0 : currentRaid.type) ? currentRaid : false;
53190
+ };
53191
+ makeRaidHeader = (raid, done, total) => {
53192
+ const header = makeElement("a", "mh-skyport-star-tracker-raid-header");
53193
+ if (done >= total) {
53194
+ header.classList.add("mh-skyport-star-tracker-raid-complete");
53195
+ }
53196
+ makeElement("div", "mh-skyport-star-tracker-raid-collapse-icon", "", header);
53197
+ makeElement("div", "mh-skyport-star-tracker-raid-title", raid.name, header);
53198
+ makeElement("div", "mh-skyport-star-tracker-raid-progress", "".concat(done, " of ").concat(total), header);
53199
+ return header;
53200
+ };
53201
+ makeRaidSection = (raid, threshold, collapsed) => {
53202
+ const section = makeElement("div", "mh-skyport-star-tracker-raid-section");
53203
+ if (collapsed.has(raid.id)) {
53204
+ section.classList.add("collapsed");
53205
+ }
53206
+ const needed = getNeededMice(raid, threshold);
53207
+ const header = makeRaidHeader(raid, raid.mice.length - needed.length, raid.mice.length);
53208
+ header.addEventListener("click", () => {
53209
+ const isCollapsed = section.classList.toggle("collapsed");
53210
+ const stored = new Set(getSetting("skyport-star-tracker.collapsed-raids", []));
53211
+ if (isCollapsed) {
53212
+ stored.add(raid.id);
53213
+ } else {
53214
+ stored.delete(raid.id);
53215
+ }
53216
+ saveSetting("skyport-star-tracker.collapsed-raids", [...stored]);
53217
+ });
53218
+ section.append(header);
53219
+ const miceWrapper = makeElement("div", "mh-skyport-star-tracker-raid-mice");
53220
+ let rowIndex = 0;
53221
+ const appendRows = (mice2) => {
53222
+ mice2.forEach((mouse) => {
53223
+ const row = makeMouseRow(mouse, threshold);
53224
+ if (0 === rowIndex % 2) {
53225
+ row.classList.add("odd");
53226
+ }
53227
+ rowIndex += 1;
53228
+ miceWrapper.append(row);
53229
+ });
53230
+ };
53231
+ appendRows(needed);
53232
+ appendRows(raid.mice.filter((mouse) => getCatches(mouse.type) >= threshold.value).sort((a, b) => a.name.localeCompare(b.name)));
53233
+ section.append(miceWrapper);
53234
+ return section;
53235
+ };
53236
+ render = () => {
53237
+ if (!panel2) {
53238
+ return;
53239
+ }
53240
+ const threshold = getThreshold();
53241
+ const list = panel2.querySelector(".mh-skyport-star-tracker-list");
53242
+ const progress = panel2.querySelector(".mh-skyport-star-tracker-progress");
53243
+ if (!list || !progress) {
53244
+ return;
53245
+ }
53246
+ list.innerHTML = "";
53247
+ if (!catches) {
53248
+ progress.textContent = "No catch data yet.";
53249
+ return;
53250
+ }
53251
+ const allMice = skyport_raids_default.raids.flatMap((raid) => raid.mice);
53252
+ const done = allMice.filter((mouse) => getCatches(mouse.type) >= threshold.value).length;
53253
+ progress.textContent = "".concat(done, " of ").concat(allMice.length, " ").concat(threshold.progressLabel);
53254
+ const collapsed = new Set(getSetting("skyport-star-tracker.collapsed-raids", []));
53255
+ const currentRaid = getCurrentRaid();
53256
+ const raids = [...skyport_raids_default.raids].sort((a, b) => {
53257
+ return Number(currentRaid && currentRaid.type === b.id) - Number(currentRaid && currentRaid.type === a.id);
53258
+ });
53259
+ raids.forEach((raid) => {
53260
+ list.append(makeRaidSection(raid, threshold, collapsed));
53261
+ });
53262
+ };
53263
+ isPanelVisible = () => {
53264
+ return Boolean(panel2) && "none" !== panel2.style.display;
53265
+ };
53266
+ closePanel = () => {
53267
+ if (panel2) {
53268
+ panel2.style.display = "none";
53269
+ }
53270
+ wantsOpen = false;
53271
+ };
53272
+ buildPanel2 = () => {
53273
+ const outer = document.createElement("div");
53274
+ outer.id = "mh-skyport-star-tracker";
53275
+ const wrapper = makeElement("div", "mh-skyport-star-tracker-wrapper");
53276
+ const header = makeElement("div", "mh-skyport-star-tracker-header");
53277
+ const title = document.createElement("h1");
53278
+ title.textContent = "Skyport Star Tracker";
53279
+ header.append(title);
53280
+ const buttons = makeElement("div", "mh-skyport-star-tracker-buttons");
53281
+ const closeIcon = document.createElementNS("http://www.w3.org/2000/svg", "svg");
53282
+ closeIcon.classList.add("mh-skyport-star-tracker-close");
53283
+ closeIcon.setAttribute("viewBox", "0 0 24 24");
53284
+ closeIcon.setAttribute("width", "18");
53285
+ closeIcon.setAttribute("height", "18");
53286
+ closeIcon.setAttribute("fill", "none");
53287
+ closeIcon.setAttribute("stroke", "currentColor");
53288
+ closeIcon.setAttribute("stroke-width", "1.5");
53289
+ const closePath = document.createElementNS("http://www.w3.org/2000/svg", "path");
53290
+ closePath.setAttribute("d", "M18 6L6 18M6 6l12 12");
53291
+ closeIcon.append(closePath);
53292
+ closeIcon.addEventListener("click", closePanel);
53293
+ buttons.append(closeIcon);
53294
+ header.append(buttons);
53295
+ wrapper.append(header);
53296
+ const body = makeElement("div", "mh-skyport-star-tracker-body");
53297
+ makeElement("div", "mh-skyport-star-tracker-progress", "Loading\u2026", body);
53298
+ makeElement("div", "mh-skyport-star-tracker-list", "", body);
53299
+ wrapper.append(body);
53300
+ outer.append(wrapper);
53301
+ return outer;
53302
+ };
53303
+ showPanel = () => __async(null, null, function* () {
53304
+ wantsOpen = true;
53305
+ if (!panel2) {
53306
+ panel2 = buildPanel2();
53307
+ document.body.append(panel2);
53308
+ makeElementDraggable("#mh-skyport-star-tracker", "#mh-skyport-star-tracker .mh-skyport-star-tracker-header", 25, 25, "skyport-star-tracker-position");
53309
+ }
53310
+ panel2.style.display = "block";
53311
+ yield fetchCatches();
53312
+ render();
53313
+ });
53314
+ togglePanel = () => {
53315
+ if (isPanelVisible()) {
53316
+ closePanel();
53317
+ } else {
53318
+ showPanel();
53319
+ }
53320
+ };
53321
+ addRaidIntel = () => __async(null, null, function* () {
53322
+ yield fetchCatches();
53323
+ if (!catches) {
53324
+ return;
53325
+ }
53326
+ const threshold = getThreshold();
53327
+ const blocks = document.querySelectorAll(".ceruleanSkyportRaidChoiceDialogView__raidBlock[data-type]");
53328
+ blocks.forEach((block) => {
53329
+ const raid = skyport_raids_default.raids.find((r) => r.id === block.getAttribute("data-type"));
53330
+ if (!raid) {
53331
+ return;
53332
+ }
53333
+ const existing = block.querySelector(".mh-skyport-star-tracker-raid-intel");
53334
+ if (existing) {
53335
+ existing.remove();
53336
+ }
53337
+ const needed = getNeededMice(raid, threshold);
53338
+ const done = raid.mice.length - needed.length;
53339
+ const intel = makeElement("div", "mh-skyport-star-tracker-raid-intel");
53340
+ if (!needed.length) {
53341
+ intel.classList.add("mh-skyport-star-tracker-raid-complete");
53342
+ }
53343
+ makeElement("span", "", "".concat(done, "/").concat(raid.mice.length, " ").concat(threshold.progressLabel), intel);
53344
+ if (needed.length) {
53345
+ const neededNames = needed.map((mouse) => {
53346
+ return threshold.value > 1 ? "".concat(mouse.name, " (").concat(getCatches(mouse.type).toLocaleString(), "/").concat(threshold.value.toLocaleString(), ")") : mouse.name;
53347
+ });
53348
+ intel.title = "Still needed:\n".concat(neededNames.join("\n"));
53349
+ } else {
53350
+ intel.title = "All mice ".concat(threshold.progressLabel, "!");
53351
+ }
53352
+ block.append(intel);
53353
+ });
53354
+ });
53355
+ processCatchEntry = (model) => {
53356
+ if (!catches || !isAtSkyport()) {
53357
+ return;
53358
+ }
53359
+ const isCatch = [...model.classes].some((className) => className.includes("catchsuccess") || "relicHunter_catch" === className);
53360
+ if (!isCatch || !model.mouseType) {
53361
+ return;
53362
+ }
53363
+ catches.set(model.mouseType, getCatches(model.mouseType) + 1);
53364
+ if (isPanelVisible()) {
53365
+ render();
53366
+ }
53367
+ };
53368
+ refreshAfterTurn = () => {
53369
+ if (isPanelVisible()) {
53370
+ render();
53371
+ }
53372
+ };
53373
+ updateForLocation = () => {
53374
+ if (isAtSkyport()) {
53375
+ if (wantsOpen) {
53376
+ showPanel();
53377
+ }
53378
+ return;
53379
+ }
53380
+ if (panel2) {
53381
+ panel2.style.display = "none";
53382
+ }
53383
+ };
53384
+ init85 = () => __async(null, null, function* () {
53385
+ addStyles(styles_default135, "skyport-star-tracker");
53386
+ addSubmenuItem({
53387
+ menu: "mice",
53388
+ label: "Skyport Star Tracker",
53389
+ icon: "https://www.mousehuntgame.com/images/ui/map/star_gold_320.png",
53390
+ callback: togglePanel
53391
+ });
53392
+ onJournalEntry(processCatchEntry, {
53393
+ id: "skyport-star-tracker-catches",
53394
+ stage: "interactions"
53395
+ });
53396
+ onTurn(refreshAfterTurn, 1200);
53397
+ onTravel(null, { callback: updateForLocation });
53398
+ onSkyportRaidDialogShow(addRaidIntel);
53399
+ onSkyportRaidDialogHide(() => {
53400
+ if (isPanelVisible()) {
53401
+ render();
53402
+ }
53403
+ });
53404
+ onSettingsChange("skyport-star-tracker.crownstar-mode", render);
53405
+ });
53406
+ skyport_star_tracker_default = {
53407
+ id: "skyport-star-tracker",
53408
+ name: "Skyport Star Tracker",
53409
+ type: "journal-progress-stats",
53410
+ default: false,
53411
+ load: init85,
53412
+ settings: settings_default40
53413
+ };
53414
+ }
53415
+ });
53416
+
53417
+ // src/modules/taller-windows/styles.css
53418
+ var styles_default136;
53419
+ var init_styles137 = __esm({
52854
53420
  "src/modules/taller-windows/styles.css"() {
52855
- styles_default135 = '/* src/modules/taller-windows/styles.css */\n.springHuntHUD-popup-allEggs,\n.adventureBookPopup-titleContent,\n.convertibleOpenView-itemContainer,\n.marketplaceView-browse-content,\n.MHCheckoutAllRewardsPageView,\n.treasureMapView-block-content.tall,\n.treasureMapView-blockWrapper.tall .treasureMapView-block-content,\n#messengerUINotification .notificationHeader,\n#supplytransfer .drawer .listContainer,\n#supplytransfer .drawer .tabContent,\n#supplytransfer .drawer {\n height: auto;\n max-height: 75vh;\n}\n#messengerUINotification .notificationMessageList,\n.treasureMapView-block-content,\n.treasureMapView-block-content.halfHeight {\n height: auto;\n max-height: 55vh;\n}\n.treasureMapView-block-content.scavenger-sorted-page {\n max-height: unset;\n}\n#supplytransfer .drawer {\n padding-bottom: 75px;\n}\n.adventureBookPopup-titleContent {\n max-height: unset;\n}\n.treasureMapDialogView.limitHeight .treasureMapView-block-content {\n max-height: 35vh;\n}\n.treasureMapDialogView.wide.limitHeight.confirm .treasureMapView,\n.treasureMapDialogView.limitHeight .treasureMapDialogView-content {\n max-height: 500px;\n}\n.giftSelectorView-inbox-giftContainer,\n#overlayPopup .giftSelectorView-scroller {\n height: auto;\n min-height: 300px;\n max-height: 65vh;\n}\nbody #overlayPopup .giftSelectorView-scroller.giftSelectorView-giftContainer {\n min-height: unset;\n}\n#overlayPopup.giftSelectorViewPopup {\n top: 50px !important;\n}\n.springHuntHUD-popup-regionContainer {\n display: contents;\n}\n#overlayPopup .imgArray {\n min-height: 105px;\n max-height: 500px;\n}\n.floatingIslandsWorkshop-partsContainer {\n top: 263px;\n left: 113px;\n width: 533px;\n height: auto;\n background-image: url(https://i.mouse.rip/fi-airships-middle.png);\n background-size: contain;\n border-radius: 12px;\n}\n.floatingIslandsWorkshop-parts-content {\n position: relative;\n height: 100%;\n max-height: 60vh;\n}\n.floatingIslandsWorkshop-parts-title {\n padding: 5px 10px 0;\n margin-top: -23px;\n margin-right: -1px;\n background:\n radial-gradient(\n circle,\n #fdf9bd 0%,\n #fff9dc 50%,\n #fdf9bd 100%);\n border: none;\n border-radius: 4px 5px 0 0;\n}\n.floatingIslandsWorkshop-partsContainer::after {\n position: absolute;\n bottom: -3px;\n left: 0;\n width: 533px;\n height: 30px;\n content: "";\n background-image: url(https://i.mouse.rip/fi-airships-bottom-2.png);\n background-position: bottom;\n}\n.floatingIslandsWorkshop-stabilizer {\n position: absolute;\n top: 250px;\n left: 430px;\n}\n.select2-results {\n max-height: 50vh;\n}\n.giftSelectorView-scroller {\n height: auto;\n}\n.mh-gift-buttons-clone-wrapper {\n max-height: calc(75vh - 175px);\n}\n.mh-ui-goals-block .treasureMapView-block-content {\n max-height: unset;\n}\n.treasureMapView-block-content {\n height: unset;\n}\n.treasureMapView-blockWrapper.tall .treasureMapView-block-content.treasureMapShopsView-shopItems {\n height: 100%;\n max-height: unset;\n overflow-x: hidden;\n}\n.treasureMapDialogView.wide.hideActions {\n top: 30vh;\n}\n';
53421
+ styles_default136 = '/* src/modules/taller-windows/styles.css */\n.springHuntHUD-popup-allEggs,\n.adventureBookPopup-titleContent,\n.convertibleOpenView-itemContainer,\n.marketplaceView-browse-content,\n.MHCheckoutAllRewardsPageView,\n.treasureMapView-block-content.tall,\n.treasureMapView-blockWrapper.tall .treasureMapView-block-content,\n#messengerUINotification .notificationHeader,\n#supplytransfer .drawer .listContainer,\n#supplytransfer .drawer .tabContent,\n#supplytransfer .drawer {\n height: auto;\n max-height: 75vh;\n}\n#messengerUINotification .notificationMessageList,\n.treasureMapView-block-content,\n.treasureMapView-block-content.halfHeight {\n height: auto;\n max-height: 55vh;\n}\n.treasureMapView-block-content.scavenger-sorted-page {\n max-height: unset;\n}\n#supplytransfer .drawer {\n padding-bottom: 75px;\n}\n.adventureBookPopup-titleContent {\n max-height: unset;\n}\n.treasureMapDialogView.limitHeight .treasureMapView-block-content {\n max-height: 35vh;\n}\n.treasureMapDialogView.wide.limitHeight.confirm .treasureMapView,\n.treasureMapDialogView.limitHeight .treasureMapDialogView-content {\n max-height: 500px;\n}\n.giftSelectorView-inbox-giftContainer,\n#overlayPopup .giftSelectorView-scroller {\n height: auto;\n min-height: 300px;\n max-height: 65vh;\n}\nbody #overlayPopup .giftSelectorView-scroller.giftSelectorView-giftContainer {\n min-height: unset;\n}\n#overlayPopup.giftSelectorViewPopup {\n top: 50px !important;\n}\n.springHuntHUD-popup-regionContainer {\n display: contents;\n}\n#overlayPopup .imgArray {\n min-height: 105px;\n max-height: 500px;\n}\n.floatingIslandsWorkshop-partsContainer {\n top: 263px;\n left: 113px;\n width: 533px;\n height: auto;\n background-image: url(https://i.mouse.rip/fi-airships-middle.png);\n background-size: contain;\n border-radius: 12px;\n}\n.floatingIslandsWorkshop-parts-content {\n position: relative;\n height: 100%;\n max-height: 60vh;\n}\n.floatingIslandsWorkshop-parts-title {\n padding: 5px 10px 0;\n margin-top: -23px;\n margin-right: -1px;\n background:\n radial-gradient(\n circle,\n #fdf9bd 0%,\n #fff9dc 50%,\n #fdf9bd 100%);\n border: none;\n border-radius: 4px 5px 0 0;\n}\n.floatingIslandsWorkshop-partsContainer::after {\n position: absolute;\n bottom: -3px;\n left: 0;\n width: 533px;\n height: 30px;\n content: "";\n background-image: url(https://i.mouse.rip/fi-airships-bottom-2.png);\n background-position: bottom;\n}\n.floatingIslandsWorkshop-stabilizer {\n position: absolute;\n top: 250px;\n left: 430px;\n}\n.select2-results {\n max-height: 50vh;\n}\n.giftSelectorView-scroller {\n height: auto;\n}\n.mh-gift-buttons-clone-wrapper {\n max-height: calc(75vh - 175px);\n}\n.mh-ui-goals-block .treasureMapView-block-content {\n max-height: unset;\n}\n.treasureMapView-block-content {\n height: unset;\n}\n.treasureMapView-blockWrapper.tall .treasureMapView-block-content.treasureMapShopsView-shopItems {\n height: 100%;\n max-height: unset;\n overflow-x: hidden;\n}\n.treasureMapDialogView.wide.hideActions {\n top: 30vh;\n}\n';
52856
53422
  }
52857
53423
  });
52858
53424
 
52859
53425
  // src/modules/taller-windows/index.js
52860
- var init85, taller_windows_default;
53426
+ var init86, taller_windows_default;
52861
53427
  var init_taller_windows = __esm({
52862
53428
  "src/modules/taller-windows/index.js"() {
52863
53429
  init_utils2();
52864
- init_styles136();
52865
- init85 = () => __async(null, null, function* () {
52866
- addStyles(styles_default135, "taller-windows");
53430
+ init_styles137();
53431
+ init86 = () => __async(null, null, function* () {
53432
+ addStyles(styles_default136, "taller-windows");
52867
53433
  });
52868
53434
  taller_windows_default = {
52869
53435
  id: "taller-windows",
52870
53436
  name: "Taller Windows",
52871
53437
  type: "navigation-utilities",
52872
53438
  default: true,
52873
- load: init85
53439
+ load: init86
52874
53440
  };
52875
53441
  }
52876
53442
  });
52877
53443
 
52878
53444
  // src/modules/tem-crowns/styles.css
52879
- var styles_default136;
52880
- var init_styles137 = __esm({
53445
+ var styles_default137;
53446
+ var init_styles138 = __esm({
52881
53447
  "src/modules/tem-crowns/styles.css"() {
52882
- styles_default136 = "/* src/modules/tem-crowns/styles.css */\n.campPage-trap-trapEffectiveness-mouse-name {\n display: inline-flex;\n flex-flow: column wrap;\n place-content: flex-start space-around;\n align-items: flex-start;\n justify-content: flex-start;\n width: 100px;\n padding-left: 0;\n margin-top: -10px;\n}\n.campPage-trap-trapEffectiveness-mouse:hover,\n.campPage-trap-trapEffectiveness-mouse:focus,\n.campPage-trap-trapEffectiveness-mouse:active {\n border: none;\n outline: 1px solid #ccc;\n}\n.campPage-trap-trapEffectiveness-content {\n overflow: visible;\n}\n.mh-ui-tem-crown.mousebox {\n position: relative;\n float: none;\n margin: 0;\n border: none;\n}\nimg.mh-ui-tem-crown-icon {\n position: absolute;\n top: -1px;\n right: -5px;\n z-index: 2;\n box-sizing: border-box;\n width: 22px;\n height: 22px;\n vertical-align: middle;\n background-color: #f4f4f4;\n border: 1px solid #8d8282;\n border-right: none;\n border-radius: 50% 0 0 50%;\n}\nspan.mh-ui-tem-crown-text {\n position: absolute;\n top: -1px;\n left: 1px;\n z-index: 1;\n box-sizing: border-box;\n display: inline-block;\n width: auto;\n height: 22px;\n padding: 3px 4px 3px 20px;\n font-size: 12px;\n font-weight: 900;\n color: #8e6642;\n background-color: #f4f4f4;\n border: 1px solid #8d8282;\n}\n.mh-ui-tem-crown-wrapper {\n position: absolute;\n bottom: 0;\n left: 45px;\n}\n.campPage-trap-trapEffectiveness-mouse-chance {\n display: block;\n margin-top: 5px;\n color: #628ea9;\n}\n.campPage-trap-trapEffectiveness-mouse-powerType {\n right: 28px;\n bottom: -9px;\n background-color: #f4f4f4;\n background-size: 70%;\n border-color: #8d8282;\n}\n.campPage-trap-trapEffectiveness span {\n font-size: 14px;\n vertical-align: bottom;\n}\n.campPage-trap-trapEffectiveness-difficultyGroup.clear-block {\n display: grid;\n grid-template-columns: 1fr 1fr;\n place-items: center stretch;\n padding-left: 10px;\n}\n.campPage-trap-trapEffectiveness-mouse {\n width: unset;\n margin: 10px 0;\n overflow: visible;\n border: none;\n}\n.campPage-trap-trapEffectiveness-difficultyGroup-label {\n grid-column: span 2;\n font-weight: 400;\n text-align: center;\n border: none;\n}\n";
53448
+ styles_default137 = "/* src/modules/tem-crowns/styles.css */\n.campPage-trap-trapEffectiveness-mouse-name {\n display: inline-flex;\n flex-flow: column wrap;\n place-content: flex-start space-around;\n align-items: flex-start;\n justify-content: flex-start;\n width: 100px;\n padding-left: 0;\n margin-top: -10px;\n}\n.campPage-trap-trapEffectiveness-mouse:hover,\n.campPage-trap-trapEffectiveness-mouse:focus,\n.campPage-trap-trapEffectiveness-mouse:active {\n border: none;\n outline: 1px solid #ccc;\n}\n.campPage-trap-trapEffectiveness-content {\n overflow: visible;\n}\n.mh-ui-tem-crown.mousebox {\n position: relative;\n float: none;\n margin: 0;\n border: none;\n}\nimg.mh-ui-tem-crown-icon {\n position: absolute;\n top: -1px;\n right: -5px;\n z-index: 2;\n box-sizing: border-box;\n width: 22px;\n height: 22px;\n vertical-align: middle;\n background-color: #f4f4f4;\n border: 1px solid #8d8282;\n border-right: none;\n border-radius: 50% 0 0 50%;\n}\nspan.mh-ui-tem-crown-text {\n position: absolute;\n top: -1px;\n left: 1px;\n z-index: 1;\n box-sizing: border-box;\n display: inline-block;\n width: auto;\n height: 22px;\n padding: 3px 4px 3px 20px;\n font-size: 12px;\n font-weight: 900;\n color: #8e6642;\n background-color: #f4f4f4;\n border: 1px solid #8d8282;\n}\n.mh-ui-tem-crown-wrapper {\n position: absolute;\n bottom: 0;\n left: 45px;\n}\n.campPage-trap-trapEffectiveness-mouse-chance {\n display: block;\n margin-top: 5px;\n color: #628ea9;\n}\n.campPage-trap-trapEffectiveness-mouse-powerType {\n right: 28px;\n bottom: -9px;\n background-color: #f4f4f4;\n background-size: 70%;\n border-color: #8d8282;\n}\n.campPage-trap-trapEffectiveness span {\n font-size: 14px;\n vertical-align: bottom;\n}\n.campPage-trap-trapEffectiveness-difficultyGroup.clear-block {\n display: grid;\n grid-template-columns: 1fr 1fr;\n place-items: center stretch;\n padding-left: 10px;\n}\n.campPage-trap-trapEffectiveness-mouse {\n width: unset;\n margin: 10px 0;\n overflow: visible;\n border: none;\n}\n.campPage-trap-trapEffectiveness-difficultyGroup-label {\n grid-column: span 2;\n font-weight: 400;\n text-align: center;\n border: none;\n}\n";
52883
53449
  }
52884
53450
  });
52885
53451
 
52886
53452
  // src/modules/tem-crowns/index.js
52887
- var huntingStats, getCrownType, addCrownsToTEM, init86, tem_crowns_default;
53453
+ var huntingStats, getCrownType, addCrownsToTEM, init87, tem_crowns_default;
52888
53454
  var init_tem_crowns = __esm({
52889
53455
  "src/modules/tem-crowns/index.js"() {
52890
53456
  init_utils2();
52891
- init_styles137();
53457
+ init_styles138();
52892
53458
  huntingStats = [];
52893
- getCrownType = (catches) => {
52894
- if (catches < 10) {
53459
+ getCrownType = (catches2) => {
53460
+ if (catches2 < 10) {
52895
53461
  return "none";
52896
53462
  }
52897
- if (catches < 100) {
53463
+ if (catches2 < 100) {
52898
53464
  return "bronze";
52899
53465
  }
52900
- if (catches < 500) {
53466
+ if (catches2 < 500) {
52901
53467
  return "silver";
52902
53468
  }
52903
- if (catches < 1e3) {
53469
+ if (catches2 < 1e3) {
52904
53470
  return "gold";
52905
53471
  }
52906
- if (catches < 2500) {
53472
+ if (catches2 < 2500) {
52907
53473
  return "platinum";
52908
53474
  }
52909
53475
  return "diamond";
52910
53476
  };
52911
- addCrownsToTEM = (panel2) => __async(null, null, function* () {
52912
- if ("trap_effectiveness" !== panel2) {
53477
+ addCrownsToTEM = (panel3) => __async(null, null, function* () {
53478
+ if ("trap_effectiveness" !== panel3) {
52913
53479
  return;
52914
53480
  }
52915
53481
  const crowns2 = yield doRequest("managers/ajax/mice/getstat.php", {
@@ -52941,21 +53507,21 @@ var mhui = (() => {
52941
53507
  if (!name) {
52942
53508
  return;
52943
53509
  }
52944
- const catches = mouseStats2.num_catches;
52945
- const crownType = getCrownType(catches);
53510
+ const catches2 = mouseStats2.num_catches;
53511
+ const crownType = getCrownType(catches2);
52946
53512
  const crownWrapper = makeElement("div", "mh-ui-tem-crown-wrapper");
52947
53513
  const crown = makeElement("span", ["mh-ui-tem-crown", "mousebox"]);
52948
53514
  const crownIcon = document.createElement("img");
52949
53515
  crownIcon.classList.add("mh-ui-tem-crown-icon");
52950
53516
  crownIcon.src = "https://www.mousehuntgame.com/images/ui/crowns/crown_".concat(crownType, ".png");
52951
53517
  crown.append(crownIcon);
52952
- makeElement("span", "mh-ui-tem-crown-text", catches, crown);
53518
+ makeElement("span", "mh-ui-tem-crown-text", catches2, crown);
52953
53519
  crownWrapper.append(crown);
52954
53520
  name.append(crownWrapper);
52955
53521
  }));
52956
53522
  });
52957
- init86 = () => __async(null, null, function* () {
52958
- addStyles(styles_default136, "tem-crowns");
53523
+ init87 = () => __async(null, null, function* () {
53524
+ addStyles(styles_default137, "tem-crowns");
52959
53525
  onEvent("camp_page_toggle_blueprint", addCrownsToTEM);
52960
53526
  });
52961
53527
  tem_crowns_default = {
@@ -52964,13 +53530,13 @@ var mhui = (() => {
52964
53530
  type: "hunting-setup",
52965
53531
  default: true,
52966
53532
  description: "Add crowns and catches to the Trap Effectiveness Meter.",
52967
- load: init86
53533
+ load: init87
52968
53534
  };
52969
53535
  }
52970
53536
  });
52971
53537
 
52972
53538
  // src/modules/trap-selector-special-effects/index.js
52973
- var specialEffects, addSpecialEffectsStyles, hasAddedSpecialEffectsStyles, init87, trap_selector_special_effects_default;
53539
+ var specialEffects, addSpecialEffectsStyles, hasAddedSpecialEffectsStyles, init88, trap_selector_special_effects_default;
52974
53540
  var init_trap_selector_special_effects = __esm({
52975
53541
  "src/modules/trap-selector-special-effects/index.js"() {
52976
53542
  init_utils2();
@@ -53001,7 +53567,7 @@ var mhui = (() => {
53001
53567
  );
53002
53568
  });
53003
53569
  hasAddedSpecialEffectsStyles = false;
53004
- init87 = () => __async(null, null, function* () {
53570
+ init88 = () => __async(null, null, function* () {
53005
53571
  onEvent("camp_page_toggle_blueprint", () => {
53006
53572
  if (!hasAddedSpecialEffectsStyles) {
53007
53573
  addSpecialEffectsStyles();
@@ -53017,17 +53583,17 @@ var mhui = (() => {
53017
53583
  name: "Highlight Special Effects in Trap Selector",
53018
53584
  type: "hunting-setup",
53019
53585
  default: true,
53020
- load: init87
53586
+ load: init88
53021
53587
  };
53022
53588
  }
53023
53589
  });
53024
53590
 
53025
53591
  // src/modules/ultimate-checkmark/settings/index.js
53026
- var settings_default40;
53027
- var init_settings41 = __esm({
53592
+ var settings_default41;
53593
+ var init_settings42 = __esm({
53028
53594
  "src/modules/ultimate-checkmark/settings/index.js"() {
53029
53595
  init_utils2();
53030
- settings_default40 = () => __async(null, null, function* () {
53596
+ settings_default41 = () => __async(null, null, function* () {
53031
53597
  const options2 = [];
53032
53598
  const categories = [
53033
53599
  { id: "airships", name: "Airships" },
@@ -53061,10 +53627,10 @@ var mhui = (() => {
53061
53627
  });
53062
53628
 
53063
53629
  // src/modules/ultimate-checkmark/styles.css
53064
- var styles_default137;
53065
- var init_styles138 = __esm({
53630
+ var styles_default138;
53631
+ var init_styles139 = __esm({
53066
53632
  "src/modules/ultimate-checkmark/styles.css"() {
53067
- styles_default137 = "/* src/modules/ultimate-checkmark/styles.css */\n.hunterProfileItemsView-categoryContent[data-category=codex] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=airships] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=currency] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=equipment] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=plankrun] .hunterProfileItemsView-categoryContent-item.uncollected {\n filter: grayscale(100%);\n}\n.hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item-padding .itemImage {\n background-size: contain;\n}\n";
53633
+ styles_default138 = "/* src/modules/ultimate-checkmark/styles.css */\n.hunterProfileItemsView-categoryContent[data-category=codex] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=airships] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=currency] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=equipment] .hunterProfileItemsView-categoryContent-item.uncollected,\n.hunterProfileItemsView-categoryContent[data-category=plankrun] .hunterProfileItemsView-categoryContent-item.uncollected {\n filter: grayscale(100%);\n}\n.hunterProfileItemsView-categoryContent[data-category=chest] .hunterProfileItemsView-categoryContent-item-padding .itemImage {\n background-size: contain;\n}\n";
53068
53634
  }
53069
53635
  });
53070
53636
 
@@ -53077,12 +53643,12 @@ var mhui = (() => {
53077
53643
  });
53078
53644
 
53079
53645
  // src/modules/ultimate-checkmark/index.js
53080
- var getItems2, getProgress, makeProgressString, makeCategory, makeItem, makeContent, addCategoryAndItems, isOwnProfile, items6, run5, init88, ultimate_checkmark_default2;
53646
+ var getItems2, getProgress, makeProgressString, makeCategory, makeItem, makeContent, addCategoryAndItems, isOwnProfile, items6, run5, init89, ultimate_checkmark_default2;
53081
53647
  var init_ultimate_checkmark2 = __esm({
53082
53648
  "src/modules/ultimate-checkmark/index.js"() {
53083
53649
  init_utils2();
53084
- init_settings41();
53085
- init_styles138();
53650
+ init_settings42();
53651
+ init_styles139();
53086
53652
  init_ultimate_checkmark();
53087
53653
  getItems2 = (_0, _1, _2, ..._3) => __async(null, [_0, _1, _2, ..._3], function* (required, queryTab, queryTag, allItems3 = []) {
53088
53654
  var _a;
@@ -53301,8 +53867,8 @@ var mhui = (() => {
53301
53867
  yield addCategoryAndItems(category.items, category.type, category.subtype, category.key, category.name);
53302
53868
  }
53303
53869
  });
53304
- init88 = () => __async(null, null, function* () {
53305
- addStyles(styles_default137, "ultimate-checkmark");
53870
+ init89 = () => __async(null, null, function* () {
53871
+ addStyles(styles_default138, "ultimate-checkmark");
53306
53872
  onNavigation(run5, {
53307
53873
  page: "hunterprofile",
53308
53874
  tab: "items",
@@ -53313,26 +53879,26 @@ var mhui = (() => {
53313
53879
  id: "ultimate-checkmark",
53314
53880
  type: "inventory-economy",
53315
53881
  alwaysLoad: true,
53316
- load: init88,
53317
- settings: settings_default40
53882
+ load: init89,
53883
+ settings: settings_default41
53318
53884
  };
53319
53885
  }
53320
53886
  });
53321
53887
 
53322
53888
  // src/modules/unique-loot-count/styles.css
53323
- var styles_default138;
53324
- var init_styles139 = __esm({
53889
+ var styles_default139;
53890
+ var init_styles140 = __esm({
53325
53891
  "src/modules/unique-loot-count/styles.css"() {
53326
- styles_default138 = "/* src/modules/unique-loot-count/styles.css */\n.uniqueLootCount {\n margin-left: 5px;\n}\n";
53892
+ styles_default139 = "/* src/modules/unique-loot-count/styles.css */\n.uniqueLootCount {\n margin-left: 5px;\n}\n";
53327
53893
  }
53328
53894
  });
53329
53895
 
53330
53896
  // src/modules/unique-loot-count/index.js
53331
- var updateSection, addUniqueLootCount, init89, unique_loot_count_default;
53897
+ var updateSection, addUniqueLootCount, init90, unique_loot_count_default;
53332
53898
  var init_unique_loot_count = __esm({
53333
53899
  "src/modules/unique-loot-count/index.js"() {
53334
53900
  init_utils2();
53335
- init_styles139();
53901
+ init_styles140();
53336
53902
  updateSection = (selector) => __async(null, null, function* () {
53337
53903
  const section = document.querySelectorAll("#overlayPopup.hunting_summary .".concat(selector));
53338
53904
  if (!section) {
@@ -53353,8 +53919,8 @@ var mhui = (() => {
53353
53919
  const sections = ["environmentContainer", "baitContainer", "lootContainer"];
53354
53920
  sections.forEach((section) => updateSection(section));
53355
53921
  });
53356
- init89 = () => __async(null, null, function* () {
53357
- addStyles(styles_default138, "unique-loot-count");
53922
+ init90 = () => __async(null, null, function* () {
53923
+ addStyles(styles_default139, "unique-loot-count");
53358
53924
  onDialogShow("hunting_summary", () => setMultipleTimeout(addUniqueLootCount, 500, 1e3, 3e3));
53359
53925
  });
53360
53926
  unique_loot_count_default = {
@@ -53363,16 +53929,16 @@ var mhui = (() => {
53363
53929
  type: "journal-progress-stats",
53364
53930
  default: true,
53365
53931
  description: "Show the number of unique loot items in the progress log.",
53366
- load: init89
53932
+ load: init90
53367
53933
  };
53368
53934
  }
53369
53935
  });
53370
53936
 
53371
53937
  // src/modules/update-notifications/styles.css
53372
- var styles_default139;
53373
- var init_styles140 = __esm({
53938
+ var styles_default140;
53939
+ var init_styles141 = __esm({
53374
53940
  "src/modules/update-notifications/styles.css"() {
53375
- styles_default139 = '/* src/modules/update-notifications/styles.css */\n.mhui-update-banner {\n position: absolute;\n top: 10px;\n z-index: 11;\n width: 352px;\n padding: 10px;\n margin: 10px 3px;\n background:\n linear-gradient(\n 320deg,\n #e1fae9 0%,\n #b0f5c6 100%);\n background-color: #e1fae9;\n border: 1px solid #6e7d73;\n border-radius: 5px;\n box-shadow: 1px 0 3px -1px #3d3d3d, 0 2px 5px 1px #111;\n}\n.mh-dark .mhui-update-banner {\n background: var(--d-green-dark);\n border-color: var(--d-border);\n}\n.mhui-update-banner-text {\n margin: 10px 0 20px;\n font-size: 16px;\n text-align: center;\n}\n.mhui-update-banner-buttons {\n display: flex;\n flex: 1;\n flex-direction: row;\n align-items: center;\n justify-content: space-evenly;\n}\na.mhui-update-banner-button {\n border: 1px solid #000;\n}\n.banner-fade {\n opacity: 1;\n transition: opacity 0.3s ease-in-out;\n}\n.banner-fade-out {\n opacity: 0;\n}\n#overlayPopup.mh-improved-update-summary {\n margin-top: 30px;\n}\n#overlayPopup.mh-improved-update-summary .jsDialog.top,\n#overlayPopup.mh-improved-update-summary .jsDialog.bottom,\n#overlayPopup.mh-improved-update-summary .jsDialog.background,\n#overlayPopup.mh-improved-update-summary .jsDialogContainer .prefix,\n#overlayPopup.mh-improved-update-summary .jsDialogContainer .content,\n#overlayPopup.mh-improved-update-summary .jsDialogContainer .suffix {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n}\n#overlayPopup.mh-improved-update-summary .jsDialog.top,\n#overlayPopup.mh-improved-update-summary .jsDialog.bottom {\n pointer-events: none;\n}\n#overlayPopup.mh-improved-update-summary .jsDialogContainer {\n padding: 0 20px;\n background-image: url(https://www.mousehuntgame.com/images/ui/newsposts/np_border.png);\n background-repeat: repeat-y;\n background-size: 100%;\n}\n#overlayPopup.mh-improved-update-summary .jsDialogContainer::before {\n position: absolute;\n top: -80px;\n right: 0;\n left: 0;\n z-index: -1;\n height: 100px;\n content: "";\n background-image: url(https://www.mousehuntgame.com/images/ui/newsposts/np_header.png);\n background-repeat: no-repeat;\n background-size: 100%;\n}\n#overlayPopup.mh-improved-update-summary .jsDialogContainer::after {\n position: absolute;\n top: 100%;\n right: 0;\n left: 0;\n height: 126px;\n content: "";\n background-image: url(https://www.mousehuntgame.com/images/ui/newsposts/np_footer.png);\n background-repeat: no-repeat;\n background-size: 100%;\n}\n.mh-improved-update-summary-wrapper {\n margin: 0 25px;\n line-height: 1.5;\n}\n.mh-improved-update-summary-body {\n display: grid;\n grid-template-columns: 2fr 1fr;\n gap: 30px;\n}\n.mh-improved-update-summary h1 {\n padding-bottom: 5px;\n margin-top: -40px;\n font-size: 1.75em;\n font-weight: 700;\n color: #693312;\n text-align: center;\n}\n.mh-improved-update-summary h2 {\n padding-bottom: 3px;\n margin-bottom: 3px;\n font-size: 1.25em;\n font-weight: 900;\n border-bottom: 1px solid #c1915a;\n}\n.mh-improved-update-summary h3 {\n padding-bottom: 3px;\n margin-bottom: 3px;\n font-size: 1.25em;\n font-weight: 900;\n border-bottom: 1px solid #c1915a;\n}\n.mh-improved-update-summary-version + .mh-improved-update-summary-version {\n padding-top: 15px;\n margin-top: 15px;\n}\n.mh-improved-update-summary-version-title {\n font-size: 1.5em;\n color: #693312;\n text-align: center;\n border-bottom: 0;\n}\n.mh-improved-update-summary-links {\n display: flex;\n flex-direction: column;\n}\n.mh-improved-update-summary ul {\n margin: 0 0 5px 25px;\n list-style: disc;\n}\n.mh-improved-update-summary-buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.mh-improved-update-summary-links ul {\n font-size: 1.125em;\n line-height: 2;\n}\n.mh-improved-update-summary-misc {\n margin-bottom: 5px;\n}\n.mh-improved-update-summary-content p,\np.mh-improved-update-summary-content {\n font-size: 12px;\n}\n.mh-improved-update-summary-lists {\n display: grid;\n grid-template-columns: 1fr;\n gap: 0 10px;\n justify-items: stretch;\n max-height: 55vh;\n padding: 10px;\n margin-bottom: 20px;\n overflow: auto;\n background:\n linear-gradient(#e9d5a2 30%, rgb(0 0 0 / 0%)) center top,\n linear-gradient(rgb(0 0 0 / 0%), #e9d5a2 70%) center bottom,\n radial-gradient(\n farthest-side at 50% 0,\n rgb(0 0 0 / 40%),\n rgb(0 0 0 / 0%)) center top,\n radial-gradient(\n farthest-side at 50% 100%,\n rgb(0 0 0 / 40%),\n rgb(0 0 0 / 0%)) center bottom;\n background-repeat: no-repeat;\n background-attachment:\n local,\n local,\n scroll,\n scroll;\n background-size:\n 100% 50px,\n 100% 50px,\n 100% 15px,\n 100% 15px;\n border: 1px solid #b07842;\n}\n';
53941
+ styles_default140 = '/* src/modules/update-notifications/styles.css */\n.mhui-update-banner {\n position: absolute;\n top: 10px;\n z-index: 11;\n width: 352px;\n padding: 10px;\n margin: 10px 3px;\n background:\n linear-gradient(\n 320deg,\n #e1fae9 0%,\n #b0f5c6 100%);\n background-color: #e1fae9;\n border: 1px solid #6e7d73;\n border-radius: 5px;\n box-shadow: 1px 0 3px -1px #3d3d3d, 0 2px 5px 1px #111;\n}\n.mh-dark .mhui-update-banner {\n background: var(--d-green-dark);\n border-color: var(--d-border);\n}\n.mhui-update-banner-text {\n margin: 10px 0 20px;\n font-size: 16px;\n text-align: center;\n}\n.mhui-update-banner-buttons {\n display: flex;\n flex: 1;\n flex-direction: row;\n align-items: center;\n justify-content: space-evenly;\n}\na.mhui-update-banner-button {\n border: 1px solid #000;\n}\n.banner-fade {\n opacity: 1;\n transition: opacity 0.3s ease-in-out;\n}\n.banner-fade-out {\n opacity: 0;\n}\n#overlayPopup.mh-improved-update-summary {\n margin-top: 30px;\n}\n#overlayPopup.mh-improved-update-summary .jsDialog.top,\n#overlayPopup.mh-improved-update-summary .jsDialog.bottom,\n#overlayPopup.mh-improved-update-summary .jsDialog.background,\n#overlayPopup.mh-improved-update-summary .jsDialogContainer .prefix,\n#overlayPopup.mh-improved-update-summary .jsDialogContainer .content,\n#overlayPopup.mh-improved-update-summary .jsDialogContainer .suffix {\n padding: 0;\n margin: 0;\n background: none;\n border: none;\n}\n#overlayPopup.mh-improved-update-summary .jsDialog.top,\n#overlayPopup.mh-improved-update-summary .jsDialog.bottom {\n pointer-events: none;\n}\n#overlayPopup.mh-improved-update-summary .jsDialogContainer {\n padding: 0 20px;\n background-image: url(https://www.mousehuntgame.com/images/ui/newsposts/np_border.png);\n background-repeat: repeat-y;\n background-size: 100%;\n}\n#overlayPopup.mh-improved-update-summary .jsDialogContainer::before {\n position: absolute;\n top: -80px;\n right: 0;\n left: 0;\n z-index: -1;\n height: 100px;\n content: "";\n background-image: url(https://www.mousehuntgame.com/images/ui/newsposts/np_header.png);\n background-repeat: no-repeat;\n background-size: 100%;\n}\n#overlayPopup.mh-improved-update-summary .jsDialogContainer::after {\n position: absolute;\n top: 100%;\n right: 0;\n left: 0;\n height: 126px;\n content: "";\n background-image: url(https://www.mousehuntgame.com/images/ui/newsposts/np_footer.png);\n background-repeat: no-repeat;\n background-size: 100%;\n}\n.mh-improved-update-summary-wrapper {\n margin: 0 25px;\n line-height: 1.5;\n}\n.mh-improved-update-summary-body {\n display: grid;\n grid-template-columns: 2fr 1fr;\n gap: 30px;\n}\n.mh-improved-update-summary h1 {\n padding-bottom: 5px;\n margin-top: -40px;\n font-size: 1.75em;\n font-weight: 700;\n color: #693312;\n text-align: center;\n}\n.mh-improved-update-summary h2 {\n padding-bottom: 3px;\n margin-bottom: 3px;\n font-size: 1.25em;\n font-weight: 900;\n border-bottom: 1px solid #c1915a;\n}\n.mh-improved-update-summary h3 {\n padding-bottom: 3px;\n margin-bottom: 3px;\n font-size: 1.25em;\n font-weight: 900;\n border-bottom: 1px solid #c1915a;\n}\n.mh-improved-update-summary-version + .mh-improved-update-summary-version {\n padding-top: 15px;\n margin-top: 15px;\n}\n.mh-improved-update-summary-version-title {\n font-size: 1.5em;\n color: #693312;\n text-align: center;\n border-bottom: 0;\n}\n.mh-improved-update-summary-links {\n display: flex;\n flex-direction: column;\n}\n.mh-improved-update-summary ul {\n margin: 0 0 5px 25px;\n list-style: disc;\n}\n.mh-improved-update-summary-buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.mh-improved-update-summary-links ul {\n font-size: 1.125em;\n line-height: 2;\n}\n.mh-improved-update-summary-misc {\n margin-bottom: 5px;\n}\n.mh-improved-update-summary-content p,\np.mh-improved-update-summary-content {\n font-size: 12px;\n}\n.mh-improved-update-summary-lists {\n display: grid;\n grid-template-columns: 1fr;\n gap: 0 10px;\n justify-items: stretch;\n max-height: 55vh;\n padding: 10px;\n margin-bottom: 20px;\n overflow: auto;\n background:\n linear-gradient(#e9d5a2 30%, rgb(0 0 0 / 0%)) center top,\n linear-gradient(rgb(0 0 0 / 0%), #e9d5a2 70%) center bottom,\n radial-gradient(\n farthest-side at 50% 0,\n rgb(0 0 0 / 40%),\n rgb(0 0 0 / 0%)) center top,\n radial-gradient(\n farthest-side at 50% 100%,\n rgb(0 0 0 / 40%),\n rgb(0 0 0 / 0%)) center bottom;\n background-repeat: no-repeat;\n background-attachment:\n local,\n local,\n scroll,\n scroll;\n background-size:\n 100% 50px,\n 100% 50px,\n 100% 15px,\n 100% 15px;\n border: 1px solid #b07842;\n}\n';
53376
53942
  }
53377
53943
  });
53378
53944
 
@@ -53456,12 +54022,28 @@ var mhui = (() => {
53456
54022
  }
53457
54023
  });
53458
54024
 
54025
+ // src/data/update-summaries/0.99.6.json
54026
+ var __default16;
54027
+ var init__16 = __esm({
54028
+ "src/data/update-summaries/0.99.6.json"() {
54029
+ __default16 = { version: "0.99.6", summary: "", details: [{ title: "", items: ['Add "Skyport Star Tracker": a new module for tracking which mice you still need from each Cerulean Skyport raid', 'Location HUDs - Cerulean Skyport: Favorite raid locations to highlight their ships when choosing, updated "View Ledger" to raid completion journal entries', "Fixed FLRT Helper sometimes failing silently", "Fixed a few Cerulean Skyport, journal, and dark mode issues"] }] };
54030
+ }
54031
+ });
54032
+
54033
+ // src/data/update-summaries/0.99.7.json
54034
+ var __default17;
54035
+ var init__17 = __esm({
54036
+ "src/data/update-summaries/0.99.7.json"() {
54037
+ __default17 = { version: "0.99.7", summary: "", details: [{ title: "", items: ["Fixed the refresh button missing from the My Invites tab of the map popup"] }] };
54038
+ }
54039
+ });
54040
+
53459
54041
  // src/modules/update-notifications/index.js
53460
- var imported10, updateSummaries, compareVersions, getSummariesSince, makeDetailsList, makeVersionMarkup, showUpdateSummary, init90, update_notifications_default;
54042
+ var imported10, updateSummaries, compareVersions, getSummariesSince, makeDetailsList, makeVersionMarkup, showUpdateSummary, init91, update_notifications_default;
53461
54043
  var init_update_notifications = __esm({
53462
54044
  "src/modules/update-notifications/index.js"() {
53463
54045
  init_utils2();
53464
- init_styles140();
54046
+ init_styles141();
53465
54047
  init__6();
53466
54048
  init__7();
53467
54049
  init__8();
@@ -53472,7 +54054,9 @@ var mhui = (() => {
53472
54054
  init__13();
53473
54055
  init__14();
53474
54056
  init__15();
53475
- imported10 = [__default6, __default7, __default8, __default9, __default10, __default11, __default12, __default13, __default14, __default15];
54057
+ init__16();
54058
+ init__17();
54059
+ imported10 = [__default6, __default7, __default8, __default9, __default10, __default11, __default12, __default13, __default14, __default15, __default16, __default17];
53476
54060
  updateSummaries = imported10;
53477
54061
  compareVersions = (a, b) => {
53478
54062
  const aParts = "".concat(a).split(".");
@@ -53524,8 +54108,8 @@ var mhui = (() => {
53524
54108
  popup.hide();
53525
54109
  });
53526
54110
  });
53527
- init90 = () => __async(null, null, function* () {
53528
- addStyles(styles_default139, "update-notifications");
54111
+ init91 = () => __async(null, null, function* () {
54112
+ addStyles(styles_default140, "update-notifications");
53529
54113
  onEvent("mh-improved-updated", showUpdateSummary);
53530
54114
  onEvent("mh-improved-update-summary", () => showUpdateSummary("0.0.0", true));
53531
54115
  window.mhuiDebug = window.mhuiDebug || {};
@@ -53536,7 +54120,7 @@ var mhui = (() => {
53536
54120
  type: "required",
53537
54121
  alwaysLoad: true,
53538
54122
  order: 200,
53539
- load: init90
54123
+ load: init91
53540
54124
  };
53541
54125
  }
53542
54126
  });
@@ -53550,20 +54134,20 @@ var mhui = (() => {
53550
54134
  });
53551
54135
 
53552
54136
  // src/modules/user-highlighting/styles.css
53553
- var styles_default140;
53554
- var init_styles141 = __esm({
54137
+ var styles_default141;
54138
+ var init_styles142 = __esm({
53555
54139
  "src/modules/user-highlighting/styles.css"() {
53556
- styles_default140 = '/* src/modules/user-highlighting/styles.css */\n.mh-improved-highlight-user .hunterInfoView-verifiedUserImage {\n width: 14.5px;\n height: 17.5px;\n background: url(https://i.mouse.rip/mh-improved/tada-badge.png) no-repeat;\n background-size: contain;\n}\n.mh-improved-supporter .hunterInfoView-verifiedUserImage {\n background: url(https://i.mouse.rip/mh-improved/star-badge.png) no-repeat;\n background-position-y: -1px;\n background-size: contain;\n}\n.mh-improved-highlight-user .friendsPage-friendRow-image:focus::after,\n.mh-improved-highlight-user .friendsPage-friendRow-image:hover::after,\n.mh-improved-highlight-user .friendsPage-friendRow-image:active::after {\n position: absolute;\n top: 5px;\n left: 5px;\n width: 20px;\n height: 20px;\n font-size: 22px;\n color: #fff;\n content: "";\n background-image: url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="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>\');\n filter: drop-shadow(0 0 2px #000);\n background-repeat: no-repeat;\n background-size: contain;\n}\n.mh-improved-highlight-user #tipButton {\n right: 155px;\n}\n.mh-improved-discord-ban-warning {\n margin: 10px 0;\n}\n.mh-improved-discord-ban-warning-note {\n margin-top: 5px;\n font-size: 0.9em;\n font-style: italic;\n}\n.hunterInfoView-wrapper.mh-improved-discord-banned .friendsProfileView-container {\n opacity: 0.5;\n}\n.hunterInfoView-wrapper.mh-improved-discord-banned .friendsProfileView-container:hover {\n opacity: 1;\n}\n';
54140
+ styles_default141 = '/* src/modules/user-highlighting/styles.css */\n.mh-improved-highlight-user .hunterInfoView-verifiedUserImage {\n width: 14.5px;\n height: 17.5px;\n background: url(https://i.mouse.rip/mh-improved/tada-badge.png) no-repeat;\n background-size: contain;\n}\n.mh-improved-supporter .hunterInfoView-verifiedUserImage {\n background: url(https://i.mouse.rip/mh-improved/star-badge.png) no-repeat;\n background-position-y: -1px;\n background-size: contain;\n}\n.mh-improved-highlight-user .friendsPage-friendRow-image:focus::after,\n.mh-improved-highlight-user .friendsPage-friendRow-image:hover::after,\n.mh-improved-highlight-user .friendsPage-friendRow-image:active::after {\n position: absolute;\n top: 5px;\n left: 5px;\n width: 20px;\n height: 20px;\n font-size: 22px;\n color: #fff;\n content: "";\n background-image: url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="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>\');\n filter: drop-shadow(0 0 2px #000);\n background-repeat: no-repeat;\n background-size: contain;\n}\n.mh-improved-highlight-user #tipButton {\n right: 155px;\n}\n.mh-improved-discord-ban-warning {\n margin: 10px 0;\n}\n.mh-improved-discord-ban-warning-note {\n margin-top: 5px;\n font-size: 0.9em;\n font-style: italic;\n}\n.hunterInfoView-wrapper.mh-improved-discord-banned .friendsProfileView-container {\n opacity: 0.5;\n}\n.hunterInfoView-wrapper.mh-improved-discord-banned .friendsProfileView-container:hover {\n opacity: 1;\n}\n';
53557
54141
  }
53558
54142
  });
53559
54143
 
53560
54144
  // src/modules/user-highlighting/index.js
53561
- var getUserHighlightingShield, addDiscordBanWarning, highlightUsers, init91, user_highlighting_default;
54145
+ var getUserHighlightingShield, addDiscordBanWarning, highlightUsers, init92, user_highlighting_default;
53562
54146
  var init_user_highlighting = __esm({
53563
54147
  "src/modules/user-highlighting/index.js"() {
53564
54148
  init_utils2();
53565
54149
  init_profile3();
53566
- init_styles141();
54150
+ init_styles142();
53567
54151
  getUserHighlightingShield = (type) => {
53568
54152
  let text = "";
53569
54153
  switch (type) {
@@ -53659,8 +54243,8 @@ var mhui = (() => {
53659
54243
  profilePage.classList.add("mh-improved-highlight-user", "mh-improved-fancy-profile");
53660
54244
  }
53661
54245
  });
53662
- init91 = () => __async(null, null, function* () {
53663
- addStyles([styles_default140, profile_default3], "highlight-users");
54246
+ init92 = () => __async(null, null, function* () {
54247
+ addStyles([styles_default141, profile_default3], "highlight-users");
53664
54248
  onNavigation(highlightUsers, {
53665
54249
  page: "hunterprofile"
53666
54250
  });
@@ -53669,16 +54253,16 @@ var mhui = (() => {
53669
54253
  id: "highlight-users",
53670
54254
  type: "required",
53671
54255
  alwaysLoad: true,
53672
- load: init91
54256
+ load: init92
53673
54257
  };
53674
54258
  }
53675
54259
  });
53676
54260
 
53677
54261
  // src/modules/wisdom-in-stat-bar/settings/index.js
53678
- var settings_default41;
53679
- var init_settings42 = __esm({
54262
+ var settings_default42;
54263
+ var init_settings43 = __esm({
53680
54264
  "src/modules/wisdom-in-stat-bar/settings/index.js"() {
53681
- settings_default41 = () => __async(null, null, function* () {
54265
+ settings_default42 = () => __async(null, null, function* () {
53682
54266
  return [
53683
54267
  {
53684
54268
  id: "wisdom-in-stat-bar.auto-refresh",
@@ -53691,20 +54275,20 @@ var mhui = (() => {
53691
54275
  });
53692
54276
 
53693
54277
  // src/modules/wisdom-in-stat-bar/styles.css
53694
- var styles_default141;
53695
- var init_styles142 = __esm({
54278
+ var styles_default142;
54279
+ var init_styles143 = __esm({
53696
54280
  "src/modules/wisdom-in-stat-bar/styles.css"() {
53697
- styles_default141 = "/* src/modules/wisdom-in-stat-bar/styles.css */\n.mousehuntHud-marbleDrawer {\n min-height: 55px;\n}\n";
54281
+ styles_default142 = "/* src/modules/wisdom-in-stat-bar/styles.css */\n.mousehuntHud-marbleDrawer {\n min-height: 55px;\n}\n";
53698
54282
  }
53699
54283
  });
53700
54284
 
53701
54285
  // src/modules/wisdom-in-stat-bar/index.js
53702
- var getWisdomSetting2, saveWisdomSetting2, getWisdom2, getWisdomFormatted, addWisdomToStatBar, updateWisdom, addRefreshListener, useCachedWisdom, legacyHudMenu, init92, wisdom_in_stat_bar_default;
54286
+ var getWisdomSetting2, saveWisdomSetting2, getWisdom2, getWisdomFormatted, addWisdomToStatBar, updateWisdom, addRefreshListener, useCachedWisdom, legacyHudMenu, init93, wisdom_in_stat_bar_default;
53703
54287
  var init_wisdom_in_stat_bar = __esm({
53704
54288
  "src/modules/wisdom-in-stat-bar/index.js"() {
53705
54289
  init_utils2();
53706
- init_settings42();
53707
- init_styles142();
54290
+ init_settings43();
54291
+ init_styles143();
53708
54292
  getWisdomSetting2 = (key) => __async(null, null, function* () {
53709
54293
  return yield dataGet("wisdom-stat-".concat(key));
53710
54294
  });
@@ -53769,8 +54353,8 @@ var mhui = (() => {
53769
54353
  };
53770
54354
  useCachedWisdom = true;
53771
54355
  legacyHudMenu = false;
53772
- init92 = () => __async(null, null, function* () {
53773
- addStyles(styles_default141, "wisdom-in-stat-bar");
54356
+ init93 = () => __async(null, null, function* () {
54357
+ addStyles(styles_default142, "wisdom-in-stat-bar");
53774
54358
  if (getSetting("wisdom-in-stat-bar.auto-refresh", true)) {
53775
54359
  onTurn(updateWisdom);
53776
54360
  }
@@ -53791,8 +54375,8 @@ var mhui = (() => {
53791
54375
  name: "Wisdom in Stat Bar",
53792
54376
  type: "hunting-setup",
53793
54377
  default: false,
53794
- load: init92,
53795
- settings: settings_default41
54378
+ load: init93,
54379
+ settings: settings_default42
53796
54380
  };
53797
54381
  }
53798
54382
  });
@@ -53880,6 +54464,7 @@ var mhui = (() => {
53880
54464
  init_shield_goes_to_camp();
53881
54465
  init_show_adventure_book();
53882
54466
  init_show_auras();
54467
+ init_skyport_star_tracker();
53883
54468
  init_taller_windows();
53884
54469
  init_tem_crowns();
53885
54470
  init_trap_selector_special_effects();
@@ -53888,7 +54473,7 @@ var mhui = (() => {
53888
54473
  init_update_notifications();
53889
54474
  init_user_highlighting();
53890
54475
  init_wisdom_in_stat_bar();
53891
- var imported11 = [adblock_default, base_item_counters_default, better_gifts_default, better_inventory_default, better_item_view_default, better_journal_default, better_kings_reward_default, better_maps_default, better_marketplace_default, better_mice_default, better_quests_default, better_send_supplies_default, better_shops_default, better_tournaments_default, better_travel_default, better_ui_default, big_timer_default, catch_rate_estimate_default, copy_id_default, custom_background_default, custom_camp_background_default, custom_css_default, custom_horn_default, custom_hud_default, custom_shield_default, dark_mode_tweaks_default, data_exporters_default, debug_default, delayed_menus_default, delayed_tooltips_default, emotes_default2, error_reporting_default, experiments_default, favorite_setups_default2, feature_flags_default, fixes_default, flrt_helper_default, gifts_in_inbox_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, hide_trap_selector_tooltips_default, hover_profiles_default, image_upscaling_default, inline_wiki_default, inventory_buttons_default, inventory_lock_and_hide_default, journal_changer_default, journal_privacy_default, keyboard_shortcuts_default, legacy_hud_default, lgs_reminder_default2, links_default, location_catch_stats_default, location_dashboard_default, location_huds_settings_default, location_huds_default, metric_default, native_dark_mode_default, onboarding_default, paste_hunter_id_default, progress_log_tracker_default, quick_filters_and_sort_default, quick_send_supplies_default, real_base_stats_default, replace_favicon_default, required_default, scoreboard_search_on_profiles_default, settings_default38, shield_goes_to_camp_default, show_adventure_book_default, show_auras_default, taller_windows_default, tem_crowns_default, trap_selector_special_effects_default, ultimate_checkmark_default2, unique_loot_count_default, update_notifications_default, user_highlighting_default, wisdom_in_stat_bar_default];
54476
+ var imported11 = [adblock_default, base_item_counters_default, better_gifts_default, better_inventory_default, better_item_view_default, better_journal_default, better_kings_reward_default, better_maps_default, better_marketplace_default, better_mice_default, better_quests_default, better_send_supplies_default, better_shops_default, better_tournaments_default, better_travel_default, better_ui_default, big_timer_default, catch_rate_estimate_default, copy_id_default, custom_background_default, custom_camp_background_default, custom_css_default, custom_horn_default, custom_hud_default, custom_shield_default, dark_mode_tweaks_default, data_exporters_default, debug_default, delayed_menus_default, delayed_tooltips_default, emotes_default2, error_reporting_default, experiments_default, favorite_setups_default2, feature_flags_default, fixes_default, flrt_helper_default, gifts_in_inbox_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, hide_trap_selector_tooltips_default, hover_profiles_default, image_upscaling_default, inline_wiki_default, inventory_buttons_default, inventory_lock_and_hide_default, journal_changer_default, journal_privacy_default, keyboard_shortcuts_default, legacy_hud_default, lgs_reminder_default2, links_default, location_catch_stats_default, location_dashboard_default, location_huds_settings_default, location_huds_default, metric_default, native_dark_mode_default, onboarding_default, paste_hunter_id_default, progress_log_tracker_default, quick_filters_and_sort_default, quick_send_supplies_default, real_base_stats_default, replace_favicon_default, required_default, scoreboard_search_on_profiles_default, settings_default38, shield_goes_to_camp_default, show_adventure_book_default, show_auras_default, skyport_star_tracker_default, taller_windows_default, tem_crowns_default, trap_selector_special_effects_default, ultimate_checkmark_default2, unique_loot_count_default, update_notifications_default, user_highlighting_default, wisdom_in_stat_bar_default];
53892
54477
  var modules2 = imported11;
53893
54478
  var categories = [
53894
54479
  { id: "required", name: "Always Loaded" },
@@ -53991,7 +54576,7 @@ var mhui = (() => {
53991
54576
  }
53992
54577
  setGlobal("modules", allLoadedModules);
53993
54578
  });
53994
- var init93 = () => __async(null, null, function* () {
54579
+ var init94 = () => __async(null, null, function* () {
53995
54580
  if (isUnsupportedFile()) {
53996
54581
  debug2("Skipping unsupported filetype.");
53997
54582
  return;
@@ -54056,7 +54641,7 @@ var mhui = (() => {
54056
54641
  showLoadingError(error2);
54057
54642
  }
54058
54643
  });
54059
- init93();
54644
+ init94();
54060
54645
  }
54061
54646
  });
54062
54647
  return require_index();