From 952370f4a0cc9eee03a7707ff53b3d1c546e2bcd Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Tue, 15 Apr 2025 20:23:46 +0200 Subject: [PATCH 1/3] fix: put acquired railjack components into the salvage array --- src/services/inventoryService.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index 48657e88..a0047c27 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -408,8 +408,19 @@ export const addItem = async ( const meta = ExportCustoms[typeName]; let inventoryChanges: IInventoryChanges; if (meta.productCategory == "CrewShipWeaponSkins") { - inventoryChanges = addCrewShipWeaponSkin(inventory, typeName); + // 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 + } + ]; + addCrewShipRawSalvage(inventory, rawSalvageChanges); + inventoryChanges = { CrewShipRawSalvage: rawSalvageChanges }; } else { + if (quantity != 1) { + throw new Error(`unexpected acquisition quantity of WeaponSkins: got ${quantity}, expected 1`); + } inventoryChanges = addSkin(inventory, typeName); } if (meta.additionalItems) { @@ -1083,6 +1094,7 @@ export const addSkin = ( return inventoryChanges; }; +// eslint-disable-next-line @typescript-eslint/no-unused-vars const addCrewShipWeaponSkin = ( inventory: TInventoryDatabaseDocument, typeName: string, -- 2.47.2 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 2/3] 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, -- 2.47.2 From 81cb20c0568d79328b4a17f040b02c243a4d8cb0 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 16 Apr 2025 01:14:23 +0200 Subject: [PATCH 3/3] CrewShipWeaponSkins occupy a slot --- src/services/inventoryService.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index d73a4bf9..fe35cff6 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -425,7 +425,10 @@ export const addItem = async ( `unexpected acquisition quantity of CrewShipWeaponSkin: got ${quantity}, expected 1` ); } - inventoryChanges = addCrewShipWeaponSkin(inventory, typeName); + inventoryChanges = { + ...addCrewShipWeaponSkin(inventory, typeName), + ...occupySlot(inventory, InventorySlot.RJ_COMPONENT_AND_ARMAMENTS, premiumPurchase) + }; } } else { if (quantity != 1) { -- 2.47.2