From 64d751a199651509dcd49803cf63c14ec4f90827 Mon Sep 17 00:00:00 2001 From: Sainan Date: Thu, 9 Jan 2025 07:15:29 +0100 Subject: [PATCH] feat: cycle 1999 calendar season every week --- .../dynamic/worldStateController.ts | 32 ++- src/services/purchaseService.ts | 2 +- .../worldState/1999_fall_days.json | 215 ++++++++++++++++++ .../worldState/1999_spring_days.json | 195 ++++++++++++++++ .../worldState/1999_summer_days.json | 195 ++++++++++++++++ .../worldState/1999_winter_days.json | 75 ++++++ .../{ => worldState}/worldState.json | 0 7 files changed, 711 insertions(+), 3 deletions(-) create mode 100644 static/fixed_responses/worldState/1999_fall_days.json create mode 100644 static/fixed_responses/worldState/1999_spring_days.json create mode 100644 static/fixed_responses/worldState/1999_summer_days.json create mode 100644 static/fixed_responses/worldState/1999_winter_days.json rename static/fixed_responses/{ => worldState}/worldState.json (100%) diff --git a/src/controllers/dynamic/worldStateController.ts b/src/controllers/dynamic/worldStateController.ts index 8ad722be..4dc8ec09 100644 --- a/src/controllers/dynamic/worldStateController.ts +++ b/src/controllers/dynamic/worldStateController.ts @@ -1,5 +1,9 @@ import { RequestHandler } from "express"; -import staticWorldState from "@/static/fixed_responses/worldState.json"; +import staticWorldState from "@/static/fixed_responses/worldState/worldState.json"; +import static1999FallDays from "@/static/fixed_responses/worldState/1999_fall_days.json"; +import static1999SpringDays from "@/static/fixed_responses/worldState/1999_spring_days.json"; +import static1999SummerDays from "@/static/fixed_responses/worldState/1999_summer_days.json"; +import static1999WinterDays from "@/static/fixed_responses/worldState/1999_winter_days.json"; import { buildConfig } from "@/src/services/buildConfigService"; import { IMongoDate, IOid } from "@/src/types/commonTypes"; @@ -14,7 +18,10 @@ export const worldStateController: RequestHandler = (req, res) => { ...staticWorldState }; - const week = Math.trunc(new Date().getTime() / 604800000); + const day = Math.trunc(new Date().getTime() / 86400000); + const week = Math.trunc((day + 4) / 7); // week begins on mondays + const weekStart = week * 604800000; + const weekEnd = weekStart + 604800000; // Elite Sanctuary Onslaught cycling every week worldState.NodeOverrides.find(x => x.Node == "SolNode802")!.Seed = week; // unfaithful @@ -79,6 +86,17 @@ export const worldStateController: RequestHandler = (req, res) => { ][week % 8] }); + // 1999 Calendar Season cycling every week + worldState.KnownCalendarSeasons[0].Activation = { $date: { $numberLong: weekStart.toString() } }; + worldState.KnownCalendarSeasons[0].Expiry = { $date: { $numberLong: weekEnd.toString() } }; + worldState.KnownCalendarSeasons[0].Season = ["CST_WINTER", "CST_SPRING", "CST_SUMMER", "CST_FALL"][week % 4]; + worldState.KnownCalendarSeasons[0].Days = [ + static1999WinterDays, + static1999SpringDays, + static1999SummerDays, + static1999FallDays + ][week % 4]; + res.json(worldState); }; @@ -88,6 +106,7 @@ interface IWorldState { SyndicateMissions: ISyndicateMission[]; NodeOverrides: INodeOverride[]; EndlessXpChoices: IEndlessXpChoice[]; + KnownCalendarSeasons: ICalendarSeason[]; } interface ISyndicateMission { @@ -115,3 +134,12 @@ interface IEndlessXpChoice { Category: string; Choices: string[]; } + +interface ICalendarSeason { + Activation: IMongoDate; + Expiry: IMongoDate; + Season: string; // "CST_UNDEFINED" | "CST_WINTER" | "CST_SPRING" | "CST_SUMMER" | "CST_FALL" + Days: { + day: number; + }[]; +} diff --git a/src/services/purchaseService.ts b/src/services/purchaseService.ts index 6e8a38f6..2d2e4beb 100644 --- a/src/services/purchaseService.ts +++ b/src/services/purchaseService.ts @@ -14,7 +14,7 @@ import { getVendorManifestByOid } from "@/src/services/serversideVendorsService" import { IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes"; import { IPurchaseRequest, IPurchaseResponse, SlotPurchase, IInventoryChanges } from "@/src/types/purchaseTypes"; import { logger } from "@/src/utils/logger"; -import worldState from "@/static/fixed_responses/worldState.json"; +import worldState from "@/static/fixed_responses/worldState/worldState.json"; import { ExportBoosterPacks, ExportBundles, diff --git a/static/fixed_responses/worldState/1999_fall_days.json b/static/fixed_responses/worldState/1999_fall_days.json new file mode 100644 index 00000000..048bc589 --- /dev/null +++ b/static/fixed_responses/worldState/1999_fall_days.json @@ -0,0 +1,215 @@ +[ + { + "day": 276, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillScaldraEnemiesEasy" + } + ] + }, + { + "day": 283, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/CompanionDamage" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/GasChanceToPrimaryAndSecondary" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/ElectricStatusDamageAndChance" + } + ] + }, + { + "day": 289, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/WeaponUtilityUnlocker" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarMajorArtifactPack" + } + ] + }, + { + "day": 295, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillEnemiesWithMeleeEasy" + } + ] + }, + { + "day": 302, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/WeaponSecondaryArcaneUnlocker" + } + ] + }, + { + "day": 305, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillEximusMedium" + } + ] + }, + { + "day": 306, + "events": [ + { + "type": "CET_PLOT", + "dialogueName": "\/Lotus\/Types\/Gameplay\/1999Wf\/Dialogue\/EleanorDialogue_rom.dialogue", + "dialogueConvo": "EleanorBirthdayConvo" + } + ] + }, + { + "day": 307, + "events": [ + { + "type": "CET_PLOT", + "dialogueName": "\/Lotus\/Types\/Gameplay\/1999Wf\/Dialogue\/ArthurDialogue_rom.dialogue", + "dialogueConvo": "ArthurBirthdayConvo" + } + ] + }, + { + "day": 309, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/Forma" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Gameplay\/NarmerSorties\/ArchonCrystalBoreal" + } + ] + }, + { + "day": 314, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/PowerStrengthAndEfficiencyPerEnergySpent" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/ElectricalDamageOnBulletJump" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/MeleeSlideFowardMomentumOnEnemyHit" + } + ] + }, + { + "day": 322, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillEnemiesMedium" + } + ] + }, + { + "day": 328, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/WeaponSecondaryArcaneUnlocker" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Packages\/Calendar\/CalendarKuvaBundleSmall" + } + ] + }, + { + "day": 337, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillScaldraEnemiesWithAbilitiesHard" + } + ] + }, + { + "day": 338, + "events": [ + { + "type": "CET_PLOT", + "dialogueName": "\/Lotus\/Types\/Gameplay\/1999Wf\/Dialogue\/QuincyDialogue_rom.dialogue", + "dialogueConvo": "QuincyBirthdayConvo" + } + ] + }, + { + "day": 340, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/MeleeCritChance" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/RadiationProcOnTakeDamage" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/AbilityStrength" + } + ] + }, + { + "day": 343, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/WeaponPrimaryArcaneUnlocker" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/FormaAura" + } + ] + }, + { + "day": 352, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillTankHard" + } + ] + }, + { + "day": 364, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarMajorArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Boosters\/ModDropChanceBooster3DayStoreItem" + } + ] + } +] diff --git a/static/fixed_responses/worldState/1999_spring_days.json b/static/fixed_responses/worldState/1999_spring_days.json new file mode 100644 index 00000000..988e3244 --- /dev/null +++ b/static/fixed_responses/worldState/1999_spring_days.json @@ -0,0 +1,195 @@ +[ + { + "day": 100, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillScaldraEnemiesEasy" + } + ] + }, + { + "day": 101, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/EnergyOrbToAbilityRange" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/ElectricStatusDamageAndChance" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/EnergyRestoration" + } + ] + }, + { + "day": 102, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Gameplay\/NarmerSorties\/ArchonCrystalBoreal" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarMajorArtifactPack" + } + ] + }, + { + "day": 106, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillTechrotEnemiesEasy" + } + ] + }, + { + "day": 107, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Packages\/Calendar\/CalendarKuvaBundleSmall" + } + ] + }, + { + "day": 122, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillTechrotEnemiesWithMeleeMedium" + } + ] + }, + { + "day": 127, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/Forma" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Packages\/Calendar\/CalendarVosforPack" + } + ] + }, + { + "day": 129, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillEnemiesWithAbilitiesMedium" + } + ] + }, + { + "day": 135, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/WeaponMeleeArcaneUnlocker" + } + ] + }, + { + "day": 142, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/BlastEveryXShots" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/MagnitizeWithinRangeEveryXCasts" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/GenerateOmniOrbsOnWeakKill" + } + ] + }, + { + "day": 143, + "events": [ + { + "type": "CET_PLOT", + "dialogueName": "\/Lotus\/Types\/Gameplay\/1999Wf\/Dialogue\/JabirDialogue_rom.dialogue", + "dialogueConvo": "AmirBirthdayConvo" + } + ] + }, + { + "day": 161, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillScaldraEnemiesWithAbilitiesHard" + } + ] + }, + { + "day": 165, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/Forma" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Boosters\/ModDropChanceBooster3DayStoreItem" + } + ] + }, + { + "day": 169, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarDestroyPropsHard" + } + ] + }, + { + "day": 171, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/GasChanceToPrimaryAndSecondary" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/AbilityStrength" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/MeleeCritChance" + } + ] + }, + { + "day": 176, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Recipes\/Components\/WeaponUtilityUnlockerBlueprint" + } + ] + } +] diff --git a/static/fixed_responses/worldState/1999_summer_days.json b/static/fixed_responses/worldState/1999_summer_days.json new file mode 100644 index 00000000..5c128516 --- /dev/null +++ b/static/fixed_responses/worldState/1999_summer_days.json @@ -0,0 +1,195 @@ +[ + { + "day": 186, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillScaldraEnemiesEasy" + } + ] + }, + { + "day": 191, + "events": [ + { + "type": "CET_PLOT", + "dialogueName": "\/Lotus\/Types\/Gameplay\/1999Wf\/Dialogue\/AoiDialogue_rom.dialogue", + "dialogueConvo": "AoiBirthdayConvo" + } + ] + }, + { + "day": 193, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Gameplay\/NarmerSorties\/ArchonCrystalAmar" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarMajorArtifactPack" + } + ] + }, + { + "day": 197, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/MeleeAttackSpeed" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/AbilityStrength" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/CompanionDamage" + } + ] + }, + { + "day": 199, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillScaldraEnemiesWithMeleeMedium" + } + ] + }, + { + "day": 210, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Upgrades\/Mods\/FusionBundles\/CircuitSilverSteelPathFusionBundle" + } + ] + }, + { + "day": 215, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillTechrotEnemiesWithMeleeEasy" + } + ] + }, + { + "day": 228, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Recipes\/Components\/WeaponUtilityUnlockerBlueprint" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarRivenPack" + } + ] + }, + { + "day": 236, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarDestroyPropsMedium" + } + ] + }, + { + "day": 237, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Packages\/Calendar\/CalendarKuvaBundleLarge" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarMajorArtifactPack" + } + ] + }, + { + "day": 240, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/RadialJavelinOnHeavy" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/SharedFreeAbilityEveryXCasts" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/CompanionsRadiationChance" + } + ] + }, + { + "day": 245, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillEnemiesWithAbilitiesHard" + } + ] + }, + { + "day": 250, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/Types\/StoreItems\/Boosters\/AffinityBooster3DayStoreItem" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Recipes\/Components\/OrokinReactorBlueprint" + } + ] + }, + { + "day": 254, + "events": [ + { + "type": "CET_CHALLENGE", + "challenge": "\/Lotus\/Types\/Challenges\/Calendar1999\/CalendarKillTankHard" + } + ] + }, + { + "day": 267, + "events": [ + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/BoosterPacks\/CalendarArtifactPack" + }, + { + "type": "CET_REWARD", + "reward": "\/Lotus\/StoreItems\/Types\/Items\/MiscItems\/WeaponSecondaryArcaneUnlocker" + } + ] + }, + { + "day": 270, + "events": [ + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/EnergyOrbToAbilityRange" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/PunchToPrimary" + }, + { + "type": "CET_UPGRADE", + "upgrade": "\/Lotus\/Upgrades\/Calendar\/OvershieldCap" + } + ] + } +] diff --git a/static/fixed_responses/worldState/1999_winter_days.json b/static/fixed_responses/worldState/1999_winter_days.json new file mode 100644 index 00000000..700866d3 --- /dev/null +++ b/static/fixed_responses/worldState/1999_winter_days.json @@ -0,0 +1,75 @@ +[ + { "day": 6, "events": [{ "type": "CET_CHALLENGE", "challenge": "/Lotus/Types/Challenges/Calendar1999/CalendarKillEximusEasy" }] }, + { + "day": 15, + "events": [ + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/MagazineCapacity" }, + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/Armor" }, + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/EnergyRestoration" } + ] + }, + { "day": 21, "events": [{ "type": "CET_CHALLENGE", "challenge": "/Lotus/Types/Challenges/Calendar1999/CalendarKillScaldraEnemiesEasy" }] }, + { + "day": 25, + "events": [ + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/BoosterPacks/CalendarMajorArtifactPack" }, + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/Gameplay/NarmerSorties/ArchonCrystalGreen" } + ] + }, + { + "day": 31, + "events": [ + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/Recipes/Components/WeaponUtilityUnlockerBlueprint" }, + { "type": "CET_REWARD", "reward": "/Lotus/Types/StoreItems/Packages/Calendar/CalendarKuvaBundleSmall" } + ] + }, + { "day": 43, "events": [{ "type": "CET_CHALLENGE", "challenge": "/Lotus/Types/Challenges/Calendar1999/CalendarKillEnemiesWithAbilitiesMedium" }] }, + { "day": 45, "events": [{ "type": "CET_PLOT", "dialogueName": "/Lotus/Types/Gameplay/1999Wf/Dialogue/LettieDialogue_rom.dialogue", "dialogueConvo": "LettieBirthdayConvo" }] }, + { + "day": 47, + "events": [ + { "type": "CET_REWARD", "reward": "/Lotus/Types/StoreItems/Boosters/AffinityBooster3DayStoreItem" }, + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/BoosterPacks/CalendarMajorArtifactPack" } + ] + }, + { "day": 48, "events": [{ "type": "CET_CHALLENGE", "challenge": "/Lotus/Types/Challenges/Calendar1999/CalendarKillScaldraEnemiesWithMeleeMedium" }] }, + { + "day": 54, + "events": [ + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/CompanionsBuffNearbyPlayer" }, + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/OrbsDuplicateOnPickup" }, + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/FinisherChancePerComboMultiplier" } + ] + }, + { + "day": 56, + "events": [ + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/BoosterPacks/CalendarArtifactPack" }, + { "type": "CET_REWARD", "reward": "/Lotus/Types/StoreItems/Packages/Calendar/CalendarKuvaBundleSmall" } + ] + }, + { "day": 71, "events": [{ "type": "CET_CHALLENGE", "challenge": "/Lotus/Types/Challenges/Calendar1999/CalendarKillTechrotEnemiesHard" }] }, + { + "day": 77, + "events": [ + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/Items/MiscItems/WeaponSecondaryArcaneUnlocker" }, + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Upgrades/Mods/FusionBundles/CircuitSilverSteelPathFusionBundle" } + ] + }, + { "day": 80, "events": [{ "type": "CET_CHALLENGE", "challenge": "/Lotus/Types/Challenges/Calendar1999/CalendarDestroyPropsMedium" }] }, + { + "day": 83, + "events": [ + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/Recipes/Components/OrokinReactorBlueprint" }, + { "type": "CET_REWARD", "reward": "/Lotus/StoreItems/Types/Items/MiscItems/WeaponUtilityUnlocker" } + ] + }, + { + "day": 87, + "events": [ + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/EnergyOrbToAbilityRange" }, + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/MeleeAttackSpeed" }, + { "type": "CET_UPGRADE", "upgrade": "/Lotus/Upgrades/Calendar/CompanionDamage" } + ] + } +] diff --git a/static/fixed_responses/worldState.json b/static/fixed_responses/worldState/worldState.json similarity index 100% rename from static/fixed_responses/worldState.json rename to static/fixed_responses/worldState/worldState.json