diff --git a/project/src/controllers/TradeController.ts b/project/src/controllers/TradeController.ts index 597baebb..a532fe4e 100644 --- a/project/src/controllers/TradeController.ts +++ b/project/src/controllers/TradeController.ts @@ -3,6 +3,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper"; import { ProfileHelper } from "@spt/helpers/ProfileHelper"; import { TradeHelper } from "@spt/helpers/TradeHelper"; import { TraderHelper } from "@spt/helpers/TraderHelper"; +import { RagfairOfferHelper } from "@spt/helpers/RagfairOfferHelper"; import { IPmcData } from "@spt/models/eft/common/IPmcData"; import { Item } from "@spt/models/eft/common/tables/IItem"; import { ITraderBase } from "@spt/models/eft/common/tables/ITrader"; @@ -53,6 +54,7 @@ export class TradeController @inject("HashUtil") protected hashUtil: HashUtil, @inject("ItemHelper") protected itemHelper: ItemHelper, @inject("ProfileHelper") protected profileHelper: ProfileHelper, + @inject("ragfairOfferHelper") protected ragfairOfferHelper: RagfairOfferHelper, @inject("TraderHelper") protected traderHelper: TraderHelper, @inject("RagfairServer") protected ragfairServer: RagfairServer, @inject("HttpResponseUtil") protected httpResponse: HttpResponseUtil, @@ -231,6 +233,19 @@ export class TradeController { return; } + //resolve when a profile buy another profile's offer + const OfferID = fleaOffer._id + const OfferOwnerID = fleaOffer.user?.id + const OfferBuyCount = requestOffer.count + //resolve offer + if(this.profileHelper.getFullProfile(OfferOwnerID)!=null){ + if(this.profileHelper.getFullProfile(OfferOwnerID).characters.pmc.RagfairInfo.offers.length>0){ + if(this.profileHelper.getFullProfile(OfferOwnerID).characters.pmc.RagfairInfo.offers.some(offer=>offer._id == OfferID)){ + this.ragfairOfferHelper.completeOffer(OfferOwnerID, fleaOffer, OfferBuyCount) + return; + } + } + } // Remove/lower stack count of item purchased from flea offer this.ragfairServer.removeOfferStack(fleaOffer._id, requestOffer.count); diff --git a/project/src/helpers/RagfairOfferHelper.ts b/project/src/helpers/RagfairOfferHelper.ts index 8ad958c2..d6846900 100644 --- a/project/src/helpers/RagfairOfferHelper.ts +++ b/project/src/helpers/RagfairOfferHelper.ts @@ -441,7 +441,7 @@ export class RagfairOfferHelper * @param boughtAmount Amount item was purchased for * @returns IItemEventRouterResponse */ - protected completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse + public completeOffer(sessionID: string, offer: IRagfairOffer, boughtAmount: number): IItemEventRouterResponse { const itemTpl = offer.items[0]._tpl; let paymentItemsToSendToPlayer: Item[] = [];