mousehunt-improved 0.103.1 → 0.103.3

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.103.1';
1
+ const mhImprovedVersion = '0.103.3';
2
2
  const mhImprovedPlatform = 'userscript';
3
3
  var mhui = (() => {
4
4
  var __create = Object.create;
@@ -31845,21 +31845,22 @@ var mhui = (() => {
31845
31845
  var init_quantity_buttons = __esm({
31846
31846
  "src/modules/better-shops/modules/quantity-buttons/index.js"() {
31847
31847
  init_utils2();
31848
- quantity_buttons_default = (block, input, maxQty) => __async(null, null, function* () {
31848
+ quantity_buttons_default = (block, input, maxQty, limit = Infinity) => __async(null, null, function* () {
31849
31849
  maxQty = "".concat(maxQty).replaceAll(",", "");
31850
31850
  const existingButtons = block.querySelector(".mh-improved-shop-buy-controls");
31851
31851
  if (existingButtons) {
31852
- if (existingButtons.dataset.maxQty === maxQty) {
31852
+ if (existingButtons.dataset.maxQty === maxQty && existingButtons.dataset.limit === "".concat(limit)) {
31853
31853
  return;
31854
31854
  }
31855
31855
  existingButtons.remove();
31856
31856
  }
31857
31857
  const buyControls = makeElement("div", ["mh-improved-shop-buy-controls"]);
31858
31858
  buyControls.dataset.maxQty = maxQty;
31859
+ buyControls.dataset.limit = "".concat(limit);
31859
31860
  makeMathButtons([1, 10, 50, 100, 1e3], {
31860
31861
  appendTo: buyControls,
31861
31862
  input,
31862
- maxQty,
31863
+ maxQty: Number(limit),
31863
31864
  classNames: ["mh-improved-shop-qty", "tiny", "lightBlue"]
31864
31865
  });
31865
31866
  const buyMaxButton = makeMhButton({
@@ -31932,7 +31933,7 @@ var mhui = (() => {
31932
31933
  }
31933
31934
  sell.textContent = quantity > 0 ? "Sells for ".concat(formatGold(refundValue * quantity)) : "";
31934
31935
  }
31935
- container.querySelectorAll(".itemPurchaseView-action-itemCost-table-row").forEach((row) => {
31936
+ container.querySelectorAll(".itemPurchaseView-action-itemCost.consumed .itemPurchaseView-action-itemCost-table-row").forEach((row) => {
31936
31937
  const cost = row.querySelector(".itemPurchaseView-action-itemCost-table-cell.cost");
31937
31938
  const owned = row.querySelector(".itemPurchaseView-action-itemCost-owned");
31938
31939
  if (!cost || !owned) {
@@ -32054,6 +32055,20 @@ var mhui = (() => {
32054
32055
  }
32055
32056
  const maxQty = qty.textContent.replace(" (Inventory max)", "") || 0;
32056
32057
  input.setAttribute("placeholder", maxQty);
32058
+ const container = block.closest(".itemPurchaseView-container");
32059
+ const inventoryMax = Number.parseInt(container == null ? void 0 : container.dataset.maxInventoryQuantity, 10);
32060
+ if (inventoryMax > 0) {
32061
+ input.max = Math.max(inventoryMax - (Number.parseInt(container.dataset.numOwned, 10) || 0), 0);
32062
+ }
32063
+ if (input.max && input.dataset.mhiShopMax !== "true") {
32064
+ input.dataset.mhiShopMax = "true";
32065
+ input.addEventListener("input", () => {
32066
+ const max = Number.parseInt(input.max, 10) || 0;
32067
+ if (Number.parseInt(input.value, 10) > max) {
32068
+ input.value = max;
32069
+ }
32070
+ });
32071
+ }
32057
32072
  const buyButton = block.querySelector(".itemPurchaseView-action-form-button.buy");
32058
32073
  if (buyButton && input.dataset.mhiShopEnter !== "true") {
32059
32074
  input.dataset.mhiShopEnter = "true";
@@ -32072,11 +32087,10 @@ var mhui = (() => {
32072
32087
  }
32073
32088
  quantity_totals_default(block, input);
32074
32089
  if (addQuantityButtons3) {
32075
- const container = block.closest(".itemPurchaseView-container");
32076
32090
  if (!container || container.classList.contains("lil_jill") || container.classList.contains("big_jack")) {
32077
32091
  return;
32078
32092
  }
32079
- quantity_buttons_default(block, input, maxQty);
32093
+ quantity_buttons_default(block, input, maxQty, input.max || Infinity);
32080
32094
  }
32081
32095
  });
32082
32096
  });
@@ -37844,13 +37858,15 @@ var mhui = (() => {
37844
37858
  });
37845
37859
 
37846
37860
  // src/modules/catch-rate-estimate/trap-effectiveness.js
37847
- var settingKey2, lastOverallCatchRate, getOverallTrapEffectiveness, trapEffectivenessTiers, getTableCatchRate, labelSelector, barSelector, watchedTrap, trapObserver, isGameRewrite, watchTrap, updateTrapEffectivenessText, setOverallTrapEffectiveness;
37861
+ var settingKey2, lastOverallCatchRate, lastContext, initialized, getOverallTrapEffectiveness, trapEffectivenessTiers, getTableCatchRate, getTrapEffectivenessContext, updateTrapEffectivenessText, initTrapEffectiveness, setOverallTrapEffectiveness;
37848
37862
  var init_trap_effectiveness = __esm({
37849
37863
  "src/modules/catch-rate-estimate/trap-effectiveness.js"() {
37850
37864
  init_utils2();
37865
+ init_stages();
37851
37866
  settingKey2 = "catch-rate-estimate.overall-trap-effectiveness";
37852
- lastOverallCatchRate = null;
37853
- getOverallTrapEffectiveness = () => getSetting(settingKey2, true);
37867
+ lastContext = null;
37868
+ initialized = false;
37869
+ getOverallTrapEffectiveness = () => getSetting(settingKey2, false);
37854
37870
  trapEffectivenessTiers = [
37855
37871
  [100, "Guaranteed", "excellent"],
37856
37872
  [95, "Excellent", "excellent"],
@@ -37871,73 +37887,123 @@ var mhui = (() => {
37871
37887
  const percent = Number.parseFloat(cell == null ? void 0 : cell.textContent);
37872
37888
  return Number.isNaN(percent) ? null : percent / 100;
37873
37889
  };
37874
- labelSelector = ".campPage-trap-trapEffectiveness.campPage-trap-statsContainer span";
37875
- barSelector = ".campPage-trap-trapEffectiveness.campPage-trap-statsContainer .campPage-trap-trapEffectivenessBar";
37876
- watchedTrap = null;
37877
- trapObserver = null;
37878
- isGameRewrite = (text, bar) => text.textContent !== text.dataset.mhuiLabel || !bar.classList.contains("mhui-tem-fill");
37879
- watchTrap = (text) => {
37880
- const trap = text.closest(".trapSelectorView__trap");
37881
- if (!trap || trap === watchedTrap) {
37882
- return;
37883
- }
37884
- trapObserver == null ? void 0 : trapObserver.disconnect();
37885
- watchedTrap = trap;
37886
- trapObserver = new MutationObserver(() => {
37887
- const currentText = document.querySelector(labelSelector);
37888
- const currentBar = document.querySelector(barSelector);
37889
- if (!currentText || !currentBar || !currentText.dataset.mhuiLabel || "Loading..." === currentText.textContent) {
37890
- return;
37891
- }
37892
- if (isGameRewrite(currentText, currentBar)) {
37893
- updateTrapEffectivenessText();
37894
- }
37895
- });
37896
- trapObserver.observe(trap, { childList: true, subtree: true, characterData: true, attributes: true, attributeFilter: ["class"] });
37890
+ getTrapEffectivenessContext = () => {
37891
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
37892
+ const stage = getStage2();
37893
+ const quests = user.quests || {};
37894
+ const atts = user.viewing_atts || {};
37895
+ return JSON.stringify([
37896
+ user.environment_id,
37897
+ user.weapon_item_id,
37898
+ user.base_item_id,
37899
+ user.bait_item_id,
37900
+ user.bait_quantity > 0,
37901
+ user.trinket_item_id,
37902
+ user.trinket_quantity > 0,
37903
+ user.trap_power,
37904
+ user.trap_luck,
37905
+ user.trap_power_bonus,
37906
+ user.trap_power_type_name,
37907
+ user.trap_attraction_bonus,
37908
+ user.trap_cheese_effect,
37909
+ [...document.querySelectorAll(".trapImageView-trapAura.mousehuntTooltipParent.active")].map((aura) => [...aura.classList].find((cls) => cls.startsWith("Quest"))),
37910
+ stage.dataEnvironment,
37911
+ stage.data,
37912
+ stage.live,
37913
+ stage.liveFloorMice && [...stage.liveFloorMice],
37914
+ stage.boss,
37915
+ (_a = quests.QuestAncientCity) == null ? void 0 : _a.width,
37916
+ (_b = quests.QuestAncientCity) == null ? void 0 : _b.boss,
37917
+ (_e = (_d = (_c = quests.QuestFortRox) == null ? void 0 : _c.fort) == null ? void 0 : _d.b) == null ? void 0 : _e.level,
37918
+ (_h = (_g = (_f = quests.QuestFortRox) == null ? void 0 : _f.fort) == null ? void 0 : _g.c) == null ? void 0 : _h.level,
37919
+ (_i = quests.QuestFortRox) == null ? void 0 : _i.lair_width,
37920
+ (((_j = quests.QuestRiftBristleWoods) == null ? void 0 : _j.acolyte_sand) || 0) > 0,
37921
+ (_l = (_k = quests.QuestSandDunes) == null ? void 0 : _k.minigame) == null ? void 0 : _l.salt_charms_used,
37922
+ atts.zzt_amplifier,
37923
+ (((_o = (_n = (_m = atts.desert_warpath) == null ? void 0 : _m.mice) == null ? void 0 : _n.desert_elite_gaurd) == null ? void 0 : _o.quantity) || 0) > 0
37924
+ ]);
37897
37925
  };
37898
- updateTrapEffectivenessText = (overallCatchRate) => {
37899
- if (void 0 !== overallCatchRate) {
37900
- lastOverallCatchRate = overallCatchRate;
37901
- }
37902
- const text = document.querySelector(labelSelector);
37903
- const bar = document.querySelector(barSelector);
37904
- if (!text || !bar) {
37926
+ updateTrapEffectivenessText = (overallCatchRate, context = getTrapEffectivenessContext()) => {
37927
+ const currentContext = getTrapEffectivenessContext();
37928
+ if (context !== currentContext) {
37905
37929
  return;
37906
37930
  }
37907
- overallCatchRate = lastOverallCatchRate != null ? lastOverallCatchRate : getTableCatchRate(text);
37908
- if (null === overallCatchRate || !getOverallTrapEffectiveness()) {
37909
- if (text.dataset.mhuiLabel && text.textContent === text.dataset.mhuiLabel) {
37910
- text.textContent = text.dataset.originalText;
37931
+ if (void 0 !== overallCatchRate) {
37932
+ lastOverallCatchRate = Number.isFinite(overallCatchRate) ? overallCatchRate : null;
37933
+ lastContext = context;
37934
+ } else if (null !== lastContext && lastContext !== currentContext) {
37935
+ lastOverallCatchRate = null;
37936
+ lastContext = currentContext;
37937
+ }
37938
+ const controls = document.querySelectorAll(".campPage-trap-trapEffectiveness.campPage-trap-statsContainer");
37939
+ for (const control of controls) {
37940
+ const text = control.querySelector("span");
37941
+ const bar = control.querySelector(".campPage-trap-trapEffectivenessBar");
37942
+ if (!text || !bar) {
37943
+ continue;
37944
+ }
37945
+ const rate = void 0 === lastOverallCatchRate && text.closest(".mhui-trap-editor-preview") ? getTableCatchRate(text) : lastOverallCatchRate;
37946
+ if (!Number.isFinite(rate) || !getOverallTrapEffectiveness()) {
37947
+ if (text.dataset.mhuiLabel && text.textContent === text.dataset.mhuiLabel) {
37948
+ text.textContent = text.dataset.originalText;
37949
+ }
37950
+ if (bar.classList.contains("mhui-tem-fill")) {
37951
+ bar.className = bar.dataset.originalClasses;
37952
+ }
37953
+ delete text.dataset.originalText;
37954
+ delete text.dataset.mhuiLabel;
37955
+ delete bar.dataset.originalClasses;
37956
+ bar.style.removeProperty("--mhui-tem-fill");
37957
+ continue;
37911
37958
  }
37912
- if (bar.classList.contains("mhui-tem-fill")) {
37913
- bar.className = bar.dataset.originalClasses;
37959
+ if ("Loading..." === text.textContent) {
37960
+ continue;
37914
37961
  }
37915
- delete text.dataset.originalText;
37916
- delete text.dataset.mhuiLabel;
37917
- delete bar.dataset.originalClasses;
37918
- bar.style.removeProperty("--mhui-tem-fill");
37919
- return;
37920
- }
37921
- watchTrap(text);
37922
- if (text.textContent !== text.dataset.mhuiLabel) {
37923
- text.dataset.originalText = text.textContent;
37924
- }
37925
- if (!bar.classList.contains("mhui-tem-fill")) {
37926
- bar.dataset.originalClasses = bar.className;
37927
- }
37928
- const percent = Math.max(0, Math.min(100, overallCatchRate * 100));
37929
- const [, label, className] = trapEffectivenessTiers.find(([threshold]) => Math.floor(percent) >= threshold);
37930
- const tierClasses = new Set(trapEffectivenessTiers.map(([, , tierClass]) => tierClass));
37931
- const baseClasses = bar.dataset.originalClasses.split(" ").filter((cls) => cls && !tierClasses.has(cls));
37932
- text.dataset.mhuiLabel = label;
37933
- if (text.textContent !== label) {
37934
- text.textContent = label;
37962
+ if (text.textContent !== text.dataset.mhuiLabel) {
37963
+ text.dataset.originalText = text.textContent;
37964
+ }
37965
+ if (!bar.classList.contains("mhui-tem-fill")) {
37966
+ bar.dataset.originalClasses = bar.className;
37967
+ }
37968
+ const percent = Math.max(0, Math.min(100, rate * 100));
37969
+ const [, label, className] = trapEffectivenessTiers.find(([threshold]) => Math.floor(percent) >= threshold);
37970
+ const tierClasses = new Set(trapEffectivenessTiers.map(([, , tierClass]) => tierClass));
37971
+ const baseClasses = bar.dataset.originalClasses.split(" ").filter((cls) => cls && !tierClasses.has(cls));
37972
+ text.dataset.mhuiLabel = label;
37973
+ if (text.textContent !== label) {
37974
+ text.textContent = label;
37975
+ }
37976
+ const barClasses = [...baseClasses, className, "mhui-tem-fill"].join(" ");
37977
+ if (bar.className !== barClasses) {
37978
+ bar.className = barClasses;
37979
+ }
37980
+ bar.style.setProperty("--mhui-tem-fill", "".concat(percent, "%"));
37935
37981
  }
37936
- const barClasses = [...baseClasses, className, "mhui-tem-fill"].join(" ");
37937
- if (bar.className !== barClasses) {
37938
- bar.className = barClasses;
37982
+ };
37983
+ initTrapEffectiveness = (refresh2) => {
37984
+ if (initialized) {
37985
+ return;
37939
37986
  }
37940
- bar.style.setProperty("--mhui-tem-fill", "".concat(percent, "%"));
37987
+ initialized = true;
37988
+ addEvent(
37989
+ "ajax_response",
37990
+ (response) => {
37991
+ if (!getOverallTrapEffectiveness() || "camp" !== getCurrentPage() || !(response == null ? void 0 : response.user) || Number(response.user.user_id) !== Number(user.user_id)) {
37992
+ return;
37993
+ }
37994
+ const stale = null !== lastContext && lastContext !== getTrapEffectivenessContext();
37995
+ updateTrapEffectivenessText();
37996
+ if (stale) {
37997
+ refresh2();
37998
+ }
37999
+ },
38000
+ {
38001
+ // CampPage writes the label at weight 0; the global user is updated at weight 90.
38002
+ weight: 1e3,
38003
+ id: "mh-improved-trap-effectiveness"
38004
+ }
38005
+ );
38006
+ onNavigation(() => updateTrapEffectivenessText(), { page: "camp" });
37941
38007
  };
37942
38008
  setOverallTrapEffectiveness = (enabled) => {
37943
38009
  saveSetting(settingKey2, enabled);
@@ -37955,7 +38021,7 @@ var mhui = (() => {
37955
38021
  });
37956
38022
 
37957
38023
  // src/modules/catch-rate-estimate/index.js
37958
- var lastStats, sortState, effectiveness, isUpdating, trapPower, trapPowerBoost, trapPowerBonus, trapLuck, trapAuras, updateStats, updateMiceEffectiveness, updateMinLucks, updateTrapView, hasUltimateCharm, getRateClasses, formatAttractionRate, getOverallCatchRate, makeOverallRow, defaultSortDirections, byDefault, sortRows, updateSortIndicators, renderRows, renderList, main15, init28, catch_rate_estimate_default;
38024
+ var lastStatsContext, sortState, effectiveness, isUpdating, updatePending, trapPower, trapPowerBoost, trapPowerBonus, trapLuck, trapAuras, updateStats, updateMiceEffectiveness, updateMinLucks, updateTrapView, hasUltimateCharm, getRateClasses, formatAttractionRate, getOverallCatchRate, makeOverallRow, defaultSortDirections, byDefault, sortRows, updateSortIndicators, renderRows, renderList, main15, init28, catch_rate_estimate_default;
37959
38025
  var init_catch_rate_estimate = __esm({
37960
38026
  "src/modules/catch-rate-estimate/index.js"() {
37961
38027
  init_utils2();
@@ -37965,10 +38031,11 @@ var mhui = (() => {
37965
38031
  init_refresh_triggers();
37966
38032
  init_trap_effectiveness();
37967
38033
  init_styles47();
37968
- lastStats = "";
38034
+ lastStatsContext = null;
37969
38035
  sortState = { key: null, direction: "asc" };
37970
38036
  effectiveness = null;
37971
38037
  isUpdating = false;
38038
+ updatePending = false;
37972
38039
  trapAuras = [];
37973
38040
  updateStats = () => {
37974
38041
  trapPower = 0;
@@ -37999,13 +38066,17 @@ var mhui = (() => {
37999
38066
  trapPower += value;
38000
38067
  }
38001
38068
  });
38069
+ trapAuras = [];
38002
38070
  const trapAurasList = document.querySelectorAll(".trapImageView-trapAura.mousehuntTooltipParent.active");
38003
38071
  if (trapAurasList && trapAurasList.length > 0) {
38004
38072
  trapAuras = [...trapAurasList].map((aura) => [...aura.classList].find((cls) => cls.startsWith("Quest")));
38005
38073
  }
38006
38074
  };
38007
- updateMiceEffectiveness = (location2, currentStats = false) => __async(null, null, function* () {
38075
+ updateMiceEffectiveness = (location2, currentStats, context) => __async(null, null, function* () {
38008
38076
  effectiveness = yield getMiceEffectiveness();
38077
+ if (context !== getTrapEffectivenessContext()) {
38078
+ return effectiveness;
38079
+ }
38009
38080
  cacheSet("cre-location", location2, 24 * 60 * 60 * 1e3);
38010
38081
  cacheSet("cre-stats", currentStats, 24 * 60 * 60 * 1e3);
38011
38082
  cacheSet("cre-effectiveness", effectiveness, 24 * 60 * 60 * 1e3);
@@ -38016,9 +38087,12 @@ var mhui = (() => {
38016
38087
  return;
38017
38088
  }
38018
38089
  if (isUpdating) {
38090
+ updatePending = true;
38019
38091
  return;
38020
38092
  }
38021
38093
  isUpdating = true;
38094
+ const context = getTrapEffectivenessContext();
38095
+ updateTrapEffectivenessText();
38022
38096
  let minluckList = document.querySelector("#mh-improved-cre");
38023
38097
  if (minluckList) {
38024
38098
  minluckList.classList.add("cre-refreshing");
@@ -38038,12 +38112,15 @@ var mhui = (() => {
38038
38112
  if (useCachedData) {
38039
38113
  const cachedLocation = yield cacheGet("cre-location");
38040
38114
  const cachedStats = yield cacheGet("cre-stats");
38041
- effectiveness = yield cachedLocation !== location2 || cachedStats !== currentStats ? updateMiceEffectiveness(location2, currentStats) : cacheGet("cre-effectiveness");
38115
+ effectiveness = yield cachedLocation !== location2 || cachedStats !== currentStats ? updateMiceEffectiveness(location2, currentStats, context) : cacheGet("cre-effectiveness");
38042
38116
  } else {
38043
- effectiveness = yield updateMiceEffectiveness(location2, currentStats);
38117
+ effectiveness = yield updateMiceEffectiveness(location2, currentStats, context);
38118
+ }
38119
+ if (context !== getTrapEffectivenessContext()) {
38120
+ return;
38044
38121
  }
38045
- if (currentStats !== lastStats) {
38046
- lastStats = currentStats;
38122
+ if (context !== lastStatsContext) {
38123
+ lastStatsContext = context;
38047
38124
  updateStats();
38048
38125
  }
38049
38126
  if (!effectiveness) {
@@ -38055,7 +38132,7 @@ var mhui = (() => {
38055
38132
  type: mouse.type
38056
38133
  };
38057
38134
  });
38058
- yield renderList(miceIds);
38135
+ yield renderList(miceIds, context);
38059
38136
  } catch (error2) {
38060
38137
  debuglog("cre", "Error updating minluck list", error2);
38061
38138
  minluckList.classList.add("cre-loading-failed");
@@ -38064,6 +38141,10 @@ var mhui = (() => {
38064
38141
  if (minluckList) {
38065
38142
  minluckList.classList.remove("cre-refreshing");
38066
38143
  }
38144
+ if (updatePending || context !== getTrapEffectivenessContext()) {
38145
+ updatePending = false;
38146
+ updateMinLucks(false);
38147
+ }
38067
38148
  }
38068
38149
  });
38069
38150
  updateTrapView = (rows, overallCatchRate = null) => {
@@ -38203,7 +38284,8 @@ var mhui = (() => {
38203
38284
  tbody.append(row);
38204
38285
  }
38205
38286
  };
38206
- renderList = (list) => __async(null, null, function* () {
38287
+ renderList = (list, context) => __async(null, null, function* () {
38288
+ var _a;
38207
38289
  let minluckList = document.querySelector("#mh-improved-cre");
38208
38290
  if (!minluckList) {
38209
38291
  minluckList = makeElement("div", "campPage-trap-trapEffectiveness");
@@ -38217,11 +38299,6 @@ var mhui = (() => {
38217
38299
  const attractionRates = yield getAttractionRates(list);
38218
38300
  const hasAttractionRates = attractionRates.size > 0;
38219
38301
  const stageLabel = getStage2().label;
38220
- const existing = document.querySelector("#mh-improved-cre-table");
38221
- if (existing) {
38222
- existing.remove();
38223
- }
38224
- minluckList.classList.remove("cre-loading");
38225
38302
  const table = makeElement("table");
38226
38303
  table.id = "mh-improved-cre-table";
38227
38304
  const tableheader = makeElement("thead");
@@ -38311,9 +38388,16 @@ var mhui = (() => {
38311
38388
  minluckClass
38312
38389
  });
38313
38390
  }
38391
+ if ("camp" !== getCurrentPage() || context !== getTrapEffectivenessContext() || !minluckList.isConnected) {
38392
+ return;
38393
+ }
38394
+ (_a = document.querySelector("#mh-improved-cre-table")) == null ? void 0 : _a.remove();
38395
+ minluckList.classList.remove("cre-loading");
38314
38396
  if (rows.length === 0) {
38315
38397
  makeElement("span", "mh-improved-cre-no-mice", "No mice found.", table);
38316
38398
  minluckList.append(table);
38399
+ updateTrapEffectivenessText(null, context);
38400
+ saveRenderedStage();
38317
38401
  doEvent("mh-improved-cre-list-rendered");
38318
38402
  return;
38319
38403
  }
@@ -38327,11 +38411,12 @@ var mhui = (() => {
38327
38411
  }
38328
38412
  minluckList.append(table);
38329
38413
  updateTrapView(rows, overallCatchRate);
38330
- updateTrapEffectivenessText(overallCatchRate);
38414
+ updateTrapEffectivenessText(overallCatchRate, context);
38331
38415
  saveRenderedStage();
38332
38416
  doEvent("mh-improved-cre-list-rendered");
38333
38417
  });
38334
38418
  main15 = () => __async(null, null, function* () {
38419
+ initTrapEffectiveness(() => updateMinLucks(false));
38335
38420
  onNavigation(
38336
38421
  () => {
38337
38422
  updateMinLucks(true);
@@ -42120,7 +42205,7 @@ var mhui = (() => {
42120
42205
  resetLayout();
42121
42206
  setAuraLayout("grid");
42122
42207
  setAuraIconsOnly(false);
42123
- setOverallTrapEffectiveness(true);
42208
+ setOverallTrapEffectiveness(false);
42124
42209
  applyLayout3();
42125
42210
  layout = getLayout2();
42126
42211
  render3();
@@ -42174,7 +42259,7 @@ var mhui = (() => {
42174
42259
  });
42175
42260
 
42176
42261
  // src/modules/custom-trap-selector/index.js
42177
- var applyLayout2, moveCodex, observer2, snapshotTimeout, watchTrap2, init36, custom_trap_selector_default;
42262
+ var applyLayout2, moveCodex, observer2, snapshotTimeout, watchTrap, init36, custom_trap_selector_default;
42178
42263
  var init_custom_trap_selector = __esm({
42179
42264
  "src/modules/custom-trap-selector/index.js"() {
42180
42265
  init_utils2();
@@ -42198,7 +42283,7 @@ var mhui = (() => {
42198
42283
  container.append(codex);
42199
42284
  }
42200
42285
  };
42201
- watchTrap2 = () => {
42286
+ watchTrap = () => {
42202
42287
  observer2 == null ? void 0 : observer2.disconnect();
42203
42288
  const trap = document.querySelector(".trapSelectorView__trap");
42204
42289
  if (!trap) {
@@ -42219,7 +42304,7 @@ var mhui = (() => {
42219
42304
  if (!getFlag("custom-trap-selector-no-larger-codices")) {
42220
42305
  addStyles(larger_codices_default, "custom-trap-selector-larger-codices");
42221
42306
  }
42222
- onNavigation(watchTrap2, { page: "camp" });
42307
+ onNavigation(watchTrap, { page: "camp" });
42223
42308
  document.addEventListener("click", (event) => {
42224
42309
  if (event.target.closest(".mh-improved-custom-trap-selector-open")) {
42225
42310
  event.preventDefault();
@@ -56484,7 +56569,7 @@ var mhui = (() => {
56484
56569
  });
56485
56570
 
56486
56571
  // src/modules/location-huds/locations/floating-islands/sky-map.js
56487
- var toHighlight, getSkyMapMice, tileSelector, edgeSelector, paragonCacheSelector, hasMod, getGridSignature, highlight, resetSkyMap, addBadge, addTooltipLine, updateSelectedIslandInfo, addNoteAfterRedraw, getIslandAdvice, highlightSkyMap, redrawAfterReroll, main19, mapData3, mapGoals, lastGridSignature, islandAdvice, hasClickListener, sky_map_default;
56572
+ var toHighlight, getSkyMapMice, gridSelector, tileSelector, edgeSelector, paragonCacheSelector, hasMod, getGridSignature, highlight, resetSkyMap, addBadge, addTooltipLine, updateSelectedIslandInfo, addNoteAfterRedraw, getIslandAdvice, highlightSkyMap, redrawAfterReroll, main19, mapData3, mapGoals, lastGridSignature, islandAdvice, hasClickListener, sky_map_default;
56488
56573
  var init_sky_map = __esm({
56489
56574
  "src/modules/location-huds/locations/floating-islands/sky-map.js"() {
56490
56575
  init_utils2();
@@ -56516,7 +56601,8 @@ var mhui = (() => {
56516
56601
  }
56517
56602
  return goals.filter((goal) => !completedGoals.includes(goal.unique_id) && toHighlight.has(goal.type));
56518
56603
  };
56519
- tileSelector = ".floatingIslandsAdventureBoardSkyMap-islandModContainer .floatingIslandsAdventureBoardSkyMap-islandMod";
56604
+ gridSelector = ".floatingIslandsAdventureBoardSkyMap-islandModContainer";
56605
+ tileSelector = "".concat(gridSelector, " .floatingIslandsAdventureBoardSkyMap-islandMod");
56520
56606
  edgeSelector = ".floatingIslandsAdventureBoardSkyMap-powerTypes .floatingIslandsHUD-powerType";
56521
56607
  paragonCacheSelector = ".paragon_cache_a, .paragon_cache_b, .paragon_cache_c, .paragon_cache_d";
56522
56608
  hasMod = (tile, selector2) => tile.matches(selector2) || !!tile.querySelector(selector2);
@@ -56677,6 +56763,14 @@ var mhui = (() => {
56677
56763
  updateSelectedIslandInfo();
56678
56764
  });
56679
56765
  redrawAfterReroll = () => __async(null, null, function* () {
56766
+ const grid = document.querySelector(gridSelector);
56767
+ yield new Promise((resolve) => setTimeout(resolve, 500));
56768
+ if ("floating_islands" !== getCurrentLocation() || !(grid == null ? void 0 : grid.isConnected) || grid !== document.querySelector(gridSelector)) {
56769
+ return;
56770
+ }
56771
+ if (grid.classList.contains("spinOut")) {
56772
+ grid.dispatchEvent(new Event("animationend"));
56773
+ }
56680
56774
  for (let attempt = 0; attempt < 30; attempt++) {
56681
56775
  const signature = getGridSignature();
56682
56776
  if (signature && (signature !== lastGridSignature || !document.querySelector(".mh-sky-map-badge, .lowlight-for-map"))) {
@@ -66708,163 +66802,179 @@ var mhui = (() => {
66708
66802
  }
66709
66803
  });
66710
66804
 
66711
- // src/data/update-summaries/0.98.0.json
66805
+ // src/data/update-summaries/0.103.2.json
66712
66806
  var __default20;
66713
66807
  var init__20 = __esm({
66714
- "src/data/update-summaries/0.98.0.json"() {
66715
- __default20 = { version: "0.98.0", summary: "This update makes MouseHunt Improved easier to browse, configure, and use. The settings screen now organizes modules into clearer sections, several popular options have better defaults, and new features like Gifts in Inbox and Journal Progress Log Tracker are now available. It also includes broad fixes, performance improvements, and polish across maps, journals, HUDs, inventory, marketplace tools, and more. Please take a quick look through settings after updating in case a new default is not your preference. Happy hunting!", details: [{ title: "New Features", items: ["Gifts in Inbox will let you easily claim recent gifts directly from your inbox", "Journal Progress Log Tracker adds clear timing and history for progress log entries", "Rank-Up Forecaster is now available as a beta module for previewing your progress toward the next rank"] }, { title: "New Module Sections", items: ["The settings screen now groups modules by what they affect: Appearance, Hunting & Setup, Inventory & Economy, Location HUDs, Locations/Maps/Travel, Journal/Progress/Stats, Social & Profiles, Navigation & Utilities, Hide & Simplify, Beta & Experiments, and Advanced", "These sections replace the older broad categories so related features are easier to find"] }, { title: "Defaults and Settings", items: ["Several useful modules and settings are now enabled by default or promoted out of beta, including Better Journal loot display improvements, Better Tournaments localized times, Better Marketplace quick actions, Better Gifts gift selection, Better UI square profile pics, and Real Base Stats", "The new Base Item Counters module is enabled by default to show toothlet and printing paper counts for supported bases", 'Advanced Settings now includes an "Update Game Data" link for refreshing bundled game data when needed', "Custom preview pickers and several settings controls were cleaned up for a smoother configuration experience"] }, { title: "Better Marketplace", items: ["Added beta feature for integrated Markethunt price charts to marketplace item views", "Expanded marketplace browsing, pricing tools, quick actions, and item view polish", "Improved sorting, filtering, and quick buy/sell workflows"] }, { title: "Better Journal", items: ["Journal entries now support broader loot displays with more useful links and icons", "Several journal-related options were updated and improved"] }, { title: "Better Maps", items: ["Map groups, styling, and performance were updated", "Added support for more map organization and cleaner map displays"] }, { title: "Location HUDs - Floating Islands", items: ["Airship customization now has better preview, randomization, and workflow tools", "The Floating Islands HUD received usability, style, and beta feature updates"] }, { title: "Location HUDs - Fort Rox", items: ["Fort Rox timeline and trap setup tools were refined", "Hunt tracking and related interactions should be clearer and easier to use"] }, { title: "Location Dashboard", items: ["The dashboard now supports more locations", "Reliability and refresh behavior were improved across supported dashboards"] }, { title: "Better Inventory", items: ["Trap sorting, filtering, and inventory readability were reworked and improved"] }, { title: "Better Quests", items: ["Quest objective mice are easier to inspect with improved links and hover details"] }, { title: "Paste Hunter ID", items: ["Hunter lookup is more flexible and now handles full profile links more reliably"] }, { title: "Image Upscaling & Transparency", items: ["Upscaled images now recover more reliably when the game rerenders them"] }, { title: "General Improvements", items: ["Profile and scoreboard navigation, tooltip handling, number formatting, bundled assets, and overall UI polish all received fixes and improvements", "This release also includes many smaller style fixes, bug fixes, and performance updates across the extension"] }] };
66808
+ "src/data/update-summaries/0.103.2.json"() {
66809
+ __default20 = { version: "0.103.2", summary: "", details: [{ title: "", items: ["Better Shops: Fixed requirements, like Adventure completion, increasing with the quantity, and limited the quantity field and buttons to an item's purchase limit", "Location HUDs - Floating Islands: Fixed the Sky Map sometimes not updating after a reroll"] }] };
66716
66810
  }
66717
66811
  });
66718
66812
 
66719
- // src/data/update-summaries/0.98.1.json
66813
+ // src/data/update-summaries/0.103.3.json
66720
66814
  var __default21;
66721
66815
  var init__21 = __esm({
66722
- "src/data/update-summaries/0.98.1.json"() {
66723
- __default21 = { version: "0.98.1", summary: "", details: [{ title: "", items: ["Better UI: Updated Inbox tab order", "Better Maps: Updated map sorting groups for Cerulean Skyport and Corsair maps", "Journal Progress Log Tracker: Progress logs are now tracked when on pages beyond the first page", "Gifts in Inbox: Gift links more than five days old no longer count toward the tab's unread badge", "Minor style tweaks"] }] };
66816
+ "src/data/update-summaries/0.103.3.json"() {
66817
+ __default21 = { version: "0.103.3", summary: "", details: [{ title: "", items: ["Catch Rate & Minlucks: Fixed the page freezing on load for some players", "Catch Rate & Minlucks: The Trap Effectiveness meter shows the game's rating again by default. You can switch it to your catch rate in the Custom Trap Selector"] }] };
66724
66818
  }
66725
66819
  });
66726
66820
 
66727
- // src/data/update-summaries/0.98.2.json
66821
+ // src/data/update-summaries/0.98.0.json
66728
66822
  var __default22;
66729
66823
  var init__22 = __esm({
66730
- "src/data/update-summaries/0.98.2.json"() {
66731
- __default22 = { version: "0.98.2", summary: "", details: [{ title: "", items: ["Better Journal: Added loot list and date styling support for the new Cerulean Skyport journal entries", "Redesigned the extension popup and made its settings button reuse an open MouseHunt tab"] }] };
66824
+ "src/data/update-summaries/0.98.0.json"() {
66825
+ __default22 = { version: "0.98.0", summary: "This update makes MouseHunt Improved easier to browse, configure, and use. The settings screen now organizes modules into clearer sections, several popular options have better defaults, and new features like Gifts in Inbox and Journal Progress Log Tracker are now available. It also includes broad fixes, performance improvements, and polish across maps, journals, HUDs, inventory, marketplace tools, and more. Please take a quick look through settings after updating in case a new default is not your preference. Happy hunting!", details: [{ title: "New Features", items: ["Gifts in Inbox will let you easily claim recent gifts directly from your inbox", "Journal Progress Log Tracker adds clear timing and history for progress log entries", "Rank-Up Forecaster is now available as a beta module for previewing your progress toward the next rank"] }, { title: "New Module Sections", items: ["The settings screen now groups modules by what they affect: Appearance, Hunting & Setup, Inventory & Economy, Location HUDs, Locations/Maps/Travel, Journal/Progress/Stats, Social & Profiles, Navigation & Utilities, Hide & Simplify, Beta & Experiments, and Advanced", "These sections replace the older broad categories so related features are easier to find"] }, { title: "Defaults and Settings", items: ["Several useful modules and settings are now enabled by default or promoted out of beta, including Better Journal loot display improvements, Better Tournaments localized times, Better Marketplace quick actions, Better Gifts gift selection, Better UI square profile pics, and Real Base Stats", "The new Base Item Counters module is enabled by default to show toothlet and printing paper counts for supported bases", 'Advanced Settings now includes an "Update Game Data" link for refreshing bundled game data when needed', "Custom preview pickers and several settings controls were cleaned up for a smoother configuration experience"] }, { title: "Better Marketplace", items: ["Added beta feature for integrated Markethunt price charts to marketplace item views", "Expanded marketplace browsing, pricing tools, quick actions, and item view polish", "Improved sorting, filtering, and quick buy/sell workflows"] }, { title: "Better Journal", items: ["Journal entries now support broader loot displays with more useful links and icons", "Several journal-related options were updated and improved"] }, { title: "Better Maps", items: ["Map groups, styling, and performance were updated", "Added support for more map organization and cleaner map displays"] }, { title: "Location HUDs - Floating Islands", items: ["Airship customization now has better preview, randomization, and workflow tools", "The Floating Islands HUD received usability, style, and beta feature updates"] }, { title: "Location HUDs - Fort Rox", items: ["Fort Rox timeline and trap setup tools were refined", "Hunt tracking and related interactions should be clearer and easier to use"] }, { title: "Location Dashboard", items: ["The dashboard now supports more locations", "Reliability and refresh behavior were improved across supported dashboards"] }, { title: "Better Inventory", items: ["Trap sorting, filtering, and inventory readability were reworked and improved"] }, { title: "Better Quests", items: ["Quest objective mice are easier to inspect with improved links and hover details"] }, { title: "Paste Hunter ID", items: ["Hunter lookup is more flexible and now handles full profile links more reliably"] }, { title: "Image Upscaling & Transparency", items: ["Upscaled images now recover more reliably when the game rerenders them"] }, { title: "General Improvements", items: ["Profile and scoreboard navigation, tooltip handling, number formatting, bundled assets, and overall UI polish all received fixes and improvements", "This release also includes many smaller style fixes, bug fixes, and performance updates across the extension"] }] };
66732
66826
  }
66733
66827
  });
66734
66828
 
66735
- // src/data/update-summaries/0.98.3.json
66829
+ // src/data/update-summaries/0.98.1.json
66736
66830
  var __default23;
66737
66831
  var init__23 = __esm({
66738
- "src/data/update-summaries/0.98.3.json"() {
66739
- __default23 = { version: "0.98.3", summary: "", details: [{ title: "", items: ["Fix Better Marketplace: Show Markethunt price history chart when viewing an item defaulting to enabled"] }] };
66832
+ "src/data/update-summaries/0.98.1.json"() {
66833
+ __default23 = { version: "0.98.1", summary: "", details: [{ title: "", items: ["Better UI: Updated Inbox tab order", "Better Maps: Updated map sorting groups for Cerulean Skyport and Corsair maps", "Journal Progress Log Tracker: Progress logs are now tracked when on pages beyond the first page", "Gifts in Inbox: Gift links more than five days old no longer count toward the tab's unread badge", "Minor style tweaks"] }] };
66740
66834
  }
66741
66835
  });
66742
66836
 
66743
- // src/data/update-summaries/0.99.0.json
66837
+ // src/data/update-summaries/0.98.2.json
66744
66838
  var __default24;
66745
66839
  var init__24 = __esm({
66746
- "src/data/update-summaries/0.99.0.json"() {
66747
- __default24 = { version: "0.99.0", summary: "", details: [{ title: "New Beta Features", items: ['"Enhanced Search" adds fuzzy and abbreviated searching in inventory, marketplace, Send Supplies, and the Trap Selector', '"Timers" adds an item to the Camp menu dropdown with countdowns for different locations'] }, { title: "Better Maps", items: ["Added sorting for 20+ map types", "Updated sorting data for many existing map types", 'Added the "Default to Sorted tab (only if map is categorized)" setting', "Map enhancements now load and update more reliably"] }, { title: "Location HUDs and Catch Stats", items: ["Location Catch Stats has been redesigned with completion progress for each location, crown counts, and more.", 'Added a "Use simplified view" setting for Location Catch Stats to restore the previous version.', "Added a Cerulean Skyport Location Dashboard", "Updated HUD styling for Cerulean Skyport, Floating Islands, Valour Rift, and other locations", "Updated the Valour Rift simulator for the Hailstone Singularity Base"] }, { title: "More Improvements", items: ["Expanded Native Dark Mode coverage across nearly every module", "Extension updates now load faster and data is kept more up-to-date", "Fixed a variety of issues and improved performance across many modules"] }] };
66840
+ "src/data/update-summaries/0.98.2.json"() {
66841
+ __default24 = { version: "0.98.2", summary: "", details: [{ title: "", items: ["Better Journal: Added loot list and date styling support for the new Cerulean Skyport journal entries", "Redesigned the extension popup and made its settings button reuse an open MouseHunt tab"] }] };
66748
66842
  }
66749
66843
  });
66750
66844
 
66751
- // src/data/update-summaries/0.99.1.json
66845
+ // src/data/update-summaries/0.98.3.json
66752
66846
  var __default25;
66753
66847
  var init__25 = __esm({
66754
- "src/data/update-summaries/0.99.1.json"() {
66755
- __default25 = { version: "0.99.1", summary: "", details: [{ title: "Minor Style Updates", items: ["Updated Better Tournaments styling", "Updated Dark Mode tournament journal entry styling"] }] };
66848
+ "src/data/update-summaries/0.98.3.json"() {
66849
+ __default25 = { version: "0.98.3", summary: "", details: [{ title: "", items: ["Fix Better Marketplace: Show Markethunt price history chart when viewing an item defaulting to enabled"] }] };
66756
66850
  }
66757
66851
  });
66758
66852
 
66759
- // src/data/update-summaries/0.99.10.json
66853
+ // src/data/update-summaries/0.99.0.json
66760
66854
  var __default26;
66761
66855
  var init__26 = __esm({
66762
- "src/data/update-summaries/0.99.10.json"() {
66763
- __default26 = { version: "0.99.10", summary: "", details: [{ title: "", items: ["Cerulean Skyport: The raid intel dialog now highlights your current raid", "Better Tournaments: Fixed hovering over your rank to see your scoreboard page only working on tournament scoreboards"] }] };
66856
+ "src/data/update-summaries/0.99.0.json"() {
66857
+ __default26 = { version: "0.99.0", summary: "", details: [{ title: "New Beta Features", items: ['"Enhanced Search" adds fuzzy and abbreviated searching in inventory, marketplace, Send Supplies, and the Trap Selector', '"Timers" adds an item to the Camp menu dropdown with countdowns for different locations'] }, { title: "Better Maps", items: ["Added sorting for 20+ map types", "Updated sorting data for many existing map types", 'Added the "Default to Sorted tab (only if map is categorized)" setting', "Map enhancements now load and update more reliably"] }, { title: "Location HUDs and Catch Stats", items: ["Location Catch Stats has been redesigned with completion progress for each location, crown counts, and more.", 'Added a "Use simplified view" setting for Location Catch Stats to restore the previous version.', "Added a Cerulean Skyport Location Dashboard", "Updated HUD styling for Cerulean Skyport, Floating Islands, Valour Rift, and other locations", "Updated the Valour Rift simulator for the Hailstone Singularity Base"] }, { title: "More Improvements", items: ["Expanded Native Dark Mode coverage across nearly every module", "Extension updates now load faster and data is kept more up-to-date", "Fixed a variety of issues and improved performance across many modules"] }] };
66764
66858
  }
66765
66859
  });
66766
66860
 
66767
- // src/data/update-summaries/0.99.11.json
66861
+ // src/data/update-summaries/0.99.1.json
66768
66862
  var __default27;
66769
66863
  var init__27 = __esm({
66770
- "src/data/update-summaries/0.99.11.json"() {
66771
- __default27 = { version: "0.99.11", summary: "", details: [{ title: "", items: ["Better Journal: Fixed an error that could break journal mouse images when mouse data failed to load", "Better Journal: Hid the date on Cerulean Skyport chrome trigger entries", "Fixed failed data fetches being cached as empty, which could cause errors until the next refresh"] }] };
66864
+ "src/data/update-summaries/0.99.1.json"() {
66865
+ __default27 = { version: "0.99.1", summary: "", details: [{ title: "Minor Style Updates", items: ["Updated Better Tournaments styling", "Updated Dark Mode tournament journal entry styling"] }] };
66772
66866
  }
66773
66867
  });
66774
66868
 
66775
- // src/data/update-summaries/0.99.12.json
66869
+ // src/data/update-summaries/0.99.10.json
66776
66870
  var __default28;
66777
66871
  var init__28 = __esm({
66778
- "src/data/update-summaries/0.99.12.json"() {
66779
- __default28 = { version: "0.99.12", summary: "", details: [{ title: "", items: ["Cerulean Skyport: Animations now turn off when the Stabilize Airship option is checked", "Favorite Setups: Updated styles", "Gifts in Inbox: Fixed the Gift Links tab disappearing after sending a raffle ballot", "Journal icon and upscaled image styles can now update between releases without needing a new version", "Minor style tweaks"] }] };
66872
+ "src/data/update-summaries/0.99.10.json"() {
66873
+ __default28 = { version: "0.99.10", summary: "", details: [{ title: "", items: ["Cerulean Skyport: The raid intel dialog now highlights your current raid", "Better Tournaments: Fixed hovering over your rank to see your scoreboard page only working on tournament scoreboards"] }] };
66780
66874
  }
66781
66875
  });
66782
66876
 
66783
- // src/data/update-summaries/0.99.13.json
66877
+ // src/data/update-summaries/0.99.11.json
66784
66878
  var __default29;
66785
66879
  var init__29 = __esm({
66786
- "src/data/update-summaries/0.99.13.json"() {
66787
- __default29 = { version: "0.99.13", summary: "", details: [{ title: "", items: ["Better Mice: Prize mice now show catch history and cooldown status, and the Prize History page has been updated", "Better UI: The Team page shows member journals outside of tournaments and visual trap setups", "Better Journal: Items mentioned in entries are now linked, and inline loot (like the Polar Vortex Trap) is shown as a list", "Better Quests: The M400 helper now supports the Bait Research assignment", "Better Inventory: Trap sort and filter controls now match the game's style, show how many items match, and have a Reset link", "Location Catch Stats: Added a refresh button", "Quick Filters and Sort: Cheese can now be sorted by quantity", "Better Maps: Fixed the mouse info popup getting stuck over the mice list", "Better Maps: Claiming a consolation prize now asks you to confirm, since it can't be undone", "Table of Contents: The simulator now counts the Gold Foil Printing upgrade when estimating Gnawbels", "Minor fixes and style tweaks"] }] };
66880
+ "src/data/update-summaries/0.99.11.json"() {
66881
+ __default29 = { version: "0.99.11", summary: "", details: [{ title: "", items: ["Better Journal: Fixed an error that could break journal mouse images when mouse data failed to load", "Better Journal: Hid the date on Cerulean Skyport chrome trigger entries", "Fixed failed data fetches being cached as empty, which could cause errors until the next refresh"] }] };
66788
66882
  }
66789
66883
  });
66790
66884
 
66791
- // src/data/update-summaries/0.99.14.json
66885
+ // src/data/update-summaries/0.99.12.json
66792
66886
  var __default30;
66793
66887
  var init__30 = __esm({
66794
- "src/data/update-summaries/0.99.14.json"() {
66795
- __default30 = { version: "0.99.14", summary: "", details: [{ title: "", items: ["Better Maps: Added an experimental Plan tab to help you find your remaining map mice", "Better Maps: Solver links skip caught mice, and Sorted tab popups stay on screen", "Better Travel: Favorite locations appear first on the travel page and in Simple Travel", "Better Marketplace: Price history charts remember if you left them collapsed", "Better Inventory: More Magic Essence warnings, with suggestions for other recipes", "Better Journal: Item links support plural names, and Zokor entries show which Thief Base you used", "Location HUDs - Cerulean Skyport: Raid progress bars change color as you gather intel", "Location HUDs - Gnawnian Express Station: The train board remembers if you left it open or minimized", "Location HUDs - Zokor: The Thief Base toggle shows the mode you\u2019re switching to", "Keyboard Shortcuts: Escape cancels an edit, and Backspace or Delete clears the shortcut", "Favorite Setups: Crafting bait clears missing-item warnings. Empty bait and charm slots now disarm those items", "Favorite Setups: Setups with unowned charms or bait arm without them, and the item picker is more compact", "FLRT Helper: Fixed sometimes filling in the wrong Maptain hunter ID", "Fixed timers when your account and computer use different time zones", "Keyboard Shortcuts: Disarming your charm no longer disarms your bait", 'Better Gifts: The "ignore bad gifts" setting works again', "Send Supplies: Fixed page reloads when pressing Enter and duplicate sends", "Better Shops: Quantity buttons update the purchase total", "Custom Background: Event backgrounds appear again when set to Default", "Custom Shield: Fixed shields for titles like Grand Duke", "Inventory Lock and Hide: Hidden items stay hidden in the trap selector", "Journal Changer: Fixed issues with changing and remembering themes", "Journal Privacy: Names stay hidden as new entries appear", "Quick Filters and Sort: Changing the sort keeps your filter", "Dark Mode: Fixed styles for inventory confirmations, gift selectors, and more", "Other small fixes and style tweaks"] }] };
66888
+ "src/data/update-summaries/0.99.12.json"() {
66889
+ __default30 = { version: "0.99.12", summary: "", details: [{ title: "", items: ["Cerulean Skyport: Animations now turn off when the Stabilize Airship option is checked", "Favorite Setups: Updated styles", "Gifts in Inbox: Fixed the Gift Links tab disappearing after sending a raffle ballot", "Journal icon and upscaled image styles can now update between releases without needing a new version", "Minor style tweaks"] }] };
66796
66890
  }
66797
66891
  });
66798
66892
 
66799
- // src/data/update-summaries/0.99.15.json
66893
+ // src/data/update-summaries/0.99.13.json
66800
66894
  var __default31;
66801
66895
  var init__31 = __esm({
66802
- "src/data/update-summaries/0.99.15.json"() {
66803
- __default31 = { version: "0.99.15", summary: "", details: [{ title: "", items: ["Many settings now apply without a refresh, including Dark Mode. A reminder appears when a refresh is needed", "Reorganized and renamed the settings categories", "Better Journal: Highlighted Skyport raid chests and more rare drops", "Dark Mode: Fixed light backgrounds and unreadable text", "Hide Sidebar: The sidebar stays hidden when changing pages", "Other small fixes and style tweaks"] }] };
66896
+ "src/data/update-summaries/0.99.13.json"() {
66897
+ __default31 = { version: "0.99.13", summary: "", details: [{ title: "", items: ["Better Mice: Prize mice now show catch history and cooldown status, and the Prize History page has been updated", "Better UI: The Team page shows member journals outside of tournaments and visual trap setups", "Better Journal: Items mentioned in entries are now linked, and inline loot (like the Polar Vortex Trap) is shown as a list", "Better Quests: The M400 helper now supports the Bait Research assignment", "Better Inventory: Trap sort and filter controls now match the game's style, show how many items match, and have a Reset link", "Location Catch Stats: Added a refresh button", "Quick Filters and Sort: Cheese can now be sorted by quantity", "Better Maps: Fixed the mouse info popup getting stuck over the mice list", "Better Maps: Claiming a consolation prize now asks you to confirm, since it can't be undone", "Table of Contents: The simulator now counts the Gold Foil Printing upgrade when estimating Gnawbels", "Minor fixes and style tweaks"] }] };
66804
66898
  }
66805
66899
  });
66806
66900
 
66807
- // src/data/update-summaries/0.99.2.json
66901
+ // src/data/update-summaries/0.99.14.json
66808
66902
  var __default32;
66809
66903
  var init__32 = __esm({
66810
- "src/data/update-summaries/0.99.2.json"() {
66811
- __default32 = { version: "0.99.2", summary: "", details: [{ title: "", items: ["Better Maps: Fixed several rendering issues, including duplicate attraction rate badges, the quick invite box duplicating, and the Goals tab reinitializing when map data reloaded", "Better Maps: Added a Reset Sort button to the Sorted tab", "Better Journal: Added loot list support for reward claim entries", "Dark Mode: Updated styles and applied masking to full-size mice images in journal entries", "Minor style tweaks"] }] };
66904
+ "src/data/update-summaries/0.99.14.json"() {
66905
+ __default32 = { version: "0.99.14", summary: "", details: [{ title: "", items: ["Better Maps: Added an experimental Plan tab to help you find your remaining map mice", "Better Maps: Solver links skip caught mice, and Sorted tab popups stay on screen", "Better Travel: Favorite locations appear first on the travel page and in Simple Travel", "Better Marketplace: Price history charts remember if you left them collapsed", "Better Inventory: More Magic Essence warnings, with suggestions for other recipes", "Better Journal: Item links support plural names, and Zokor entries show which Thief Base you used", "Location HUDs - Cerulean Skyport: Raid progress bars change color as you gather intel", "Location HUDs - Gnawnian Express Station: The train board remembers if you left it open or minimized", "Location HUDs - Zokor: The Thief Base toggle shows the mode you\u2019re switching to", "Keyboard Shortcuts: Escape cancels an edit, and Backspace or Delete clears the shortcut", "Favorite Setups: Crafting bait clears missing-item warnings. Empty bait and charm slots now disarm those items", "Favorite Setups: Setups with unowned charms or bait arm without them, and the item picker is more compact", "FLRT Helper: Fixed sometimes filling in the wrong Maptain hunter ID", "Fixed timers when your account and computer use different time zones", "Keyboard Shortcuts: Disarming your charm no longer disarms your bait", 'Better Gifts: The "ignore bad gifts" setting works again', "Send Supplies: Fixed page reloads when pressing Enter and duplicate sends", "Better Shops: Quantity buttons update the purchase total", "Custom Background: Event backgrounds appear again when set to Default", "Custom Shield: Fixed shields for titles like Grand Duke", "Inventory Lock and Hide: Hidden items stay hidden in the trap selector", "Journal Changer: Fixed issues with changing and remembering themes", "Journal Privacy: Names stay hidden as new entries appear", "Quick Filters and Sort: Changing the sort keeps your filter", "Dark Mode: Fixed styles for inventory confirmations, gift selectors, and more", "Other small fixes and style tweaks"] }] };
66812
66906
  }
66813
66907
  });
66814
66908
 
66815
- // src/data/update-summaries/0.99.3.json
66909
+ // src/data/update-summaries/0.99.15.json
66816
66910
  var __default33;
66817
66911
  var init__33 = __esm({
66818
- "src/data/update-summaries/0.99.3.json"() {
66819
- __default33 = { version: "0.99.3", summary: "", details: [{ title: "", items: ["Better Maps: Fixed mice missing from the Sorted tab on Draconic Depths, Folklore Forest Grand Tour, and Origin of Dragons maps"] }] };
66912
+ "src/data/update-summaries/0.99.15.json"() {
66913
+ __default33 = { version: "0.99.15", summary: "", details: [{ title: "", items: ["Many settings now apply without a refresh, including Dark Mode. A reminder appears when a refresh is needed", "Reorganized and renamed the settings categories", "Better Journal: Highlighted Skyport raid chests and more rare drops", "Dark Mode: Fixed light backgrounds and unreadable text", "Hide Sidebar: The sidebar stays hidden when changing pages", "Other small fixes and style tweaks"] }] };
66820
66914
  }
66821
66915
  });
66822
66916
 
66823
- // src/data/update-summaries/0.99.4.json
66917
+ // src/data/update-summaries/0.99.2.json
66824
66918
  var __default34;
66825
66919
  var init__34 = __esm({
66826
- "src/data/update-summaries/0.99.4.json"() {
66827
- __default34 = { version: "0.99.4", summary: "", details: [{ title: "", items: ["Location HUDs - Cerulean Skyport: Added 'View Ledger button to journal entry", "Better Maps: Updated Cerulean Skyport map groups and added current area highlighting", "Better Maps: Fixed several Sorted tab issues", "Better Journal: Full mice images no longer have a border or white background", "Minor style tweaks"] }] };
66920
+ "src/data/update-summaries/0.99.2.json"() {
66921
+ __default34 = { version: "0.99.2", summary: "", details: [{ title: "", items: ["Better Maps: Fixed several rendering issues, including duplicate attraction rate badges, the quick invite box duplicating, and the Goals tab reinitializing when map data reloaded", "Better Maps: Added a Reset Sort button to the Sorted tab", "Better Journal: Added loot list support for reward claim entries", "Dark Mode: Updated styles and applied masking to full-size mice images in journal entries", "Minor style tweaks"] }] };
66828
66922
  }
66829
66923
  });
66830
66924
 
66831
- // src/data/update-summaries/0.99.5.json
66925
+ // src/data/update-summaries/0.99.3.json
66832
66926
  var __default35;
66833
66927
  var init__35 = __esm({
66834
- "src/data/update-summaries/0.99.5.json"() {
66835
- __default35 = { version: "0.99.5", summary: "", details: [{ title: "", items: ["Better Maps: Restored previous groups for Cerulean Skyport and Corsair Chaser maps", "Better Maps: Fixed the Relic Hunter hint travel button sometimes being added twice", "Dark Mode: Updated styles"] }] };
66928
+ "src/data/update-summaries/0.99.3.json"() {
66929
+ __default35 = { version: "0.99.3", summary: "", details: [{ title: "", items: ["Better Maps: Fixed mice missing from the Sorted tab on Draconic Depths, Folklore Forest Grand Tour, and Origin of Dragons maps"] }] };
66836
66930
  }
66837
66931
  });
66838
66932
 
66839
- // src/data/update-summaries/0.99.6.json
66933
+ // src/data/update-summaries/0.99.4.json
66840
66934
  var __default36;
66841
66935
  var init__36 = __esm({
66842
- "src/data/update-summaries/0.99.6.json"() {
66843
- __default36 = { 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"] }] };
66936
+ "src/data/update-summaries/0.99.4.json"() {
66937
+ __default36 = { version: "0.99.4", summary: "", details: [{ title: "", items: ["Location HUDs - Cerulean Skyport: Added 'View Ledger button to journal entry", "Better Maps: Updated Cerulean Skyport map groups and added current area highlighting", "Better Maps: Fixed several Sorted tab issues", "Better Journal: Full mice images no longer have a border or white background", "Minor style tweaks"] }] };
66844
66938
  }
66845
66939
  });
66846
66940
 
66847
- // src/data/update-summaries/0.99.7.json
66941
+ // src/data/update-summaries/0.99.5.json
66848
66942
  var __default37;
66849
66943
  var init__37 = __esm({
66850
- "src/data/update-summaries/0.99.7.json"() {
66851
- __default37 = { version: "0.99.7", summary: "", details: [{ title: "", items: ["Fixed the refresh button missing from the My Invites tab of the map popup"] }] };
66944
+ "src/data/update-summaries/0.99.5.json"() {
66945
+ __default37 = { version: "0.99.5", summary: "", details: [{ title: "", items: ["Better Maps: Restored previous groups for Cerulean Skyport and Corsair Chaser maps", "Better Maps: Fixed the Relic Hunter hint travel button sometimes being added twice", "Dark Mode: Updated styles"] }] };
66852
66946
  }
66853
66947
  });
66854
66948
 
66855
- // src/data/update-summaries/0.99.8.json
66949
+ // src/data/update-summaries/0.99.6.json
66856
66950
  var __default38;
66857
66951
  var init__38 = __esm({
66858
- "src/data/update-summaries/0.99.8.json"() {
66859
- __default38 = { version: "0.99.8", summary: "", details: [{ title: "", items: ["Skyport Star Tracker: Corrected which raid mice require Aurora Bocconcini"] }] };
66952
+ "src/data/update-summaries/0.99.6.json"() {
66953
+ __default38 = { 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"] }] };
66860
66954
  }
66861
66955
  });
66862
66956
 
66863
- // src/data/update-summaries/0.99.9.json
66957
+ // src/data/update-summaries/0.99.7.json
66864
66958
  var __default39;
66865
66959
  var init__39 = __esm({
66960
+ "src/data/update-summaries/0.99.7.json"() {
66961
+ __default39 = { version: "0.99.7", summary: "", details: [{ title: "", items: ["Fixed the refresh button missing from the My Invites tab of the map popup"] }] };
66962
+ }
66963
+ });
66964
+
66965
+ // src/data/update-summaries/0.99.8.json
66966
+ var __default40;
66967
+ var init__40 = __esm({
66968
+ "src/data/update-summaries/0.99.8.json"() {
66969
+ __default40 = { version: "0.99.8", summary: "", details: [{ title: "", items: ["Skyport Star Tracker: Corrected which raid mice require Aurora Bocconcini"] }] };
66970
+ }
66971
+ });
66972
+
66973
+ // src/data/update-summaries/0.99.9.json
66974
+ var __default41;
66975
+ var init__41 = __esm({
66866
66976
  "src/data/update-summaries/0.99.9.json"() {
66867
- __default39 = { version: "0.99.9", summary: "", details: [{ title: "", items: ["FLRT Helper: Fixed the Return to Maptain button not appearing when opening a chest from the map screen", "Skyport Star Tracker: Added a refresh button to the tracker panel"] }] };
66977
+ __default41 = { version: "0.99.9", summary: "", details: [{ title: "", items: ["FLRT Helper: Fixed the Return to Maptain button not appearing when opening a chest from the map screen", "Skyport Star Tracker: Added a refresh button to the tracker panel"] }] };
66868
66978
  }
66869
66979
  });
66870
66980
 
@@ -66907,7 +67017,9 @@ var mhui = (() => {
66907
67017
  init__37();
66908
67018
  init__38();
66909
67019
  init__39();
66910
- imported12 = [__default8, __default9, __default10, __default11, __default12, __default13, __default14, __default15, __default16, __default17, __default18, __default19, __default20, __default21, __default22, __default23, __default24, __default25, __default26, __default27, __default28, __default29, __default30, __default31, __default32, __default33, __default34, __default35, __default36, __default37, __default38, __default39];
67020
+ init__40();
67021
+ init__41();
67022
+ imported12 = [__default8, __default9, __default10, __default11, __default12, __default13, __default14, __default15, __default16, __default17, __default18, __default19, __default20, __default21, __default22, __default23, __default24, __default25, __default26, __default27, __default28, __default29, __default30, __default31, __default32, __default33, __default34, __default35, __default36, __default37, __default38, __default39, __default40, __default41];
66911
67023
  updateSummaries = imported12;
66912
67024
  compareVersions = (a, b) => {
66913
67025
  const aParts = "".concat(a).split(".");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mousehunt-improved",
3
- "version": "0.103.1",
3
+ "version": "0.103.3",
4
4
  "description": "Improve your MouseHunt experience.",
5
5
  "author": "Brad Parbs <brad@bradparbs.com> (https://bradparbs.com/)",
6
6
  "license": "MIT",