67 lines
3.3 KiB
TypeScript
67 lines
3.3 KiB
TypeScript
|
import { HandbookHelper } from "../helpers/HandbookHelper";
|
||
|
import { InventoryHelper } from "../helpers/InventoryHelper";
|
||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||
|
import { PaymentHelper } from "../helpers/PaymentHelper";
|
||
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||
|
import { IProcessBuyTradeRequestData } from "../models/eft/trade/IProcessBuyTradeRequestData";
|
||
|
import { IProcessSellTradeRequestData } from "../models/eft/trade/IProcessSellTradeRequestData";
|
||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||
|
export declare class PaymentService {
|
||
|
protected logger: ILogger;
|
||
|
protected httpResponse: HttpResponseUtil;
|
||
|
protected databaseServer: DatabaseServer;
|
||
|
protected handbookHelper: HandbookHelper;
|
||
|
protected traderHelper: TraderHelper;
|
||
|
protected itemHelper: ItemHelper;
|
||
|
protected inventoryHelper: InventoryHelper;
|
||
|
protected paymentHelper: PaymentHelper;
|
||
|
constructor(logger: ILogger, httpResponse: HttpResponseUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, paymentHelper: PaymentHelper);
|
||
|
/**
|
||
|
* Take money and insert items into return to server request
|
||
|
* @param {Object} pmcData
|
||
|
* @param {Object} body
|
||
|
* @param {string} sessionID
|
||
|
* @returns Object
|
||
|
*/
|
||
|
payMoney(pmcData: IPmcData, body: IProcessBuyTradeRequestData, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse;
|
||
|
/**
|
||
|
* Receive money back after selling
|
||
|
* @param {IPmcData} pmcData
|
||
|
* @param {number} amount
|
||
|
* @param {IProcessSellTradeRequestData} body
|
||
|
* @param {IItemEventRouterResponse} output
|
||
|
* @param {string} sessionID
|
||
|
* @returns IItemEventRouterResponse
|
||
|
*/
|
||
|
getMoney(pmcData: IPmcData, amount: number, body: IProcessSellTradeRequestData, output: IItemEventRouterResponse, sessionID: string): IItemEventRouterResponse;
|
||
|
/**
|
||
|
* Recursively checks if the given item is
|
||
|
* inside the stash, that is it has the stash as
|
||
|
* ancestor with slotId=hideout
|
||
|
*/
|
||
|
protected isItemInStash(pmcData: IPmcData, item: Item): boolean;
|
||
|
/**
|
||
|
* Remove currency from player stash/inventory
|
||
|
* @param pmcData Player profile to find and remove currency from
|
||
|
* @param currencyTpl Type of currency to pay
|
||
|
* @param amountToPay money value to pay
|
||
|
* @param sessionID Sessino id
|
||
|
* @param output output object to send to client
|
||
|
* @returns IItemEventRouterResponse
|
||
|
*/
|
||
|
addPaymentToOutput(pmcData: IPmcData, currencyTpl: string, amountToPay: number, sessionID: string, output: IItemEventRouterResponse): IItemEventRouterResponse;
|
||
|
/**
|
||
|
* Prioritise player stash first over player inventory
|
||
|
* Post-raid healing would often take money out of the players pockets/secure container
|
||
|
* @param a Firsat money stack item
|
||
|
* @param b Second money stack item
|
||
|
* @returns sorted item
|
||
|
*/
|
||
|
protected moneySort(a: Item, b: Item): number;
|
||
|
}
|