From 4074e9f0a7e6ad91ea37f316effc0007f50b1d52 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 16 Apr 2025 01:11:14 +0200 Subject: [PATCH] differentiate between sigma and house versions --- package-lock.json | 8 ++++---- package.json | 2 +- src/services/inventoryService.ts | 27 ++++++++++++++++++--------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/package-lock.json b/package-lock.json index a858a5d0..e84d1c57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "morgan": "^1.10.0", "ncp": "^2.0.0", "typescript": "^5.5", - "warframe-public-export-plus": "^0.5.54", + "warframe-public-export-plus": "^0.5.55", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0" @@ -3789,9 +3789,9 @@ } }, "node_modules/warframe-public-export-plus": { - "version": "0.5.54", - "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.54.tgz", - "integrity": "sha512-27r6qLErr3P8UVDiEzhDAs/BjdAS3vI2CQ58jSI+LClDlj6QL+y1jQe8va/npl3Ft2K8PywLkZ8Yso0j9YzvOA==" + "version": "0.5.55", + "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.55.tgz", + "integrity": "sha512-Gnd4FCBVuxm2xWGfu8xxxqPIPSnnTqiEWlpP3rsFpVlQs09RNFnW2PEX9rCZt0f3SvHBv5ssDDrFlzgBHS1yrA==" }, "node_modules/warframe-riven-info": { "version": "0.1.2", diff --git a/package.json b/package.json index 008d5a18..58b231d3 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "morgan": "^1.10.0", "ncp": "^2.0.0", "typescript": "^5.5", - "warframe-public-export-plus": "^0.5.54", + "warframe-public-export-plus": "^0.5.55", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0" diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index a0047c27..d73a4bf9 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -408,15 +408,25 @@ export const addItem = async ( const meta = ExportCustoms[typeName]; let inventoryChanges: IInventoryChanges; if (meta.productCategory == "CrewShipWeaponSkins") { - // Add to raw salvage. It needs to be identified to get stats and then be moved into the CrewShipWeaponSkins proper. - const rawSalvageChanges = [ - { - ItemType: typeName, - ItemCount: quantity + if (meta.subroutines || meta.randomisedUpgrades) { + // House versions need to be identified to get stats so put them into raw salvage first. + const rawSalvageChanges = [ + { + ItemType: typeName, + ItemCount: quantity + } + ]; + addCrewShipRawSalvage(inventory, rawSalvageChanges); + inventoryChanges = { CrewShipRawSalvage: rawSalvageChanges }; + } else { + // Sigma versions can be added directly. + if (quantity != 1) { + throw new Error( + `unexpected acquisition quantity of CrewShipWeaponSkin: got ${quantity}, expected 1` + ); } - ]; - addCrewShipRawSalvage(inventory, rawSalvageChanges); - inventoryChanges = { CrewShipRawSalvage: rawSalvageChanges }; + inventoryChanges = addCrewShipWeaponSkin(inventory, typeName); + } } else { if (quantity != 1) { throw new Error(`unexpected acquisition quantity of WeaponSkins: got ${quantity}, expected 1`); @@ -1094,7 +1104,6 @@ export const addSkin = ( return inventoryChanges; }; -// eslint-disable-next-line @typescript-eslint/no-unused-vars const addCrewShipWeaponSkin = ( inventory: TInventoryDatabaseDocument, typeName: string,