also reset modifiers when week rolls over
All checks were successful
Build / build (20) (push) Successful in 1m14s
Build / build (18) (push) Successful in 40s
Build / build (22) (push) Successful in 1m7s
Build / build (18) (pull_request) Successful in 40s
Build / build (22) (pull_request) Successful in 1m11s
Build / build (20) (pull_request) Successful in 1m6s

This commit is contained in:
Sainan 2025-03-22 21:52:05 +01:00
parent 18062b5d91
commit a082331632

View File

@ -11,22 +11,25 @@ export const entratiLabConquestModeController: RequestHandler = async (req, res)
"EntratiVaultCountResetDate EntratiVaultCountLastPeriod EntratiLabConquestUnlocked EchoesHexConquestUnlocked EchoesHexConquestActiveFrameVariants EchoesHexConquestActiveStickers EntratiLabConquestActiveFrameVariants EntratiLabConquestCacheScoreMission EchoesHexConquestCacheScoreMission" "EntratiVaultCountResetDate EntratiVaultCountLastPeriod EntratiLabConquestUnlocked EchoesHexConquestUnlocked EchoesHexConquestActiveFrameVariants EchoesHexConquestActiveStickers EntratiLabConquestActiveFrameVariants EntratiLabConquestCacheScoreMission EchoesHexConquestCacheScoreMission"
); );
const body = getJSONfromString<IEntratiLabConquestModeRequest>(String(req.body)); const body = getJSONfromString<IEntratiLabConquestModeRequest>(String(req.body));
if (body.BuyMode) { if (!inventory.EntratiVaultCountResetDate || Date.now() >= inventory.EntratiVaultCountResetDate.getTime()) {
if (!inventory.EntratiVaultCountResetDate || Date.now() >= inventory.EntratiVaultCountResetDate.getTime()) { const EPOCH = 1734307200 * 1000; // Mondays, amirite?
const EPOCH = 1734307200 * 1000; // Mondays, amirite? const day = Math.trunc((Date.now() - EPOCH) / 86400000);
const day = Math.trunc((Date.now() - EPOCH) / 86400000); const week = Math.trunc(day / 7);
const week = Math.trunc(day / 7); const weekStart = EPOCH + week * 604800000;
const weekStart = EPOCH + week * 604800000; const weekEnd = weekStart + 604800000;
const weekEnd = weekStart + 604800000; inventory.EntratiVaultCountLastPeriod = 0;
inventory.EntratiVaultCountLastPeriod = 0; inventory.EntratiVaultCountResetDate = new Date(weekEnd);
inventory.EntratiVaultCountResetDate = new Date(weekEnd); if ("EntratiLabConquestUnlocked" in inventory) {
if (inventory.EntratiLabConquestUnlocked) { inventory.EntratiLabConquestUnlocked = 0;
inventory.EntratiLabConquestUnlocked = 0; inventory.EntratiLabConquestActiveFrameVariants = [];
}
if (inventory.EchoesHexConquestUnlocked) {
inventory.EchoesHexConquestUnlocked = 0;
}
} }
if ("EchoesHexConquestUnlocked" in inventory) {
inventory.EchoesHexConquestUnlocked = 0;
inventory.EchoesHexConquestActiveFrameVariants = [];
inventory.EchoesHexConquestActiveStickers = [];
}
}
if (body.BuyMode) {
inventory.EntratiVaultCountLastPeriod! += 2; inventory.EntratiVaultCountLastPeriod! += 2;
if (body.IsEchoesDeepArchemedea) { if (body.IsEchoesDeepArchemedea) {
inventory.EchoesHexConquestUnlocked = 1; inventory.EchoesHexConquestUnlocked = 1;
@ -42,9 +45,7 @@ export const entratiLabConquestModeController: RequestHandler = async (req, res)
} }
await inventory.save(); await inventory.save();
res.json({ res.json({
EntratiVaultCountResetDate: inventory.EntratiVaultCountResetDate EntratiVaultCountResetDate: toMongoDate(inventory.EntratiVaultCountResetDate),
? toMongoDate(inventory.EntratiVaultCountResetDate)
: undefined,
EntratiVaultCountLastPeriod: inventory.EntratiVaultCountLastPeriod, EntratiVaultCountLastPeriod: inventory.EntratiVaultCountLastPeriod,
EntratiLabConquestUnlocked: inventory.EntratiLabConquestUnlocked, EntratiLabConquestUnlocked: inventory.EntratiLabConquestUnlocked,
EntratiLabConquestCacheScoreMission: inventory.EntratiLabConquestCacheScoreMission, EntratiLabConquestCacheScoreMission: inventory.EntratiLabConquestCacheScoreMission,