mousehunt-improved 0.99.5 → 0.99.6

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.6';
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");
@@ -23983,10 +24057,10 @@ var mhui = (() => {
23983
24057
  makeElement("div", "mouse-name", mouse.name, mouseText);
23984
24058
  }
23985
24059
  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);
24060
+ const catches2 = makeElement("div", "mouse-catches");
24061
+ makeElement("span", "", "Catches: ", catches2);
24062
+ makeElement("span", "", mouse.num_catches_formatted || 0, catches2);
24063
+ catchStats.append(catches2);
23990
24064
  const avgWeight = makeElement("div", "mouse-avg-weight");
23991
24065
  makeElement("span", "", "Avg: ", avgWeight);
23992
24066
  makeElement("span", "", mouse.avg_weight || "0z", avgWeight);
@@ -24325,11 +24399,11 @@ var mhui = (() => {
24325
24399
  return;
24326
24400
  }
24327
24401
  rows.forEach((row) => {
24328
- const catches = row.querySelector("".concat(getSelectorPrefix(), " .mouseListView-categoryContent-subgroup-mouse-stats.catches"));
24329
- if (!catches) {
24402
+ const catches2 = row.querySelector("".concat(getSelectorPrefix(), " .mouseListView-categoryContent-subgroup-mouse-stats.catches"));
24403
+ if (!catches2) {
24330
24404
  return;
24331
24405
  }
24332
- const value = catches.innerText ? catches.innerText.replaceAll(",", "") || 0 : 0;
24406
+ const value = catches2.innerText ? catches2.innerText.replaceAll(",", "") || 0 : 0;
24333
24407
  if (value >= 2500) {
24334
24408
  row.classList.add("crown", "diamond");
24335
24409
  } else if (value >= 1e3) {
@@ -24513,7 +24587,7 @@ var mhui = (() => {
24513
24587
  var styles_default21;
24514
24588
  var init_styles22 = __esm({
24515
24589
  "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';
24590
+ 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
24591
  }
24518
24592
  });
24519
24593
 
@@ -24876,11 +24950,11 @@ var mhui = (() => {
24876
24950
  mice: []
24877
24951
  }));
24878
24952
  mice2.forEach((mouse) => {
24879
- const catches = Number.parseInt(mouse.querySelector(".mouseCrownsView-group-mouse-catches").innerText.replaceAll(",", ""), 10);
24953
+ const catches2 = Number.parseInt(mouse.querySelector(".mouseCrownsView-group-mouse-catches").innerText.replaceAll(",", ""), 10);
24880
24954
  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 });
24955
+ const group = grouped.find((crown) => catches2 >= crown.min && catches2 <= crown.max);
24956
+ if (group && group.mice && !group.mice.some((m) => m.name === name && m.catches === catches2)) {
24957
+ group.mice.push({ catches: catches2, name });
24884
24958
  }
24885
24959
  });
24886
24960
  grouped.forEach((group) => {
@@ -27954,8 +28028,8 @@ var mhui = (() => {
27954
28028
  return;
27955
28029
  }
27956
28030
  started = true;
27957
- onEvent("camp_page_toggle_blueprint", (panel2) => {
27958
- scheduleTrapSelector({ type: "blueprint", panel: panel2 });
28031
+ onEvent("camp_page_toggle_blueprint", (panel3) => {
28032
+ scheduleTrapSelector({ type: "blueprint", panel: panel3 });
27959
28033
  });
27960
28034
  onRequest("users/gettrapcomponents.php", (data) => {
27961
28035
  scheduleTrapSelector({ type: "components", data });
@@ -27996,9 +28070,9 @@ var mhui = (() => {
27996
28070
  boundSkinButtons = /* @__PURE__ */ new WeakSet();
27997
28071
  isAdding2 = false;
27998
28072
  delayedAdd = null;
27999
- addSkinImages = (panel2, force = false, isCurrent = () => true) => __async(null, null, function* () {
28073
+ addSkinImages = (panel3, force = false, isCurrent = () => true) => __async(null, null, function* () {
28000
28074
  var _a;
28001
- if ("item_browser" !== panel2) {
28075
+ if ("item_browser" !== panel3) {
28002
28076
  return;
28003
28077
  }
28004
28078
  if (isAdding2) {
@@ -28090,11 +28164,11 @@ var mhui = (() => {
28090
28164
  };
28091
28165
  larger_skin_images_default = () => {
28092
28166
  addStyles(styles_default29, "better-ui-larger-skin-images");
28093
- registerTrapSelectorDecorator("images", "larger-skin-images", ({ type, panel: panel2, data, isCurrent }) => {
28167
+ registerTrapSelectorDecorator("images", "larger-skin-images", ({ type, panel: panel3, data, isCurrent }) => {
28094
28168
  var _a, _b, _c;
28095
28169
  triggerFromClick();
28096
28170
  if ("blueprint" === type) {
28097
- return addSkinImages(panel2, false, isCurrent);
28171
+ return addSkinImages(panel3, false, isCurrent);
28098
28172
  }
28099
28173
  if ("components" === type && "skin" === ((_b = (_a = data == null ? void 0 : data.components) == null ? void 0 : _a[0]) == null ? void 0 : _b.classification)) {
28100
28174
  clearTimeout(delayedAdd);
@@ -37233,12 +37307,12 @@ var mhui = (() => {
37233
37307
  var styles_default55;
37234
37308
  var init_styles56 = __esm({
37235
37309
  "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';
37310
+ 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
37311
  }
37238
37312
  });
37239
37313
 
37240
37314
  // src/modules/flrt-helper/index.js
37241
- var addFlrtButtonToConvertible, flrtPopup, hasFoundMaptain, updateSendButtons, init45, flrt_helper_default;
37315
+ var addFlrtButtonToConvertible, flrtPopup, validatedReceiver, setSendButtonsEnabled, updateSendButtons, init45, flrt_helper_default;
37242
37316
  var init_flrt_helper = __esm({
37243
37317
  "src/modules/flrt-helper/index.js"() {
37244
37318
  init_utils2();
@@ -37250,6 +37324,7 @@ var mhui = (() => {
37250
37324
  }
37251
37325
  const items7 = [];
37252
37326
  const tradableItems = yield getData("items-tradable");
37327
+ const hasTradableData = Array.isArray(tradableItems) && tradableItems.length > 0;
37253
37328
  for (const element of response.convertible_open.items) {
37254
37329
  const itemData = {
37255
37330
  type: element.type,
@@ -37262,14 +37337,7 @@ var mhui = (() => {
37262
37337
  itemData.name = "SUPER|brie+";
37263
37338
  itemData.image = "https://www.mousehuntgame.com/images/items/bait/large/32b20c3984d2f03b132c295ea3b99e7e.png";
37264
37339
  }
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 {
37340
+ if (!hasTradableData || tradableItems.some((tradableItem) => tradableItem.type === itemData.type)) {
37273
37341
  items7.push(itemData);
37274
37342
  }
37275
37343
  }
@@ -37291,6 +37359,9 @@ var mhui = (() => {
37291
37359
  flrtPopup = (items7) => __async(null, null, function* () {
37292
37360
  const lastMaptain = yield getLastMaptain();
37293
37361
  let itemContent = "";
37362
+ if (!items7.length) {
37363
+ itemContent = '<div class="flrt-no-items">No tradable items were found in this chest.</div>';
37364
+ }
37294
37365
  items7.forEach((item) => {
37295
37366
  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
37367
  });
@@ -37298,26 +37369,28 @@ var mhui = (() => {
37298
37369
  template: "ajax",
37299
37370
  className: "flrt-helper-popup",
37300
37371
  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>")
37372
+ 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
37373
  });
37303
37374
  popup.addToken("{*prefix*}", '<h2 class="title">Send tradable items</h2>');
37304
37375
  popup.addToken("{*suffix*}", "");
37305
37376
  popup.show();
37306
- const search = document.querySelector(".search-for-hunter");
37307
- if (!search) {
37377
+ const overlay = document.querySelector("#overlayPopup.flrt-helper-popup");
37378
+ const search = overlay == null ? void 0 : overlay.querySelector(".search-for-hunter");
37379
+ const hunterIdInput = overlay == null ? void 0 : overlay.querySelector(".friendsPage-community-hunterIdForm-input");
37380
+ if (!overlay || !search || !hunterIdInput) {
37308
37381
  return;
37309
37382
  }
37310
- hasFoundMaptain = !!lastMaptain;
37383
+ validatedReceiver = "";
37311
37384
  if (lastMaptain) {
37312
37385
  app.pages.FriendsPage.triggerHunterForm(search);
37313
37386
  }
37314
- const flrtItems = document.querySelectorAll(".flrt-item");
37387
+ const flrtItems = overlay.querySelectorAll(".flrt-item");
37315
37388
  search.addEventListener("click", () => {
37316
- const id = document.querySelector(".friendsPage-community-hunterIdForm-input");
37317
- if (!id) {
37318
- return;
37319
- }
37320
- app.pages.FriendsPage.submitHunterIdForm(id);
37389
+ app.pages.FriendsPage.submitHunterIdForm(hunterIdInput);
37390
+ });
37391
+ hunterIdInput.addEventListener("input", () => {
37392
+ validatedReceiver = "";
37393
+ setSendButtonsEnabled(overlay, false);
37321
37394
  });
37322
37395
  flrtItems.forEach((item) => {
37323
37396
  const sendButton = item.querySelector(".flrt-item-send");
@@ -37325,7 +37398,7 @@ var mhui = (() => {
37325
37398
  return;
37326
37399
  }
37327
37400
  sendButton.addEventListener("click", () => __async(null, null, function* () {
37328
- if (!hasFoundMaptain) {
37401
+ if (!validatedReceiver) {
37329
37402
  return;
37330
37403
  }
37331
37404
  const type = item.getAttribute("data-item-type");
@@ -37334,40 +37407,46 @@ var mhui = (() => {
37334
37407
  return;
37335
37408
  }
37336
37409
  item.classList.add("flrt-item-sending");
37337
- yield doRequest("managers/ajax/users/supplytransfer.php", {
37410
+ const response = yield doRequest("managers/ajax/users/supplytransfer.php", {
37338
37411
  item: type,
37339
37412
  item_quantity: quantity,
37340
- receiver: lastMaptain
37413
+ receiver: validatedReceiver
37341
37414
  });
37342
37415
  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");
37416
+ if (response == null ? void 0 : response.success) {
37417
+ item.classList.add("flrt-item-sent");
37418
+ item.classList.add("flrt-item-sent-success");
37419
+ setTimeout(() => item.classList.remove("flrt-item-sent-success"), 1500);
37420
+ sendButton.disabled = true;
37421
+ sendButton.classList.add("disabled");
37422
+ sendButton.setAttribute("data-item-sent", "true");
37423
+ } else {
37424
+ item.classList.add("flrt-item-send-error");
37425
+ setTimeout(() => item.classList.remove("flrt-item-send-error"), 2500);
37426
+ }
37349
37427
  }));
37350
37428
  });
37351
37429
  });
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
- }
37430
+ validatedReceiver = "";
37431
+ setSendButtonsEnabled = (overlay, enabled) => {
37432
+ const flrtSendButtons = overlay.querySelectorAll(".flrt-item-send");
37363
37433
  flrtSendButtons.forEach((button) => {
37364
- if (button.getAttribute("data-item-sent") === "true") {
37434
+ if ("true" === button.getAttribute("data-item-sent")) {
37365
37435
  return;
37366
37436
  }
37367
- button.disabled = !hasFoundMaptain;
37368
- button.classList.toggle("disabled", !hasFoundMaptain);
37437
+ button.disabled = !enabled;
37438
+ button.classList.toggle("disabled", !enabled);
37369
37439
  });
37370
- });
37440
+ };
37441
+ updateSendButtons = (resp) => {
37442
+ var _a;
37443
+ const overlay = document.querySelector("#overlayPopup.flrt-helper-popup");
37444
+ if (!overlay) {
37445
+ return;
37446
+ }
37447
+ validatedReceiver = ((_a = resp == null ? void 0 : resp.friend) == null ? void 0 : _a.sn_user_id) ? "".concat(resp.friend.sn_user_id) : "";
37448
+ setSendButtonsEnabled(overlay, Boolean(validatedReceiver));
37449
+ };
37371
37450
  init45 = () => __async(null, null, function* () {
37372
37451
  addStyles(styles_default55, "flrt-helper");
37373
37452
  onDialogShow("treasureMapPopup", cacheFinishedMap);
@@ -37690,13 +37769,13 @@ var mhui = (() => {
37690
37769
  return true;
37691
37770
  };
37692
37771
  markGiftsSeen = () => {
37693
- const panel2 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37694
- if (!panel2) {
37772
+ const panel3 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37773
+ if (!panel3) {
37695
37774
  return;
37696
37775
  }
37697
37776
  const state = getState();
37698
37777
  let changed = false;
37699
- panel2.querySelectorAll(".message.mh-improved-gift-link").forEach((message) => {
37778
+ panel3.querySelectorAll(".message.mh-improved-gift-link").forEach((message) => {
37700
37779
  const code = message.getAttribute("data-mhi-gift-code");
37701
37780
  if (code && !state.seen[code]) {
37702
37781
  state.seen[code] = (/* @__PURE__ */ new Date()).toISOString();
@@ -37714,8 +37793,8 @@ var mhui = (() => {
37714
37793
  document.querySelectorAll("#messengerUINotification .notificationHeader .tabs a").forEach((tab) => {
37715
37794
  tab.classList.remove("active");
37716
37795
  });
37717
- document.querySelectorAll("#messengerUINotification .notificationMessageList .tab").forEach((panel2) => {
37718
- panel2.classList.remove("active");
37796
+ document.querySelectorAll("#messengerUINotification .notificationMessageList .tab").forEach((panel3) => {
37797
+ panel3.classList.remove("active");
37719
37798
  });
37720
37799
  (_a = document.querySelector('#messengerUINotification .tabs a[data-tab="'.concat(TAB_TYPE, '"]'))) == null ? void 0 : _a.classList.add("active");
37721
37800
  (_b = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'))) == null ? void 0 : _b.classList.add("active");
@@ -37733,20 +37812,20 @@ var mhui = (() => {
37733
37812
  };
37734
37813
  refreshGiftTabState = () => {
37735
37814
  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) {
37815
+ const panel3 = document.querySelector('#messengerUINotification .notificationMessageList .tab[data-tab="'.concat(TAB_TYPE, '"]'));
37816
+ if (!tab || !panel3) {
37738
37817
  return;
37739
37818
  }
37740
- const messages = panel2.querySelectorAll(".message.mh-improved-gift-link");
37741
- const newCount = panel2.querySelectorAll(".message.mh-improved-gift-link.new").length;
37819
+ const messages = panel3.querySelectorAll(".message.mh-improved-gift-link");
37820
+ const newCount = panel3.querySelectorAll(".message.mh-improved-gift-link.new").length;
37742
37821
  const counter = tab.querySelector(".counter");
37743
37822
  if (counter) {
37744
37823
  counter.textContent = newCount;
37745
37824
  }
37746
37825
  tab.classList.toggle("new", newCount > 0);
37747
37826
  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);
37827
+ if (messages.length === 0 && !panel3.querySelector(".empty")) {
37828
+ makeElement("div", "empty", "You have no gift links right now.", panel3);
37750
37829
  }
37751
37830
  };
37752
37831
  renderGiftTab = () => __async(null, null, function* () {
@@ -37772,17 +37851,17 @@ var mhui = (() => {
37772
37851
  other.addEventListener("click", deactivateGiftTab);
37773
37852
  });
37774
37853
  }
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);
37854
+ let panel3 = list.querySelector('.tab[data-tab="'.concat(TAB_TYPE, '"]'));
37855
+ if (!panel3) {
37856
+ panel3 = makeElement("div", "tab");
37857
+ panel3.setAttribute("data-tab", TAB_TYPE);
37858
+ list.append(panel3);
37780
37859
  }
37781
- panel2.innerHTML = "";
37860
+ panel3.innerHTML = "";
37782
37861
  if (links.length === 0) {
37783
- makeElement("div", "empty", "You have no gift links right now.", panel2);
37862
+ makeElement("div", "empty", "You have no gift links right now.", panel3);
37784
37863
  } else {
37785
- links.forEach((link) => panel2.append(buildMessage(link)));
37864
+ links.forEach((link) => panel3.append(buildMessage(link)));
37786
37865
  }
37787
37866
  refreshGiftTabState();
37788
37867
  return links.filter((link) => isUnseenGift(link)).length;
@@ -38615,7 +38694,7 @@ var mhui = (() => {
38615
38694
  const preferAbove = rect.top > ph + 20;
38616
38695
  const top = preferAbove ? aboveTop : belowTop;
38617
38696
  let left = rect.left + window.scrollX + rect.width / 2 - pw / 2;
38618
- left = clamp2(left, window.scrollX + 8, window.scrollX + viewportW - pw - 8);
38697
+ left = clamp(left, window.scrollX + 8, window.scrollX + viewportW - pw - 8);
38619
38698
  panel.style.top = "".concat(top, "px");
38620
38699
  panel.style.left = "".concat(left, "px");
38621
38700
  const r = panel.getBoundingClientRect();
@@ -41238,13 +41317,13 @@ var mhui = (() => {
41238
41317
  imageNameContainer.append(image);
41239
41318
  imageNameContainer.append(name);
41240
41319
  mouseEl.append(imageNameContainer);
41241
- const catches = makeElement("div", "mh-catch-stats-catches");
41242
- catches.textContent = mouse.num_catches;
41320
+ const catches2 = makeElement("div", "mh-catch-stats-catches");
41321
+ catches2.textContent = mouse.num_catches;
41243
41322
  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);
41323
+ makeElement("span", "mh-catch-stats-separator", "/", catches2);
41324
+ makeElement("span", "mh-catch-stats-misses", mouse.num_misses, catches2);
41246
41325
  }
41247
- mouseEl.append(catches);
41326
+ mouseEl.append(catches2);
41248
41327
  return mouseEl;
41249
41328
  };
41250
41329
  makeCrownBreakdown = (mice2) => {
@@ -41279,7 +41358,7 @@ var mhui = (() => {
41279
41358
  const listing = makeElement("div", "mh-catch-stats-list-mice");
41280
41359
  wrapper.append(listing);
41281
41360
  let reversed = false;
41282
- const render = () => {
41361
+ const render2 = () => {
41283
41362
  sortToggle.textContent = reversed ? "Sort \u2191" : "Sort \u2193";
41284
41363
  listing.replaceChildren();
41285
41364
  const sorted = reversed ? [...mice2].reverse() : mice2;
@@ -41290,9 +41369,9 @@ var mhui = (() => {
41290
41369
  sortToggle.addEventListener("click", (e) => {
41291
41370
  e.preventDefault();
41292
41371
  reversed = !reversed;
41293
- render();
41372
+ render2();
41294
41373
  });
41295
- render();
41374
+ render2();
41296
41375
  return wrapper;
41297
41376
  };
41298
41377
  makeStatsModal = (id, title) => {
@@ -42042,9 +42121,9 @@ var mhui = (() => {
42042
42121
  type = "SP";
42043
42122
  }
42044
42123
  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";
42124
+ quest.island_mod_panels.forEach((panel3) => {
42125
+ const panelType = panel3.type.toLowerCase().replaceAll("loot_cache", "key");
42126
+ const complete = panel3.is_complete ? "complete" : "incomplete";
42048
42127
  tileText += '<span class="tile '.concat(panelType, " ").concat(complete, '">').concat(panelType, "</span>");
42049
42128
  });
42050
42129
  const powerType = powerTypes[quest.island_power_type];
@@ -44082,12 +44161,12 @@ var mhui = (() => {
44082
44161
  });
44083
44162
 
44084
44163
  // src/modules/location-huds/locations/cerulean-skyport/ledger.js
44085
- var shipmentFinishedClass, pendingShipments, getShipmentKey, getSavedShipment, saveShipment, makeLedger, showLedger, addLedgerButton, addHullClick, hasAddedLedgerButtons, initLedger;
44164
+ var finishedClasses, pendingShipments, getShipmentKey, getSavedShipment, saveShipment, makeLedger, showLedger, addLedgerButton, addHullClick, hasAddedLedgerButtons, initLedger;
44086
44165
  var init_ledger2 = __esm({
44087
44166
  "src/modules/location-huds/locations/cerulean-skyport/ledger.js"() {
44088
44167
  init_utils2();
44089
44168
  init_ledger();
44090
- shipmentFinishedClass = "ceruleanSkyport-shipmentFinished";
44169
+ finishedClasses = ["ceruleanSkyport-shipmentFinished", "ceruleanSkyport-raidFinished"];
44091
44170
  pendingShipments = /* @__PURE__ */ new Map();
44092
44171
  getShipmentKey = (entryId) => {
44093
44172
  return "cerulean-skyport-ledger-".concat(entryId);
@@ -44104,8 +44183,9 @@ var mhui = (() => {
44104
44183
  saveShipment = (response) => __async(null, null, function* () {
44105
44184
  var _a, _b, _c, _d, _e;
44106
44185
  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);
44186
+ var _a2;
44187
+ const cssClass = ((_a2 = markup == null ? void 0 : markup.render_data) == null ? void 0 : _a2.css_class) || "";
44188
+ return finishedClasses.some((finishedClass) => cssClass.includes(finishedClass));
44109
44189
  });
44110
44190
  const entryId = (_a = finished == null ? void 0 : finished.render_data) == null ? void 0 : _a.entry_id;
44111
44191
  if (!entryId) {
@@ -44180,7 +44260,7 @@ var mhui = (() => {
44180
44260
  document.body.append(overlay);
44181
44261
  };
44182
44262
  addLedgerButton = (model) => __async(null, null, function* () {
44183
- if (!model.id || !model.classes.has(shipmentFinishedClass)) {
44263
+ if (!model.id || !finishedClasses.some((finishedClass) => model.classes.has(finishedClass))) {
44184
44264
  return;
44185
44265
  }
44186
44266
  const shipment = yield getSavedShipment(model.id);
@@ -44228,6 +44308,141 @@ var mhui = (() => {
44228
44308
  }
44229
44309
  });
44230
44310
 
44311
+ // src/utils/shared/skyport-raid-dialog.js
44312
+ var dialogClass, isRaidDialog, onSkyportRaidDialog, onSkyportRaidDialogShow, onSkyportRaidDialogHide;
44313
+ var init_skyport_raid_dialog = __esm({
44314
+ "src/utils/shared/skyport-raid-dialog.js"() {
44315
+ init_utils2();
44316
+ dialogClass = "ceruleanSkyportRaidChoiceDialogPopup";
44317
+ isRaidDialog = (dialog) => {
44318
+ var _a, _b;
44319
+ 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;
44320
+ };
44321
+ onSkyportRaidDialog = (event, callback, deferred = false) => {
44322
+ const lifecycleCallback = prepareLifecycleCallback(callback, "skyport-raid-dialog:".concat(event));
44323
+ if (lifecycleCallback.skip) {
44324
+ return;
44325
+ }
44326
+ const callbackId = lifecycleCallback.id || callback.name || callback.toString();
44327
+ addEvent(
44328
+ event,
44329
+ (dialog) => {
44330
+ if (!isRaidDialog(dialog)) {
44331
+ return;
44332
+ }
44333
+ if (deferred) {
44334
+ queueMicrotask(() => {
44335
+ if (document.querySelector(".ceruleanSkyportRaidChoiceDialogView__raidBlock[data-type]")) {
44336
+ lifecycleCallback.callback();
44337
+ }
44338
+ });
44339
+ return;
44340
+ }
44341
+ lifecycleCallback.callback();
44342
+ },
44343
+ { id: "skyport-raid-dialog:".concat(event, ":").concat(callbackId) }
44344
+ );
44345
+ };
44346
+ onSkyportRaidDialogShow = (callback) => {
44347
+ onSkyportRaidDialog("js_dialog_show", callback, true);
44348
+ };
44349
+ onSkyportRaidDialogHide = (callback) => {
44350
+ onSkyportRaidDialog("js_dialog_hide", callback);
44351
+ };
44352
+ }
44353
+ });
44354
+
44355
+ // src/modules/location-huds/locations/cerulean-skyport/raid-favorites.css
44356
+ var raid_favorites_default;
44357
+ var init_raid_favorites = __esm({
44358
+ "src/modules/location-huds/locations/cerulean-skyport/raid-favorites.css"() {
44359
+ 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";
44360
+ }
44361
+ });
44362
+
44363
+ // src/modules/location-huds/locations/cerulean-skyport/raid-favorites.js
44364
+ var settingKey, getFavoriteRaids, getFavoriteShipmentTypes, updateShipHighlights, toggleFavoriteRaid, addFavoriteButtons, initRaidFavorites;
44365
+ var init_raid_favorites2 = __esm({
44366
+ "src/modules/location-huds/locations/cerulean-skyport/raid-favorites.js"() {
44367
+ init_utils2();
44368
+ init_skyport_raid_dialog();
44369
+ init_raid_favorites();
44370
+ settingKey = "location-huds.cerulean-skyport-favorite-raids";
44371
+ getFavoriteRaids = () => {
44372
+ return getSetting(settingKey, []);
44373
+ };
44374
+ getFavoriteShipmentTypes = () => {
44375
+ var _a, _b;
44376
+ const favorites = getFavoriteRaids();
44377
+ const shipments = ((_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestCeruleanSkyport) == null ? void 0 : _b.shipments) || [];
44378
+ return shipments.filter((shipment) => {
44379
+ var _a2, _b2;
44380
+ return favorites.includes((_b2 = (_a2 = shipment == null ? void 0 : shipment.location) == null ? void 0 : _a2.type) == null ? void 0 : _b2.replace(/_shipment$/, "_raid"));
44381
+ }).map((shipment) => shipment.type);
44382
+ };
44383
+ updateShipHighlights = () => {
44384
+ let style = document.querySelector("#mh-improved-skyport-raid-favorite-ships");
44385
+ if (!style) {
44386
+ style = document.createElement("style");
44387
+ style.id = "mh-improved-skyport-raid-favorite-ships";
44388
+ document.head.append(style);
44389
+ }
44390
+ const selectors = getFavoriteShipmentTypes().map((type) => {
44391
+ return '.ceruleanSkyportPrepView__shipment[data-type="'.concat(type, '"] .ceruleanSkyportPrepView__shipmentDirigible');
44392
+ });
44393
+ style.textContent = selectors.length ? "".concat(selectors.join(", "), " { filter: brightness(1.1) drop-shadow(0 0 6px #f7c22b); }") : "";
44394
+ };
44395
+ toggleFavoriteRaid = (type, isFavorite2) => {
44396
+ const favorites = new Set(getFavoriteRaids());
44397
+ if (isFavorite2) {
44398
+ favorites.add(type);
44399
+ } else {
44400
+ favorites.delete(type);
44401
+ }
44402
+ saveSetting(settingKey, [...favorites]);
44403
+ updateShipHighlights();
44404
+ };
44405
+ addFavoriteButtons = () => {
44406
+ const favorites = getFavoriteRaids();
44407
+ const blocks = document.querySelectorAll(".ceruleanSkyportRaidChoiceDialogView__raidBlock[data-type]");
44408
+ blocks.forEach((block) => __async(null, null, function* () {
44409
+ const type = block.getAttribute("data-type");
44410
+ const isFavorite2 = favorites.includes(type);
44411
+ block.classList.toggle("mh-improved-skyport-raid-favorite", isFavorite2);
44412
+ const star = yield makeFavoriteButton({
44413
+ id: "mh-improved-skyport-raid-favorite-".concat(type),
44414
+ target: block,
44415
+ size: "small",
44416
+ state: isFavorite2,
44417
+ isSetting: false,
44418
+ /**
44419
+ * Save the raid as a favorite and light up its balloon.
44420
+ */
44421
+ onActivate: () => {
44422
+ toggleFavoriteRaid(type, true);
44423
+ block.classList.add("mh-improved-skyport-raid-favorite");
44424
+ },
44425
+ /**
44426
+ * Remove the raid from the favorites.
44427
+ */
44428
+ onDeactivate: () => {
44429
+ toggleFavoriteRaid(type, false);
44430
+ block.classList.remove("mh-improved-skyport-raid-favorite");
44431
+ }
44432
+ });
44433
+ star.classList.add("mh-improved-skyport-raid-favorite-star");
44434
+ star.title = "Favorite this raid";
44435
+ }));
44436
+ };
44437
+ initRaidFavorites = () => {
44438
+ addStyles(raid_favorites_default, "cerulean-skyport-raid-favorites");
44439
+ onSkyportRaidDialogShow(addFavoriteButtons);
44440
+ updateShipHighlights();
44441
+ onRequest("*", updateShipHighlights);
44442
+ };
44443
+ }
44444
+ });
44445
+
44231
44446
  // src/modules/location-huds/locations/floating-islands/full-width-airship.css
44232
44447
  var full_width_airship_default;
44233
44448
  var init_full_width_airship = __esm({
@@ -44240,7 +44455,7 @@ var mhui = (() => {
44240
44455
  var styles_default82;
44241
44456
  var init_styles83 = __esm({
44242
44457
  "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';
44458
+ 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
44459
  }
44245
44460
  });
44246
44461
 
@@ -44251,12 +44466,14 @@ var mhui = (() => {
44251
44466
  init_utils2();
44252
44467
  init_airship_randomizer();
44253
44468
  init_ledger2();
44469
+ init_raid_favorites2();
44254
44470
  init_full_width_airship();
44255
44471
  init_styles83();
44256
44472
  cerulean_skyport_default2 = () => __async(null, null, function* () {
44257
44473
  addHudStyles([styles_default82, full_width_airship_default], "cerulean-skyport");
44258
44474
  addAirshipRandomizer();
44259
44475
  addHullClick();
44476
+ initRaidFavorites();
44260
44477
  });
44261
44478
  }
44262
44479
  });
@@ -46796,7 +47013,7 @@ var mhui = (() => {
46796
47013
  let gold = 0;
46797
47014
  let cfDrops = 0;
46798
47015
  let totalHunts = 0;
46799
- let catches = 0;
47016
+ let catches2 = 0;
46800
47017
  function addRate(step2, hunts, change) {
46801
47018
  if (runValues[step2] == null) {
46802
47019
  runValues[step2] = [];
@@ -46885,7 +47102,7 @@ var mhui = (() => {
46885
47102
  addRate(stepDetails[step].toKB, hunts, rate * stepDetails[step].cKB);
46886
47103
  addRate(stepDetails[step].toBKB, hunts, rate * stepDetails[step].cBKB);
46887
47104
  addRate(step, hunts, rate * stepDetails[step].cFTA);
46888
- catches += rate * (stepDetails[step].cPush + stepDetails[step].cTA);
47105
+ catches2 += rate * (stepDetails[step].cPush + stepDetails[step].cTA);
46889
47106
  } else if (hunts - 1 == stepDetails[step].sync || stepDetails[step].floor >= bail) {
46890
47107
  totalHunts += (hunts - 1) * rate;
46891
47108
  valuesDistribution[stepDetails[step].floor - 1][0] += rate;
@@ -49836,7 +50053,7 @@ var mhui = (() => {
49836
50053
  var conflict_popup_default;
49837
50054
  var init_conflict_popup = __esm({
49838
50055
  "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";
50056
+ 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
50057
  }
49841
50058
  });
49842
50059
 
@@ -49844,7 +50061,7 @@ var mhui = (() => {
49844
50061
  var events_default5;
49845
50062
  var init_events6 = __esm({
49846
50063
  "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";
50064
+ 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
50065
  }
49849
50066
  });
49850
50067
 
@@ -49852,7 +50069,7 @@ var mhui = (() => {
49852
50069
  var favorite_setups_default3;
49853
50070
  var init_favorite_setups3 = __esm({
49854
50071
  "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";
50072
+ 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
50073
  }
49857
50074
  });
49858
50075
 
@@ -49868,7 +50085,7 @@ var mhui = (() => {
49868
50085
  var general_default6;
49869
50086
  var init_general6 = __esm({
49870
50087
  "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";
50088
+ 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
50089
  }
49873
50090
  });
49874
50091
 
@@ -49964,7 +50181,7 @@ var mhui = (() => {
49964
50181
  var loading_default;
49965
50182
  var init_loading = __esm({
49966
50183
  "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';
50184
+ 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
50185
  }
49969
50186
  });
49970
50187
 
@@ -49972,7 +50189,7 @@ var mhui = (() => {
49972
50189
  var location_catch_stats_default2;
49973
50190
  var init_location_catch_stats2 = __esm({
49974
50191
  "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";
50192
+ 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
50193
  }
49977
50194
  });
49978
50195
 
@@ -49988,7 +50205,7 @@ var mhui = (() => {
49988
50205
  var markethunt_default;
49989
50206
  var init_markethunt = __esm({
49990
50207
  "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';
50208
+ 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
50209
  }
49993
50210
  });
49994
50211
 
@@ -49996,7 +50213,7 @@ var mhui = (() => {
49996
50213
  var marketplace_default2;
49997
50214
  var init_marketplace2 = __esm({
49998
50215
  "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';
50216
+ 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
50217
  }
50001
50218
  });
50002
50219
 
@@ -50156,7 +50373,7 @@ var mhui = (() => {
50156
50373
  var userscripts_default2;
50157
50374
  var init_userscripts2 = __esm({
50158
50375
  "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";
50376
+ 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
50377
  }
50161
50378
  });
50162
50379
 
@@ -51180,15 +51397,15 @@ var mhui = (() => {
51180
51397
  const tradables = yield getTradableItems("all");
51181
51398
  return opts.map((type) => tradables.find((t) => t.type === type)).filter(Boolean);
51182
51399
  });
51183
- positionPanel = (panel2, anchor2) => {
51400
+ positionPanel = (panel3, anchor2) => {
51184
51401
  const rect = anchor2.getBoundingClientRect();
51185
51402
  const top = rect.top + window.scrollY + rect.height - 10;
51186
- let left = rect.left + window.scrollX + rect.width / 2 - panel2.offsetWidth / 2;
51403
+ let left = rect.left + window.scrollX + rect.width / 2 - panel3.offsetWidth / 2;
51187
51404
  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");
51405
+ const maxLeft = window.scrollX + document.documentElement.clientWidth - panel3.offsetWidth - 8;
51406
+ left = clamp(left, minLeft, maxLeft);
51407
+ panel3.style.top = "".concat(top, "px");
51408
+ panel3.style.left = "".concat(left, "px");
51192
51409
  };
51193
51410
  sendSupplies = (_0) => __async(null, [_0], function* ({ aborter, snuid, qty, itemType, itemName, button, container }) {
51194
51411
  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 +51535,19 @@ var mhui = (() => {
51318
51535
  const close2 = makeElement("div", ["quickSendClose"], "x");
51319
51536
  close2.setAttribute("role", "button");
51320
51537
  close2.setAttribute("tabindex", "0");
51321
- const closePanel = () => {
51538
+ const closePanel2 = () => {
51322
51539
  wrapper.classList.remove("sticky");
51323
51540
  wrapper.classList.add("hidden");
51324
51541
  };
51325
- close2.addEventListener("click", closePanel);
51542
+ close2.addEventListener("click", closePanel2);
51326
51543
  close2.addEventListener("keydown", (e) => {
51327
51544
  if (e.key === "Enter" || e.key === " ") {
51328
- closePanel();
51545
+ closePanel2();
51329
51546
  }
51330
51547
  });
51331
51548
  wrapper.addEventListener("keydown", (e) => {
51332
51549
  if (e.key === "Escape") {
51333
- closePanel();
51550
+ closePanel2();
51334
51551
  }
51335
51552
  });
51336
51553
  document.body.append(wrapper);
@@ -51367,10 +51584,10 @@ var mhui = (() => {
51367
51584
  const onEnter = () => __async(null, null, function* () {
51368
51585
  clearTimeout(hoverTimer);
51369
51586
  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 });
51587
+ const panel3 = yield buildPanel(btn, snuid);
51588
+ panel3.classList.remove("hidden");
51589
+ positionPanel(panel3, btn);
51590
+ panel3.focus({ preventScroll: true });
51374
51591
  }), HOVER_DELAY);
51375
51592
  });
51376
51593
  const onLeave = () => {
@@ -51390,11 +51607,11 @@ var mhui = (() => {
51390
51607
  btn.addEventListener("mouseleave", onLeave);
51391
51608
  btn.addEventListener("click", (e) => __async(null, null, function* () {
51392
51609
  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 });
51610
+ const panel3 = yield buildPanel(btn, snuid);
51611
+ panel3.classList.toggle("hidden");
51612
+ panel3.classList.add("sticky");
51613
+ positionPanel(panel3, btn);
51614
+ panel3.focus({ preventScroll: true });
51398
51615
  }));
51399
51616
  }
51400
51617
  });
@@ -52848,68 +53065,415 @@ var mhui = (() => {
52848
53065
  }
52849
53066
  });
52850
53067
 
52851
- // src/modules/taller-windows/styles.css
53068
+ // dist/data/skyport-raids.json
53069
+ var skyport_raids_default;
53070
+ var init_skyport_raids = __esm({
53071
+ "dist/data/skyport-raids.json"() {
53072
+ 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" } } };
53073
+ }
53074
+ });
53075
+
53076
+ // src/modules/skyport-star-tracker/settings/index.js
53077
+ var settings_default40;
53078
+ var init_settings41 = __esm({
53079
+ "src/modules/skyport-star-tracker/settings/index.js"() {
53080
+ settings_default40 = () => __async(null, null, function* () {
53081
+ return [
53082
+ {
53083
+ id: "skyport-star-tracker.crownstar-mode",
53084
+ title: "Crownstar mode: track 10 catches of each mouse instead of 1",
53085
+ default: false
53086
+ }
53087
+ ];
53088
+ });
53089
+ }
53090
+ });
53091
+
53092
+ // src/modules/skyport-star-tracker/styles.css
52852
53093
  var styles_default135;
52853
53094
  var init_styles136 = __esm({
53095
+ "src/modules/skyport-star-tracker/styles.css"() {
53096
+ 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";
53097
+ }
53098
+ });
53099
+
53100
+ // src/modules/skyport-star-tracker/index.js
53101
+ 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;
53102
+ var init_skyport_star_tracker = __esm({
53103
+ "src/modules/skyport-star-tracker/index.js"() {
53104
+ init_utils2();
53105
+ init_skyport_raid_dialog();
53106
+ init_skyport_raids();
53107
+ init_settings41();
53108
+ init_styles136();
53109
+ skyportLocation = "cerulean_skyport";
53110
+ catches = null;
53111
+ catchesFetchedAt = 0;
53112
+ thumbnails = null;
53113
+ panel2 = null;
53114
+ isFetching = false;
53115
+ wantsOpen = false;
53116
+ getThreshold = () => {
53117
+ return getSetting("skyport-star-tracker.crownstar-mode", false) ? { value: 10, progressLabel: "at Bronze" } : { value: 1, progressLabel: "caught" };
53118
+ };
53119
+ isAtSkyport = () => {
53120
+ return skyportLocation === getCurrentLocation();
53121
+ };
53122
+ fetchCatches = (force = false) => __async(null, null, function* () {
53123
+ var _a;
53124
+ if (isFetching || !force && catches && Date.now() - catchesFetchedAt < 5 * 60 * 1e3) {
53125
+ return;
53126
+ }
53127
+ isFetching = true;
53128
+ try {
53129
+ const data = yield doRequest("managers/ajax/mice/mouse_list.php", {
53130
+ action: "get_environment",
53131
+ category: skyportLocation,
53132
+ user_id: user.user_id,
53133
+ display_mode: "stats",
53134
+ view: "ViewMouseListEnvironments"
53135
+ });
53136
+ const subgroups = ((_a = data == null ? void 0 : data.mouse_list_category) == null ? void 0 : _a.subgroups) || [];
53137
+ const mice2 = subgroups.flatMap((subgroup) => (subgroup == null ? void 0 : subgroup.mice) || []);
53138
+ if (mice2.length) {
53139
+ catches = new Map(mice2.map((mouse) => [mouse.type, parseNumber(mouse.num_catches || 0)]));
53140
+ thumbnails = new Map(mice2.filter((mouse) => mouse.image).map((mouse) => [mouse.type, mouse.image]));
53141
+ catchesFetchedAt = Date.now();
53142
+ }
53143
+ } finally {
53144
+ isFetching = false;
53145
+ }
53146
+ });
53147
+ getCatches = (type) => {
53148
+ return (catches == null ? void 0 : catches.get(type)) || 0;
53149
+ };
53150
+ getNeededMice = (raid, threshold) => {
53151
+ return raid.mice.filter((mouse) => getCatches(mouse.type) < threshold.value).sort((a, b) => a.name.localeCompare(b.name));
53152
+ };
53153
+ makeMouseRow = (mouse, threshold) => {
53154
+ var _a, _b, _c, _d;
53155
+ const row = makeElement("a", "mh-skyport-star-tracker-mouse");
53156
+ row.title = mouse.name;
53157
+ row.addEventListener("click", () => {
53158
+ var _a2, _b2;
53159
+ if ((_b2 = (_a2 = hg == null ? void 0 : hg.views) == null ? void 0 : _a2.MouseView) == null ? void 0 : _b2.show) {
53160
+ hg.views.MouseView.show(mouse.type);
53161
+ }
53162
+ });
53163
+ const image = makeElement("div", "mh-skyport-star-tracker-mouse-image");
53164
+ const thumbnail = thumbnails == null ? void 0 : thumbnails.get(mouse.type);
53165
+ if (thumbnail) {
53166
+ image.style.backgroundImage = "url('".concat(thumbnail, "')");
53167
+ }
53168
+ row.append(image);
53169
+ makeElement("div", "mh-skyport-star-tracker-mouse-name", mouse.name, row);
53170
+ if ("abc" === mouse.cheese) {
53171
+ 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");
53172
+ badge.title = ((_d = (_c = skyport_raids_default.cheeses) == null ? void 0 : _c.abc) == null ? void 0 : _d.name) || "Aurora Bocconcini";
53173
+ row.append(badge);
53174
+ }
53175
+ if (threshold.value > 1) {
53176
+ makeElement("div", "mh-skyport-star-tracker-mouse-catches", "".concat(getCatches(mouse.type).toLocaleString(), "/").concat(threshold.value.toLocaleString()), row);
53177
+ }
53178
+ if (getCatches(mouse.type) >= threshold.value) {
53179
+ row.classList.add("mh-skyport-star-tracker-mouse-complete");
53180
+ makeElement("div", "mh-skyport-star-tracker-mouse-check", "", row);
53181
+ }
53182
+ return row;
53183
+ };
53184
+ getCurrentRaid = () => {
53185
+ var _a, _b;
53186
+ const currentRaid = (_b = (_a = user == null ? void 0 : user.quests) == null ? void 0 : _a.QuestCeruleanSkyport) == null ? void 0 : _b.current_raid;
53187
+ return (currentRaid == null ? void 0 : currentRaid.type) ? currentRaid : false;
53188
+ };
53189
+ makeRaidHeader = (raid, done, total) => {
53190
+ const header = makeElement("a", "mh-skyport-star-tracker-raid-header");
53191
+ if (done >= total) {
53192
+ header.classList.add("mh-skyport-star-tracker-raid-complete");
53193
+ }
53194
+ makeElement("div", "mh-skyport-star-tracker-raid-collapse-icon", "", header);
53195
+ makeElement("div", "mh-skyport-star-tracker-raid-title", raid.name, header);
53196
+ makeElement("div", "mh-skyport-star-tracker-raid-progress", "".concat(done, " of ").concat(total), header);
53197
+ return header;
53198
+ };
53199
+ makeRaidSection = (raid, threshold, collapsed) => {
53200
+ const section = makeElement("div", "mh-skyport-star-tracker-raid-section");
53201
+ if (collapsed.has(raid.id)) {
53202
+ section.classList.add("collapsed");
53203
+ }
53204
+ const needed = getNeededMice(raid, threshold);
53205
+ const header = makeRaidHeader(raid, raid.mice.length - needed.length, raid.mice.length);
53206
+ header.addEventListener("click", () => {
53207
+ const isCollapsed = section.classList.toggle("collapsed");
53208
+ const stored = new Set(getSetting("skyport-star-tracker.collapsed-raids", []));
53209
+ if (isCollapsed) {
53210
+ stored.add(raid.id);
53211
+ } else {
53212
+ stored.delete(raid.id);
53213
+ }
53214
+ saveSetting("skyport-star-tracker.collapsed-raids", [...stored]);
53215
+ });
53216
+ section.append(header);
53217
+ const miceWrapper = makeElement("div", "mh-skyport-star-tracker-raid-mice");
53218
+ let rowIndex = 0;
53219
+ const appendRows = (mice2) => {
53220
+ mice2.forEach((mouse) => {
53221
+ const row = makeMouseRow(mouse, threshold);
53222
+ if (0 === rowIndex % 2) {
53223
+ row.classList.add("odd");
53224
+ }
53225
+ rowIndex += 1;
53226
+ miceWrapper.append(row);
53227
+ });
53228
+ };
53229
+ appendRows(needed);
53230
+ appendRows(raid.mice.filter((mouse) => getCatches(mouse.type) >= threshold.value).sort((a, b) => a.name.localeCompare(b.name)));
53231
+ section.append(miceWrapper);
53232
+ return section;
53233
+ };
53234
+ render = () => {
53235
+ if (!panel2) {
53236
+ return;
53237
+ }
53238
+ const threshold = getThreshold();
53239
+ const list = panel2.querySelector(".mh-skyport-star-tracker-list");
53240
+ const progress = panel2.querySelector(".mh-skyport-star-tracker-progress");
53241
+ if (!list || !progress) {
53242
+ return;
53243
+ }
53244
+ list.innerHTML = "";
53245
+ if (!catches) {
53246
+ progress.textContent = "No catch data yet.";
53247
+ return;
53248
+ }
53249
+ const allMice = skyport_raids_default.raids.flatMap((raid) => raid.mice);
53250
+ const done = allMice.filter((mouse) => getCatches(mouse.type) >= threshold.value).length;
53251
+ progress.textContent = "".concat(done, " of ").concat(allMice.length, " ").concat(threshold.progressLabel);
53252
+ const collapsed = new Set(getSetting("skyport-star-tracker.collapsed-raids", []));
53253
+ const currentRaid = getCurrentRaid();
53254
+ const raids = [...skyport_raids_default.raids].sort((a, b) => {
53255
+ return Number(currentRaid && currentRaid.type === b.id) - Number(currentRaid && currentRaid.type === a.id);
53256
+ });
53257
+ raids.forEach((raid) => {
53258
+ list.append(makeRaidSection(raid, threshold, collapsed));
53259
+ });
53260
+ };
53261
+ isPanelVisible = () => {
53262
+ return Boolean(panel2) && "none" !== panel2.style.display;
53263
+ };
53264
+ closePanel = () => {
53265
+ if (panel2) {
53266
+ panel2.style.display = "none";
53267
+ }
53268
+ wantsOpen = false;
53269
+ };
53270
+ buildPanel2 = () => {
53271
+ const outer = document.createElement("div");
53272
+ outer.id = "mh-skyport-star-tracker";
53273
+ const wrapper = makeElement("div", "mh-skyport-star-tracker-wrapper");
53274
+ const header = makeElement("div", "mh-skyport-star-tracker-header");
53275
+ const title = document.createElement("h1");
53276
+ title.textContent = "Skyport Star Tracker";
53277
+ header.append(title);
53278
+ const buttons = makeElement("div", "mh-skyport-star-tracker-buttons");
53279
+ const closeIcon = document.createElementNS("http://www.w3.org/2000/svg", "svg");
53280
+ closeIcon.classList.add("mh-skyport-star-tracker-close");
53281
+ closeIcon.setAttribute("viewBox", "0 0 24 24");
53282
+ closeIcon.setAttribute("width", "18");
53283
+ closeIcon.setAttribute("height", "18");
53284
+ closeIcon.setAttribute("fill", "none");
53285
+ closeIcon.setAttribute("stroke", "currentColor");
53286
+ closeIcon.setAttribute("stroke-width", "1.5");
53287
+ const closePath = document.createElementNS("http://www.w3.org/2000/svg", "path");
53288
+ closePath.setAttribute("d", "M18 6L6 18M6 6l12 12");
53289
+ closeIcon.append(closePath);
53290
+ closeIcon.addEventListener("click", closePanel);
53291
+ buttons.append(closeIcon);
53292
+ header.append(buttons);
53293
+ wrapper.append(header);
53294
+ const body = makeElement("div", "mh-skyport-star-tracker-body");
53295
+ makeElement("div", "mh-skyport-star-tracker-progress", "Loading\u2026", body);
53296
+ makeElement("div", "mh-skyport-star-tracker-list", "", body);
53297
+ wrapper.append(body);
53298
+ outer.append(wrapper);
53299
+ return outer;
53300
+ };
53301
+ showPanel = () => __async(null, null, function* () {
53302
+ wantsOpen = true;
53303
+ if (!panel2) {
53304
+ panel2 = buildPanel2();
53305
+ document.body.append(panel2);
53306
+ makeElementDraggable("#mh-skyport-star-tracker", "#mh-skyport-star-tracker .mh-skyport-star-tracker-header", 25, 25, "skyport-star-tracker-position");
53307
+ }
53308
+ panel2.style.display = "block";
53309
+ yield fetchCatches();
53310
+ render();
53311
+ });
53312
+ togglePanel = () => {
53313
+ if (isPanelVisible()) {
53314
+ closePanel();
53315
+ } else {
53316
+ showPanel();
53317
+ }
53318
+ };
53319
+ addRaidIntel = () => __async(null, null, function* () {
53320
+ yield fetchCatches();
53321
+ if (!catches) {
53322
+ return;
53323
+ }
53324
+ const threshold = getThreshold();
53325
+ const blocks = document.querySelectorAll(".ceruleanSkyportRaidChoiceDialogView__raidBlock[data-type]");
53326
+ blocks.forEach((block) => {
53327
+ const raid = skyport_raids_default.raids.find((r) => r.id === block.getAttribute("data-type"));
53328
+ if (!raid) {
53329
+ return;
53330
+ }
53331
+ const existing = block.querySelector(".mh-skyport-star-tracker-raid-intel");
53332
+ if (existing) {
53333
+ existing.remove();
53334
+ }
53335
+ const needed = getNeededMice(raid, threshold);
53336
+ const done = raid.mice.length - needed.length;
53337
+ const intel = makeElement("div", "mh-skyport-star-tracker-raid-intel");
53338
+ if (!needed.length) {
53339
+ intel.classList.add("mh-skyport-star-tracker-raid-complete");
53340
+ }
53341
+ makeElement("span", "", "".concat(done, "/").concat(raid.mice.length, " ").concat(threshold.progressLabel), intel);
53342
+ if (needed.length) {
53343
+ const neededNames = needed.map((mouse) => {
53344
+ return threshold.value > 1 ? "".concat(mouse.name, " (").concat(getCatches(mouse.type).toLocaleString(), "/").concat(threshold.value.toLocaleString(), ")") : mouse.name;
53345
+ });
53346
+ intel.title = "Still needed:\n".concat(neededNames.join("\n"));
53347
+ } else {
53348
+ intel.title = "All mice ".concat(threshold.progressLabel, "!");
53349
+ }
53350
+ block.append(intel);
53351
+ });
53352
+ });
53353
+ processCatchEntry = (model) => {
53354
+ if (!catches || !isAtSkyport()) {
53355
+ return;
53356
+ }
53357
+ const isCatch = [...model.classes].some((className) => className.includes("catchsuccess") || "relicHunter_catch" === className);
53358
+ if (!isCatch || !model.mouseType) {
53359
+ return;
53360
+ }
53361
+ catches.set(model.mouseType, getCatches(model.mouseType) + 1);
53362
+ if (isPanelVisible()) {
53363
+ render();
53364
+ }
53365
+ };
53366
+ refreshAfterTurn = () => {
53367
+ if (isPanelVisible()) {
53368
+ render();
53369
+ }
53370
+ };
53371
+ updateForLocation = () => {
53372
+ if (isAtSkyport()) {
53373
+ if (wantsOpen) {
53374
+ showPanel();
53375
+ }
53376
+ return;
53377
+ }
53378
+ if (panel2) {
53379
+ panel2.style.display = "none";
53380
+ }
53381
+ };
53382
+ init85 = () => __async(null, null, function* () {
53383
+ addStyles(styles_default135, "skyport-star-tracker");
53384
+ addSubmenuItem({
53385
+ menu: "mice",
53386
+ label: "Skyport Star Tracker",
53387
+ icon: "https://www.mousehuntgame.com/images/ui/map/star_gold_320.png",
53388
+ callback: togglePanel
53389
+ });
53390
+ onJournalEntry(processCatchEntry, {
53391
+ id: "skyport-star-tracker-catches",
53392
+ stage: "interactions"
53393
+ });
53394
+ onTurn(refreshAfterTurn, 1200);
53395
+ onTravel(null, { callback: updateForLocation });
53396
+ onSkyportRaidDialogShow(addRaidIntel);
53397
+ onSkyportRaidDialogHide(() => {
53398
+ if (isPanelVisible()) {
53399
+ render();
53400
+ }
53401
+ });
53402
+ onSettingsChange("skyport-star-tracker.crownstar-mode", render);
53403
+ });
53404
+ skyport_star_tracker_default = {
53405
+ id: "skyport-star-tracker",
53406
+ name: "Skyport Star Tracker",
53407
+ type: "journal-progress-stats",
53408
+ default: false,
53409
+ load: init85,
53410
+ settings: settings_default40
53411
+ };
53412
+ }
53413
+ });
53414
+
53415
+ // src/modules/taller-windows/styles.css
53416
+ var styles_default136;
53417
+ var init_styles137 = __esm({
52854
53418
  "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';
53419
+ 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
53420
  }
52857
53421
  });
52858
53422
 
52859
53423
  // src/modules/taller-windows/index.js
52860
- var init85, taller_windows_default;
53424
+ var init86, taller_windows_default;
52861
53425
  var init_taller_windows = __esm({
52862
53426
  "src/modules/taller-windows/index.js"() {
52863
53427
  init_utils2();
52864
- init_styles136();
52865
- init85 = () => __async(null, null, function* () {
52866
- addStyles(styles_default135, "taller-windows");
53428
+ init_styles137();
53429
+ init86 = () => __async(null, null, function* () {
53430
+ addStyles(styles_default136, "taller-windows");
52867
53431
  });
52868
53432
  taller_windows_default = {
52869
53433
  id: "taller-windows",
52870
53434
  name: "Taller Windows",
52871
53435
  type: "navigation-utilities",
52872
53436
  default: true,
52873
- load: init85
53437
+ load: init86
52874
53438
  };
52875
53439
  }
52876
53440
  });
52877
53441
 
52878
53442
  // src/modules/tem-crowns/styles.css
52879
- var styles_default136;
52880
- var init_styles137 = __esm({
53443
+ var styles_default137;
53444
+ var init_styles138 = __esm({
52881
53445
  "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";
53446
+ 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
53447
  }
52884
53448
  });
52885
53449
 
52886
53450
  // src/modules/tem-crowns/index.js
52887
- var huntingStats, getCrownType, addCrownsToTEM, init86, tem_crowns_default;
53451
+ var huntingStats, getCrownType, addCrownsToTEM, init87, tem_crowns_default;
52888
53452
  var init_tem_crowns = __esm({
52889
53453
  "src/modules/tem-crowns/index.js"() {
52890
53454
  init_utils2();
52891
- init_styles137();
53455
+ init_styles138();
52892
53456
  huntingStats = [];
52893
- getCrownType = (catches) => {
52894
- if (catches < 10) {
53457
+ getCrownType = (catches2) => {
53458
+ if (catches2 < 10) {
52895
53459
  return "none";
52896
53460
  }
52897
- if (catches < 100) {
53461
+ if (catches2 < 100) {
52898
53462
  return "bronze";
52899
53463
  }
52900
- if (catches < 500) {
53464
+ if (catches2 < 500) {
52901
53465
  return "silver";
52902
53466
  }
52903
- if (catches < 1e3) {
53467
+ if (catches2 < 1e3) {
52904
53468
  return "gold";
52905
53469
  }
52906
- if (catches < 2500) {
53470
+ if (catches2 < 2500) {
52907
53471
  return "platinum";
52908
53472
  }
52909
53473
  return "diamond";
52910
53474
  };
52911
- addCrownsToTEM = (panel2) => __async(null, null, function* () {
52912
- if ("trap_effectiveness" !== panel2) {
53475
+ addCrownsToTEM = (panel3) => __async(null, null, function* () {
53476
+ if ("trap_effectiveness" !== panel3) {
52913
53477
  return;
52914
53478
  }
52915
53479
  const crowns2 = yield doRequest("managers/ajax/mice/getstat.php", {
@@ -52941,21 +53505,21 @@ var mhui = (() => {
52941
53505
  if (!name) {
52942
53506
  return;
52943
53507
  }
52944
- const catches = mouseStats2.num_catches;
52945
- const crownType = getCrownType(catches);
53508
+ const catches2 = mouseStats2.num_catches;
53509
+ const crownType = getCrownType(catches2);
52946
53510
  const crownWrapper = makeElement("div", "mh-ui-tem-crown-wrapper");
52947
53511
  const crown = makeElement("span", ["mh-ui-tem-crown", "mousebox"]);
52948
53512
  const crownIcon = document.createElement("img");
52949
53513
  crownIcon.classList.add("mh-ui-tem-crown-icon");
52950
53514
  crownIcon.src = "https://www.mousehuntgame.com/images/ui/crowns/crown_".concat(crownType, ".png");
52951
53515
  crown.append(crownIcon);
52952
- makeElement("span", "mh-ui-tem-crown-text", catches, crown);
53516
+ makeElement("span", "mh-ui-tem-crown-text", catches2, crown);
52953
53517
  crownWrapper.append(crown);
52954
53518
  name.append(crownWrapper);
52955
53519
  }));
52956
53520
  });
52957
- init86 = () => __async(null, null, function* () {
52958
- addStyles(styles_default136, "tem-crowns");
53521
+ init87 = () => __async(null, null, function* () {
53522
+ addStyles(styles_default137, "tem-crowns");
52959
53523
  onEvent("camp_page_toggle_blueprint", addCrownsToTEM);
52960
53524
  });
52961
53525
  tem_crowns_default = {
@@ -52964,13 +53528,13 @@ var mhui = (() => {
52964
53528
  type: "hunting-setup",
52965
53529
  default: true,
52966
53530
  description: "Add crowns and catches to the Trap Effectiveness Meter.",
52967
- load: init86
53531
+ load: init87
52968
53532
  };
52969
53533
  }
52970
53534
  });
52971
53535
 
52972
53536
  // src/modules/trap-selector-special-effects/index.js
52973
- var specialEffects, addSpecialEffectsStyles, hasAddedSpecialEffectsStyles, init87, trap_selector_special_effects_default;
53537
+ var specialEffects, addSpecialEffectsStyles, hasAddedSpecialEffectsStyles, init88, trap_selector_special_effects_default;
52974
53538
  var init_trap_selector_special_effects = __esm({
52975
53539
  "src/modules/trap-selector-special-effects/index.js"() {
52976
53540
  init_utils2();
@@ -53001,7 +53565,7 @@ var mhui = (() => {
53001
53565
  );
53002
53566
  });
53003
53567
  hasAddedSpecialEffectsStyles = false;
53004
- init87 = () => __async(null, null, function* () {
53568
+ init88 = () => __async(null, null, function* () {
53005
53569
  onEvent("camp_page_toggle_blueprint", () => {
53006
53570
  if (!hasAddedSpecialEffectsStyles) {
53007
53571
  addSpecialEffectsStyles();
@@ -53017,17 +53581,17 @@ var mhui = (() => {
53017
53581
  name: "Highlight Special Effects in Trap Selector",
53018
53582
  type: "hunting-setup",
53019
53583
  default: true,
53020
- load: init87
53584
+ load: init88
53021
53585
  };
53022
53586
  }
53023
53587
  });
53024
53588
 
53025
53589
  // src/modules/ultimate-checkmark/settings/index.js
53026
- var settings_default40;
53027
- var init_settings41 = __esm({
53590
+ var settings_default41;
53591
+ var init_settings42 = __esm({
53028
53592
  "src/modules/ultimate-checkmark/settings/index.js"() {
53029
53593
  init_utils2();
53030
- settings_default40 = () => __async(null, null, function* () {
53594
+ settings_default41 = () => __async(null, null, function* () {
53031
53595
  const options2 = [];
53032
53596
  const categories = [
53033
53597
  { id: "airships", name: "Airships" },
@@ -53061,10 +53625,10 @@ var mhui = (() => {
53061
53625
  });
53062
53626
 
53063
53627
  // src/modules/ultimate-checkmark/styles.css
53064
- var styles_default137;
53065
- var init_styles138 = __esm({
53628
+ var styles_default138;
53629
+ var init_styles139 = __esm({
53066
53630
  "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";
53631
+ 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
53632
  }
53069
53633
  });
53070
53634
 
@@ -53077,12 +53641,12 @@ var mhui = (() => {
53077
53641
  });
53078
53642
 
53079
53643
  // src/modules/ultimate-checkmark/index.js
53080
- var getItems2, getProgress, makeProgressString, makeCategory, makeItem, makeContent, addCategoryAndItems, isOwnProfile, items6, run5, init88, ultimate_checkmark_default2;
53644
+ var getItems2, getProgress, makeProgressString, makeCategory, makeItem, makeContent, addCategoryAndItems, isOwnProfile, items6, run5, init89, ultimate_checkmark_default2;
53081
53645
  var init_ultimate_checkmark2 = __esm({
53082
53646
  "src/modules/ultimate-checkmark/index.js"() {
53083
53647
  init_utils2();
53084
- init_settings41();
53085
- init_styles138();
53648
+ init_settings42();
53649
+ init_styles139();
53086
53650
  init_ultimate_checkmark();
53087
53651
  getItems2 = (_0, _1, _2, ..._3) => __async(null, [_0, _1, _2, ..._3], function* (required, queryTab, queryTag, allItems3 = []) {
53088
53652
  var _a;
@@ -53301,8 +53865,8 @@ var mhui = (() => {
53301
53865
  yield addCategoryAndItems(category.items, category.type, category.subtype, category.key, category.name);
53302
53866
  }
53303
53867
  });
53304
- init88 = () => __async(null, null, function* () {
53305
- addStyles(styles_default137, "ultimate-checkmark");
53868
+ init89 = () => __async(null, null, function* () {
53869
+ addStyles(styles_default138, "ultimate-checkmark");
53306
53870
  onNavigation(run5, {
53307
53871
  page: "hunterprofile",
53308
53872
  tab: "items",
@@ -53313,26 +53877,26 @@ var mhui = (() => {
53313
53877
  id: "ultimate-checkmark",
53314
53878
  type: "inventory-economy",
53315
53879
  alwaysLoad: true,
53316
- load: init88,
53317
- settings: settings_default40
53880
+ load: init89,
53881
+ settings: settings_default41
53318
53882
  };
53319
53883
  }
53320
53884
  });
53321
53885
 
53322
53886
  // src/modules/unique-loot-count/styles.css
53323
- var styles_default138;
53324
- var init_styles139 = __esm({
53887
+ var styles_default139;
53888
+ var init_styles140 = __esm({
53325
53889
  "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";
53890
+ styles_default139 = "/* src/modules/unique-loot-count/styles.css */\n.uniqueLootCount {\n margin-left: 5px;\n}\n";
53327
53891
  }
53328
53892
  });
53329
53893
 
53330
53894
  // src/modules/unique-loot-count/index.js
53331
- var updateSection, addUniqueLootCount, init89, unique_loot_count_default;
53895
+ var updateSection, addUniqueLootCount, init90, unique_loot_count_default;
53332
53896
  var init_unique_loot_count = __esm({
53333
53897
  "src/modules/unique-loot-count/index.js"() {
53334
53898
  init_utils2();
53335
- init_styles139();
53899
+ init_styles140();
53336
53900
  updateSection = (selector) => __async(null, null, function* () {
53337
53901
  const section = document.querySelectorAll("#overlayPopup.hunting_summary .".concat(selector));
53338
53902
  if (!section) {
@@ -53353,8 +53917,8 @@ var mhui = (() => {
53353
53917
  const sections = ["environmentContainer", "baitContainer", "lootContainer"];
53354
53918
  sections.forEach((section) => updateSection(section));
53355
53919
  });
53356
- init89 = () => __async(null, null, function* () {
53357
- addStyles(styles_default138, "unique-loot-count");
53920
+ init90 = () => __async(null, null, function* () {
53921
+ addStyles(styles_default139, "unique-loot-count");
53358
53922
  onDialogShow("hunting_summary", () => setMultipleTimeout(addUniqueLootCount, 500, 1e3, 3e3));
53359
53923
  });
53360
53924
  unique_loot_count_default = {
@@ -53363,16 +53927,16 @@ var mhui = (() => {
53363
53927
  type: "journal-progress-stats",
53364
53928
  default: true,
53365
53929
  description: "Show the number of unique loot items in the progress log.",
53366
- load: init89
53930
+ load: init90
53367
53931
  };
53368
53932
  }
53369
53933
  });
53370
53934
 
53371
53935
  // src/modules/update-notifications/styles.css
53372
- var styles_default139;
53373
- var init_styles140 = __esm({
53936
+ var styles_default140;
53937
+ var init_styles141 = __esm({
53374
53938
  "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';
53939
+ 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
53940
  }
53377
53941
  });
53378
53942
 
@@ -53456,12 +54020,20 @@ var mhui = (() => {
53456
54020
  }
53457
54021
  });
53458
54022
 
54023
+ // src/data/update-summaries/0.99.6.json
54024
+ var __default16;
54025
+ var init__16 = __esm({
54026
+ "src/data/update-summaries/0.99.6.json"() {
54027
+ __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"] }] };
54028
+ }
54029
+ });
54030
+
53459
54031
  // src/modules/update-notifications/index.js
53460
- var imported10, updateSummaries, compareVersions, getSummariesSince, makeDetailsList, makeVersionMarkup, showUpdateSummary, init90, update_notifications_default;
54032
+ var imported10, updateSummaries, compareVersions, getSummariesSince, makeDetailsList, makeVersionMarkup, showUpdateSummary, init91, update_notifications_default;
53461
54033
  var init_update_notifications = __esm({
53462
54034
  "src/modules/update-notifications/index.js"() {
53463
54035
  init_utils2();
53464
- init_styles140();
54036
+ init_styles141();
53465
54037
  init__6();
53466
54038
  init__7();
53467
54039
  init__8();
@@ -53472,7 +54044,8 @@ var mhui = (() => {
53472
54044
  init__13();
53473
54045
  init__14();
53474
54046
  init__15();
53475
- imported10 = [__default6, __default7, __default8, __default9, __default10, __default11, __default12, __default13, __default14, __default15];
54047
+ init__16();
54048
+ imported10 = [__default6, __default7, __default8, __default9, __default10, __default11, __default12, __default13, __default14, __default15, __default16];
53476
54049
  updateSummaries = imported10;
53477
54050
  compareVersions = (a, b) => {
53478
54051
  const aParts = "".concat(a).split(".");
@@ -53524,8 +54097,8 @@ var mhui = (() => {
53524
54097
  popup.hide();
53525
54098
  });
53526
54099
  });
53527
- init90 = () => __async(null, null, function* () {
53528
- addStyles(styles_default139, "update-notifications");
54100
+ init91 = () => __async(null, null, function* () {
54101
+ addStyles(styles_default140, "update-notifications");
53529
54102
  onEvent("mh-improved-updated", showUpdateSummary);
53530
54103
  onEvent("mh-improved-update-summary", () => showUpdateSummary("0.0.0", true));
53531
54104
  window.mhuiDebug = window.mhuiDebug || {};
@@ -53536,7 +54109,7 @@ var mhui = (() => {
53536
54109
  type: "required",
53537
54110
  alwaysLoad: true,
53538
54111
  order: 200,
53539
- load: init90
54112
+ load: init91
53540
54113
  };
53541
54114
  }
53542
54115
  });
@@ -53550,20 +54123,20 @@ var mhui = (() => {
53550
54123
  });
53551
54124
 
53552
54125
  // src/modules/user-highlighting/styles.css
53553
- var styles_default140;
53554
- var init_styles141 = __esm({
54126
+ var styles_default141;
54127
+ var init_styles142 = __esm({
53555
54128
  "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';
54129
+ 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
54130
  }
53558
54131
  });
53559
54132
 
53560
54133
  // src/modules/user-highlighting/index.js
53561
- var getUserHighlightingShield, addDiscordBanWarning, highlightUsers, init91, user_highlighting_default;
54134
+ var getUserHighlightingShield, addDiscordBanWarning, highlightUsers, init92, user_highlighting_default;
53562
54135
  var init_user_highlighting = __esm({
53563
54136
  "src/modules/user-highlighting/index.js"() {
53564
54137
  init_utils2();
53565
54138
  init_profile3();
53566
- init_styles141();
54139
+ init_styles142();
53567
54140
  getUserHighlightingShield = (type) => {
53568
54141
  let text = "";
53569
54142
  switch (type) {
@@ -53659,8 +54232,8 @@ var mhui = (() => {
53659
54232
  profilePage.classList.add("mh-improved-highlight-user", "mh-improved-fancy-profile");
53660
54233
  }
53661
54234
  });
53662
- init91 = () => __async(null, null, function* () {
53663
- addStyles([styles_default140, profile_default3], "highlight-users");
54235
+ init92 = () => __async(null, null, function* () {
54236
+ addStyles([styles_default141, profile_default3], "highlight-users");
53664
54237
  onNavigation(highlightUsers, {
53665
54238
  page: "hunterprofile"
53666
54239
  });
@@ -53669,16 +54242,16 @@ var mhui = (() => {
53669
54242
  id: "highlight-users",
53670
54243
  type: "required",
53671
54244
  alwaysLoad: true,
53672
- load: init91
54245
+ load: init92
53673
54246
  };
53674
54247
  }
53675
54248
  });
53676
54249
 
53677
54250
  // src/modules/wisdom-in-stat-bar/settings/index.js
53678
- var settings_default41;
53679
- var init_settings42 = __esm({
54251
+ var settings_default42;
54252
+ var init_settings43 = __esm({
53680
54253
  "src/modules/wisdom-in-stat-bar/settings/index.js"() {
53681
- settings_default41 = () => __async(null, null, function* () {
54254
+ settings_default42 = () => __async(null, null, function* () {
53682
54255
  return [
53683
54256
  {
53684
54257
  id: "wisdom-in-stat-bar.auto-refresh",
@@ -53691,20 +54264,20 @@ var mhui = (() => {
53691
54264
  });
53692
54265
 
53693
54266
  // src/modules/wisdom-in-stat-bar/styles.css
53694
- var styles_default141;
53695
- var init_styles142 = __esm({
54267
+ var styles_default142;
54268
+ var init_styles143 = __esm({
53696
54269
  "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";
54270
+ styles_default142 = "/* src/modules/wisdom-in-stat-bar/styles.css */\n.mousehuntHud-marbleDrawer {\n min-height: 55px;\n}\n";
53698
54271
  }
53699
54272
  });
53700
54273
 
53701
54274
  // 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;
54275
+ var getWisdomSetting2, saveWisdomSetting2, getWisdom2, getWisdomFormatted, addWisdomToStatBar, updateWisdom, addRefreshListener, useCachedWisdom, legacyHudMenu, init93, wisdom_in_stat_bar_default;
53703
54276
  var init_wisdom_in_stat_bar = __esm({
53704
54277
  "src/modules/wisdom-in-stat-bar/index.js"() {
53705
54278
  init_utils2();
53706
- init_settings42();
53707
- init_styles142();
54279
+ init_settings43();
54280
+ init_styles143();
53708
54281
  getWisdomSetting2 = (key) => __async(null, null, function* () {
53709
54282
  return yield dataGet("wisdom-stat-".concat(key));
53710
54283
  });
@@ -53769,8 +54342,8 @@ var mhui = (() => {
53769
54342
  };
53770
54343
  useCachedWisdom = true;
53771
54344
  legacyHudMenu = false;
53772
- init92 = () => __async(null, null, function* () {
53773
- addStyles(styles_default141, "wisdom-in-stat-bar");
54345
+ init93 = () => __async(null, null, function* () {
54346
+ addStyles(styles_default142, "wisdom-in-stat-bar");
53774
54347
  if (getSetting("wisdom-in-stat-bar.auto-refresh", true)) {
53775
54348
  onTurn(updateWisdom);
53776
54349
  }
@@ -53791,8 +54364,8 @@ var mhui = (() => {
53791
54364
  name: "Wisdom in Stat Bar",
53792
54365
  type: "hunting-setup",
53793
54366
  default: false,
53794
- load: init92,
53795
- settings: settings_default41
54367
+ load: init93,
54368
+ settings: settings_default42
53796
54369
  };
53797
54370
  }
53798
54371
  });
@@ -53880,6 +54453,7 @@ var mhui = (() => {
53880
54453
  init_shield_goes_to_camp();
53881
54454
  init_show_adventure_book();
53882
54455
  init_show_auras();
54456
+ init_skyport_star_tracker();
53883
54457
  init_taller_windows();
53884
54458
  init_tem_crowns();
53885
54459
  init_trap_selector_special_effects();
@@ -53888,7 +54462,7 @@ var mhui = (() => {
53888
54462
  init_update_notifications();
53889
54463
  init_user_highlighting();
53890
54464
  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];
54465
+ 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
54466
  var modules2 = imported11;
53893
54467
  var categories = [
53894
54468
  { id: "required", name: "Always Loaded" },
@@ -53991,7 +54565,7 @@ var mhui = (() => {
53991
54565
  }
53992
54566
  setGlobal("modules", allLoadedModules);
53993
54567
  });
53994
- var init93 = () => __async(null, null, function* () {
54568
+ var init94 = () => __async(null, null, function* () {
53995
54569
  if (isUnsupportedFile()) {
53996
54570
  debug2("Skipping unsupported filetype.");
53997
54571
  return;
@@ -54056,7 +54630,7 @@ var mhui = (() => {
54056
54630
  showLoadingError(error2);
54057
54631
  }
54058
54632
  });
54059
- init93();
54633
+ init94();
54060
54634
  }
54061
54635
  });
54062
54636
  return require_index();