fix: ignore purchaseQuantity for webui add items #1944

Merged
Sainan merged 2 commits from gear-fix into main 2025-05-01 13:54:06 -07:00
2 changed files with 6 additions and 3 deletions

View File

@ -7,7 +7,7 @@ export const addItemsController: RequestHandler = async (req, res) => {
const requests = req.body as IAddItemRequest[];
const inventory = await getInventory(accountId);
for (const request of requests) {
await addItem(inventory, request.ItemType, request.ItemCount, true);
await addItem(inventory, request.ItemType, request.ItemCount, true, undefined, undefined, true);
}
await inventory.save();
res.end();

View File

@ -332,7 +332,8 @@ export const addItem = async (
quantity: number = 1,
premiumPurchase: boolean = false,
seed?: bigint,
targetFingerprint?: string
targetFingerprint?: string,
exactQuantity: boolean = false
): Promise<IInventoryChanges> => {
// Bundles are technically StoreItems but a) they don't have a normal counterpart, and b) they are used in non-StoreItem contexts, e.g. email attachments.
if (typeName in ExportBundles) {
@ -490,7 +491,9 @@ export const addItem = async (
// Multipling by purchase quantity for gear because:
// - The Saya's Vigil scanner message has it as a non-counted attachment.
// - Blueprints for Ancient Protector Specter, Shield Osprey Specter, etc. have num=1 despite giving their purchaseQuantity.
if (!exactQuantity) {
quantity *= ExportGear[typeName].purchaseQuantity ?? 1;
}
const consumablesChanges = [
{
ItemType: typeName,