From 3af15881f5fc3db6b28981a6509732f888c0479e Mon Sep 17 00:00:00 2001 From: Sainan Date: Sun, 9 Mar 2025 03:41:12 -0700 Subject: [PATCH] fix: failure to remove shard installed via webui (#1129) Fixes #1128 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1129 --- .../api/infestedFoundryController.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/controllers/api/infestedFoundryController.ts b/src/controllers/api/infestedFoundryController.ts index acce1508..1a0ac5f7 100644 --- a/src/controllers/api/infestedFoundryController.ts +++ b/src/controllers/api/infestedFoundryController.ts @@ -57,17 +57,18 @@ export const infestedFoundryController: RequestHandler = async (req, res) => { const inventory = await getInventory(accountId); const suit = inventory.Suits.find(suit => suit._id.toString() == request.SuitId.$oid)!; - // refund shard - const shard = Object.entries(colorToShard).find( - ([color]) => color == suit.ArchonCrystalUpgrades![request.Slot].Color - )![1]; - const miscItemChanges = [ - { + const miscItemChanges: IMiscItem[] = []; + if (suit.ArchonCrystalUpgrades![request.Slot].Color) { + // refund shard + const shard = Object.entries(colorToShard).find( + ([color]) => color == suit.ArchonCrystalUpgrades![request.Slot].Color + )![1]; + miscItemChanges.push({ ItemType: shard, ItemCount: 1 - } - ]; - addMiscItems(inventory, miscItemChanges); + }); + addMiscItems(inventory, miscItemChanges); + } // remove from suit suit.ArchonCrystalUpgrades![request.Slot] = {};