Skip to content

Commit be80033

Browse files
author
Chomp
committed
Fixed flea offers not reducing quantity after purchase - TODO - consider refactor of how quantity is handled across ragfair code
1 parent aad5b6d commit be80033

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

project/src/controllers/TradeController.ts

+3
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@ export class TradeController {
170170
scheme_items: requestOffer.items,
171171
};
172172

173+
// Reduce flea offer quanity
174+
fleaOffer.quantity -= requestOffer.count;
175+
173176
this.tradeHelper.buyItem(pmcData, buyData, sessionId, this.traderConfig.purchasesAreFoundInRaid, output);
174177
}
175178

project/src/helpers/RagfairOfferHelper.ts

+2
Original file line numberDiff line numberDiff line change
@@ -550,10 +550,12 @@ export class RagfairOfferHelper {
550550
if (offer.sellInOnePiece || boughtAmount === offerStackCount) {
551551
this.deleteOfferById(offerOwnerSessionId, offer._id);
552552
} else {
553+
// Partial purchase
553554
const offerRootItem = offer.items[0];
554555

555556
// Reduce offer root items stack count
556557
offerRootItem.upd.StackObjectsCount -= boughtAmount;
558+
offer.quantity -= boughtAmount;
557559
}
558560

559561
// Assemble payment to send to seller now offer was purchased

project/src/helpers/TradeHelper.ts

+3
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ export class TradeHelper {
9898
traderId: buyRequestData.tid,
9999
};
100100
this.traderHelper.addTraderPurchasesToPlayerProfile(sessionID, itemPurchaseDetails, itemPurchased);
101+
102+
// Update offer quantity
103+
offerWithItem.quantity -= buyCount;
101104
}
102105
};
103106

project/src/services/RagfairOfferService.ts

+1
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ export class RagfairOfferService {
138138
public removeOfferStack(offerId: string, amount: number): void {
139139
const offer = this.ragfairOfferHandler.getOfferById(offerId);
140140
if (offer) {
141+
offer.quantity -= amount;
141142
offer.items[0].upd.StackObjectsCount -= amount;
142143
if (offer.items[0].upd.StackObjectsCount <= 0) {
143144
this.processStaleOffer(offer);

0 commit comments

Comments
 (0)