mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-13 04:30:44 -05:00
Now when a profile create a new offer and another profile buy it, it can work correctly(For example profile A create a offer and profile B buy this offer, now A will receive money from profile B) and set RagfairOfferHelper.completeOffer to public because TradeHelper now use it to resolve trade between 2 profiles on ragfair Reviewed-on: SPT/Server#382 Co-authored-by: HiddenCirno <2301697863@qq.com> Co-committed-by: HiddenCirno <2301697863@qq.com> (cherry picked from commit f555c24709bd4ed9b294c1e008ce3229be4190e1)
This commit is contained in:
parent
8ff9f6f945
commit
4144fccbd1
@ -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);
|
||||
|
@ -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[] = [];
|
||||
|
Loading…
x
Reference in New Issue
Block a user