diff --git a/package-lock.json b/package-lock.json index 84daa390..95d56a18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "morgan": "^1.10.0", "ncp": "^2.0.0", "undici": "^7.10.0", - "warframe-public-export-plus": "^0.5.89", + "warframe-public-export-plus": "^0.5.90", "warframe-riven-info": "^0.1.2", "winston": "^3.17.0", "winston-daily-rotate-file": "^5.0.0", @@ -5532,9 +5532,9 @@ } }, "node_modules/warframe-public-export-plus": { - "version": "0.5.89", - "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.89.tgz", - "integrity": "sha512-a6dM1MirzofSsuv3LlRQHFLSSIGKPVSN93dcXSDmA3njsWqOGjJJdWyXqcyxxYw8rEB8CNowSHst/MUmKvKlRg==" + "version": "0.5.90", + "resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.90.tgz", + "integrity": "sha512-PzYFJ+qOZawPOVx9+hGlOosGdqSJMSRL6c1z3CCXMiY5SEHUs7p9JIMjkqnvg1g7vflVWnyG6E5/2gYkQs0d7w==" }, "node_modules/warframe-riven-info": { "version": "0.1.2", diff --git a/package.json b/package.json index fadc699f..436673a6 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "morgan": "^1.10.0", "ncp": "^2.0.0", "undici": "^7.10.0", - "warframe-public-export-plus": "^0.5.89", + "warframe-public-export-plus": "^0.5.90", "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 560dbc20..b2125ba1 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -2376,7 +2376,14 @@ const collectSkins = (skins: string[], weaponMap: Map, itemsToAd for (const skinId of skins) { if (skinId.startsWith("ca70ca70ca70ca70")) { const typeName = skinLookupTable[parseInt(skinId.slice(16), 16)]; - if (!weaponMap.has(typeName)) itemsToAdd.add(typeName); + if (!weaponMap.has(typeName)) { + const { requirement } = ExportCustoms[typeName]; + if (typeof requirement == "string") { + itemsToAdd.add(requirement); + } else { + itemsToAdd.add(typeName); + } + } } } }; @@ -2385,8 +2392,14 @@ const replaceSkinIds = (skins: string[], weaponMap: Map): void = for (let i = 0; i < skins.length; i++) { const skinId = skins[i]; if (skinId.startsWith("ca70ca70ca70ca70")) { - const inventoryId = weaponMap.get(skinLookupTable[parseInt(skinId.slice(16), 16)]); - if (inventoryId) skins[i] = inventoryId; + const typeName = skinLookupTable[parseInt(skinId.slice(16), 16)]; + const inventoryId = weaponMap.get(typeName); + if (inventoryId) { + skins[i] = inventoryId; + } else if (typeName in ExportCustoms) { + const { requirement } = ExportCustoms[typeName]; + skins[i] = typeof requirement == "string" ? typeName : ""; + } } } };