From b37900dbc48fdb011bd995eb3d2c11d4a33da840 Mon Sep 17 00:00:00 2001 From: Chomp Date: Fri, 21 Feb 2025 12:48:55 +0000 Subject: [PATCH] Fixed offer quantity only updating when trader offer had buy restrictions --- project/src/helpers/TradeHelper.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/project/src/helpers/TradeHelper.ts b/project/src/helpers/TradeHelper.ts index a37e638a5..12097fb9d 100644 --- a/project/src/helpers/TradeHelper.ts +++ b/project/src/helpers/TradeHelper.ts @@ -78,29 +78,33 @@ export class TradeHelper { // We store ragfair offerid in buyRequestData.item_id const offerWithItem = allOffers.find((x) => x._id === buyRequestData.item_id); - const itemPurchased = offerWithItem.items[0]; + const rootItemPurchased = offerWithItem.items[0]; + + // Update offer quantity + offerWithItem.quantity -= buyCount; // Ensure purchase does not exceed trader item limit - const assortHasBuyRestrictions = this.itemHelper.hasBuyRestrictions(itemPurchased); + const assortHasBuyRestrictions = this.itemHelper.hasBuyRestrictions(rootItemPurchased); if (assortHasBuyRestrictions) { this.checkPurchaseIsWithinTraderItemLimit( sessionID, pmcData, buyRequestData.tid, - itemPurchased, + rootItemPurchased, buyRequestData.item_id, buyCount, ); - // Decrement trader item count + // Decrement trader current purchase count in profile const itemPurchaseDetails = { items: [{ itemId: buyRequestData.item_id, count: buyCount }], traderId: buyRequestData.tid, }; - this.traderHelper.addTraderPurchasesToPlayerProfile(sessionID, itemPurchaseDetails, itemPurchased); - - // Update offer quantity - offerWithItem.quantity -= buyCount; + this.traderHelper.addTraderPurchasesToPlayerProfile( + sessionID, + itemPurchaseDetails, + rootItemPurchased, + ); } };