From d3f9956d0fc1805a4ab5d081a1484cd41bccad14 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Thu, 17 Apr 2025 23:49:16 +0200 Subject: [PATCH 1/2] fix: give defaultUpgrades for infested pets --- .../api/modularWeaponCraftingController.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/controllers/api/modularWeaponCraftingController.ts b/src/controllers/api/modularWeaponCraftingController.ts index bab27b23..5774b33a 100644 --- a/src/controllers/api/modularWeaponCraftingController.ts +++ b/src/controllers/api/modularWeaponCraftingController.ts @@ -17,7 +17,7 @@ import { getDefaultUpgrades } from "@/src/services/itemDataService"; import { modularWeaponTypes } from "@/src/helpers/modularWeaponHelper"; import { IEquipmentDatabase } from "@/src/types/inventoryTypes/commonInventoryTypes"; import { getRandomInt } from "@/src/services/rngService"; -import { ExportSentinels } from "warframe-public-export-plus"; +import { ExportSentinels, IDefaultUpgrade } from "warframe-public-export-plus"; import { Status } from "@/src/types/inventoryTypes/inventoryTypes"; interface IModularCraftRequest { @@ -34,10 +34,8 @@ export const modularWeaponCraftingController: RequestHandler = async (req, res) const category = modularWeaponTypes[data.WeaponType]; const inventory = await getInventory(accountId); - const defaultUpgrades = getDefaultUpgrades(data.Parts); - const defaultOverwrites: Partial = { - Configs: applyDefaultUpgrades(inventory, defaultUpgrades) - }; + let defaultUpgrades: IDefaultUpgrade[] | undefined; + const defaultOverwrites: Partial = {}; const inventoryChanges: IInventoryChanges = {}; if (category == "KubrowPets") { const traits = { @@ -132,7 +130,12 @@ export const modularWeaponCraftingController: RequestHandler = async (req, res) for (const specialItem of ExportSentinels[data.WeaponType].exalted!) { addSpecialItem(inventory, specialItem, inventoryChanges); } + + defaultUpgrades = ExportSentinels[data.WeaponType].defaultUpgrades; + } else { + defaultUpgrades = getDefaultUpgrades(data.Parts); } + defaultOverwrites.Configs = applyDefaultUpgrades(inventory, defaultUpgrades); addEquipment(inventory, category, data.WeaponType, data.Parts, inventoryChanges, defaultOverwrites); combineInventoryChanges(inventoryChanges, occupySlot(inventory, productCategoryToInventoryBin(category)!, false)); if (defaultUpgrades) { -- 2.47.2 From d51137c92033d4016898990861af1fc5c70ed63a Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 18 Apr 2025 00:02:03 +0200 Subject: [PATCH 2/2] only lookup metadata once --- src/controllers/api/modularWeaponCraftingController.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/controllers/api/modularWeaponCraftingController.ts b/src/controllers/api/modularWeaponCraftingController.ts index 5774b33a..8819a2a6 100644 --- a/src/controllers/api/modularWeaponCraftingController.ts +++ b/src/controllers/api/modularWeaponCraftingController.ts @@ -127,11 +127,13 @@ export const modularWeaponCraftingController: RequestHandler = async (req, res) // Only save mutagen & antigen in the ModularParts. defaultOverwrites.ModularParts = [data.Parts[1], data.Parts[2]]; - for (const specialItem of ExportSentinels[data.WeaponType].exalted!) { + const meta = ExportSentinels[data.WeaponType]; + + for (const specialItem of meta.exalted!) { addSpecialItem(inventory, specialItem, inventoryChanges); } - defaultUpgrades = ExportSentinels[data.WeaponType].defaultUpgrades; + defaultUpgrades = meta.defaultUpgrades; } else { defaultUpgrades = getDefaultUpgrades(data.Parts); } -- 2.47.2