diff --git a/README.md b/README.md
index ab4f3ba..1c31536 100644
--- a/README.md
+++ b/README.md
@@ -230,10 +230,10 @@ There's a new link added to the footer on the home screen, which opens a changel
| Badge Name | Description | Tier Requirements |
| -------------------- | ------------------------------------------ |------------------ |
- | Eggstra Spender | $ Worth of Premium Items Owned |
Tier | Requirement |
---|
I | $50 |
II | $100 |
III | $150 |
IV | $200 |
V | $250+ |
|
+ | Eggstra Spender | $ Worth of Premium Items Owned | Tier | Requirement |
---|
I | $50 |
II | $100 |
III | $150 |
IV | $250 |
V | $500+ |
|
| Challenge Eggcepted | # of Unique Challenges Completed | Tier | Requirement |
---|
I | 10 |
II | 25 |
III | 50 |
IV | 75 |
V | 100+ |
|
| Overeggchiever | # of Total Challenges Completed | Tier | Requirement |
---|
I | 50 |
II | 100 |
III | 250 |
IV | 500 |
V | 1,000+ |
|
- | Eggspenditure | Golden Eggs Spent | Tier | Requirement |
---|
I | 250,000 |
II | 500,000 |
III | 1,000,000 |
IV | 2,500,000 |
V | 5,000,000+ |
|
+ | Eggspenditure | Golden Eggs Spent | Tier | Requirement |
---|
I | 500,000 |
II | 1,000,000 |
III | 2,500,000 |
IV | 5,000,000 |
V | 7,500,000+ |
|
| Shell Scrambler | Lifetime Kills | Tier | Requirement |
---|
I | 10,000 |
II | 25,000 |
III | 50,000 |
IV | 100,000 |
V | 200,000+ |
|
| Master of Arms | Lifetime Kills With Every Weapon | Tier | Requirement |
---|
I | 250 |
II | 500 |
III | 750 |
IV | 1,000 |
V | 2,500+ |
|
| Eggsecutioner | Lifetime Kills in Every Game Mode | Tier | Requirement |
---|
I | 500 |
II | 1,000 |
III | 5,000 |
IV | 10,000 |
V | 20,000+ |
|
diff --git a/data/changelog.json b/data/changelog.json
index acc9b0d..5e3c90b 100644
--- a/data/changelog.json
+++ b/data/changelog.json
@@ -1,5 +1,18 @@
{
"current": [
+ {
+ "version": "0.17",
+ "date": "November 8 2024",
+ "content": [
+ "Shell now automatically reloads after you update The MegaMod!",
+ "Fixed tier badge level up alert showing when badges level down",
+ "Fixed stamps not being sorted correctly in the inventory",
+ "Buffed tier requirements for \"Eggstra Spender\" Badge",
+ "Buffed tier requirements for \"Eggspenditure\" Badge"
+ ]
+ }
+ ],
+ "old": [
{
"version": "0.16",
"date": "November 2 2024",
@@ -15,9 +28,7 @@
"Tier badges now show a notification when they level up!",
"Added the Gus theme and matching Gus skybox!"
]
- }
- ],
- "old": [
+ },
{
"version": "0.15",
"date": "October 18 2024",
diff --git a/data/info.json b/data/info.json
index d29f9ed..e6e6f4c 100644
--- a/data/info.json
+++ b/data/info.json
@@ -1,15 +1,10 @@
{
"announcement": "October 16th, 2024
Attention All Playtesters!
Welcome to The MegaMod playtest!
Explore all the mods and have fun :)
-Infinite",
"updateInfo": [
- "Fixed grenade pickups not updating in first-person spectate mode",
- "Fixed \"killstreak\" typo - thanks Godric!",
- "Fixed egg premium items not being grouped with premiums",
- "Optimized some setting saving logic",
- "Tweaked color of \"Very Good Wizard\" Badge to match BWD Blue",
- "Refined requirement for \"Treasure Hunter\" Badge to include account age",
- "Buffed tier requirements for \"Royal Rooster\" Badge",
- "Buffed tier requirements for \"Coop King\" Badge",
- "Tier badges now show a notification when they level up!",
- "Added the Gus theme and matching Gus skybox!"
+ "Shell now automatically reloads after you update The MegaMod!",
+ "Fixed tier badge level up alert showing when badges level down",
+ "Fixed stamps not being sorted correctly in the inventory",
+ "Buffed tier requirements for \"Eggstra Spender\" Badge",
+ "Buffed tier requirements for \"Eggspenditure\" Badge"
]
}
\ No newline at end of file
diff --git a/data/loc.json b/data/loc.json
index 394ed69..419680e 100644
--- a/data/loc.json
+++ b/data/loc.json
@@ -17,7 +17,7 @@
"megaMod_modErrsPopup_desc": "There was an error while starting The MegaMod!
Certain mods may not show up or work correctly.Affected Mods:
{0}",
"megaMod_updatePopup_title": "Update Available!",
- "megaMod_updatePopup_desc": "
A new version of The MegaMod is available!
Please click \"Gimme Update!\" to install version {0} so that you don't miss out on the latest features and bugfixes!
Continuing to use this (outdated) version may lead to Shell Shockers or The MegaMod not working properly!",
+ "megaMod_updatePopup_desc": "
A new version of The MegaMod is available!
Please click the \"Gimme Update!\" button to install version {0} so that you don't miss out on the latest features and bugfixes!
Continuing to use this (outdated) version may lead to Shell Shockers or The MegaMod not working properly!
This Shell Shockers tab will reload after you install the update and return to this tab.",
"megaMod_updatePopup_cancelBtn": "Nah :(",
"megaMod_updatePopup_okBtn": "Gimme Update!",
"megaMod_updatedPopup_title": "Update Installed!",
diff --git a/js/megaMod.js b/js/megaMod.js
index 86c9db5..a4a8b42 100644
--- a/js/megaMod.js
+++ b/js/megaMod.js
@@ -552,17 +552,19 @@ class MegaMod {
const newTierBadges = getTierBadges(newBadges.rows);
const oldTierBadges = getTierBadges(this.badges.rows);
+ const getBadgeClass = badge => badge.styleClass.replace(` tier${badge.tier}`, "");
const oldBadgeDict = oldTierBadges.reduce((dict, badge) => {
- dict[badge.title] = badge.tier;
+ dict[getBadgeClass(badge)] = badge.tier;
return dict;
}, {});
+ const removeHoverClass = style => style.replace(/\bbadge-hover(-alt)?\b/g, '');
newTierBadges.forEach(newBadge => {
- const oldTier = oldBadgeDict[newBadge.title];
+ const oldTier = oldBadgeDict[getBadgeClass(newBadge)];
if (oldTier === undefined || newBadge.tier > oldTier) {
vueApp.addBadgeMsg({
- badgeClass: newBadge.styleClass.replace(/\bbadge-hover(-alt)?\b/g, ''),
- iconClass: newBadge.classList.replace(/\bbadge-hover(-alt)?\b/g, ''),
+ badgeClass: removeHoverClass(newBadge.styleClass),
+ iconClass: removeHoverClass(newBadge.classList),
badgeName: newBadge.title
});
}
@@ -589,6 +591,9 @@ class MegaMod {
openMegaModUpdate() {
BAWK.play("ui_click");
window.open(`${cdnPath}/js/script.user.js`);
+ document.addEventListener("visibilitychange", () => {
+ if (document.visibilityState === "visible") window.location.reload();
+ });
}
});
@@ -2309,11 +2314,11 @@ class BetterUI {
// Nice and ez checks, W devs.
return item.unlock === theme;
case "eggpremium":
- return this.isThemedItem(item, "purchase") && item?.item_data?.tags?.some(t => t.toLowerCase() === 'premium') && item.price > 15000;
+ return this.isThemedItem(item, "purchase") && (item?.item_data?.tags?.some(t => t.toLowerCase() === 'premium') ?? false) && item.price > 15000;
case "legacy":
return this.isThemedItem(item, "default") && item?.item_data?.meshName?.includes("_Legacy");
case "limited":
- return item?.item_data?.tags?.includes("Limited");;
+ return item?.item_data?.tags?.includes("Limited") ?? false;
case "drops":
// No native "twitch" or "drops" unlock type yet :(
return this.isThemedItem(item, "manual") && item?.item_data?.tags?.some(tag => tag.toLowerCase().includes("drops"));
@@ -2335,11 +2340,11 @@ class BetterUI {
return this.isThemedItem(item, "manual") && !(this.isThemedItem(item, "limited") || this.isThemedItem(item, "drops") || this.isThemedItem(item, "notif") || this.isThemedItem(item, "league") || this.isThemedItem(item, "yolker") || this.isThemedItem(item, "promo") || this.isThemedItem(item, "event") || this.isThemedItem(item, "social"));
case "creator":
const creatorTags = unsafeWindow.megaMod.betterUI.creatorTypes.map(type => unsafeWindow.megaMod.betterUI.tags.creator.format(type));
- return item?.item_data?.tags?.some(tag => creatorTags.includes(tag));
+ return item?.item_data?.tags?.some(tag => creatorTags.includes(tag)) ?? false;
case "creatoryoutube":
- return item?.item_data?.tags?.includes(unsafeWindow.megaMod.betterUI.tags.creator.format(unsafeWindow.megaMod.betterUI.creatorTypes[4]));
+ return item?.item_data?.tags?.includes(unsafeWindow.megaMod.betterUI.tags.creator.format(unsafeWindow.megaMod.betterUI.creatorTypes[4])) ?? false;
case "creatortwitch":
- return item?.item_data?.tags?.includes(unsafeWindow.megaMod.betterUI.tags.creator.format(unsafeWindow.megaMod.betterUI.creatorTypes[6]));
+ return item?.item_data?.tags?.includes(unsafeWindow.megaMod.betterUI.tags.creator.format(unsafeWindow.megaMod.betterUI.creatorTypes[6])) ?? false;
case "shop":
return this.isThemedItem(item, "purchase") && !(this.isThemedItem(item, "creator") || this.isThemedItem(item, "limited") || this.isThemedItem(item, "event"));
}
diff --git a/mods/data/badges.json b/mods/data/badges.json
index 366e37e..3f309ba 100644
--- a/mods/data/badges.json
+++ b/mods/data/badges.json
@@ -120,7 +120,7 @@
"condition": "extern?.account?.inventory.filter(i => i?.unlock === 'premium' && i.price !== 2147483647).reduce((sum, item) => sum + item.price, 0) >= {0}",
"locKey": "megaMod_betterUI_badge_premium",
"tierIcons": ["fas fa-dollar-sign", "fas fa-money-check-alt", "fas fa-credit-card", "fas fa-sack-dollar", "fas fa-sack-dollar"],
- "tierValues": [50, 100, 150, 200, 250],
+ "tierValues": [50, 100, 150, 250, 500],
"class": "badge-premium"
},
{
@@ -141,7 +141,7 @@
"condition": "extern?.account?.eggsSpent >= {0}",
"locKey": "megaMod_betterUI_badge_spenteggs",
"tierIcons": ["fas fa-shopping-basket", "fas fa-shopping-basket", "fas fa-shopping-basket", "fas fa-shopping-cart", "fas fa-shopping-cart"],
- "tierValues": [250000, 500000, 1000000, 2500000, 5000000],
+ "tierValues": [500000, 100000, 250000, 5000000, 7500000],
"class": "badge-spender"
},
{