From c1bf69b144d9ff162c5b47ccd3a7a9de58d73d9d Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:37:32 +0200 Subject: [PATCH] fix: ensure helminth shard operations don't produce a null shard --- src/controllers/api/infestedFoundryController.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/controllers/api/infestedFoundryController.ts b/src/controllers/api/infestedFoundryController.ts index 4cc21061..495b4d8b 100644 --- a/src/controllers/api/infestedFoundryController.ts +++ b/src/controllers/api/infestedFoundryController.ts @@ -30,8 +30,9 @@ export const infestedFoundryController: RequestHandler = async (req, res) => { const request = getJSONfromString(String(req.body)); const inventory = await getInventory(account._id.toString()); const suit = inventory.Suits.id(request.SuitId.$oid)!; - if (!suit.ArchonCrystalUpgrades || suit.ArchonCrystalUpgrades.length != 5) { - suit.ArchonCrystalUpgrades = [{}, {}, {}, {}, {}]; + suit.ArchonCrystalUpgrades ??= []; + while (suit.ArchonCrystalUpgrades.length < request.Slot) { + suit.ArchonCrystalUpgrades.push({}); } suit.ArchonCrystalUpgrades[request.Slot] = { UpgradeType: request.UpgradeType, @@ -92,7 +93,8 @@ export const infestedFoundryController: RequestHandler = async (req, res) => { } // remove from suit - suit.ArchonCrystalUpgrades![request.Slot] = {}; + suit.ArchonCrystalUpgrades![request.Slot].UpgradeType = undefined; + suit.ArchonCrystalUpgrades![request.Slot].Color = undefined; await inventory.save();