Skip to main content
The Deno 2 Release Candidate is here
Learn more
class PaymentService
import { PaymentService } from "https://deno.land/x/sptaki@1.2.0/services/PaymentService.d.ts";

Constructors

new
PaymentService(
logger: ILogger,
hashUtil: HashUtil,
httpResponse: HttpResponseUtil,
databaseServer: DatabaseServer,
handbookHelper: HandbookHelper,
traderHelper: TraderHelper,
itemHelper: ItemHelper,
inventoryHelper: InventoryHelper,
localisationService: LocalisationService,
paymentHelper: PaymentHelper,
)

Properties

protected
databaseServer: DatabaseServer
protected
handbookHelper: HandbookHelper
protected
hashUtil: HashUtil
protected
httpResponse: HttpResponseUtil
protected
inventoryHelper: InventoryHelper
protected
itemHelper: ItemHelper
protected
localisationService: LocalisationService
protected
logger: ILogger
protected
paymentHelper: PaymentHelper
protected
traderHelper: TraderHelper

Methods

protected
getSortedMoneyItemsInInventory(
pmcData: IPmcData,
currencyTpl: string,
playerStashId: string,
): Item[]

Get all money stacks in inventory and prioritise items in stash

protected
getTraderItemHandbookPriceRouble(traderAssortId: string, traderId: string): number

Get the item price of a specific traders assort

protected
isInStash(
itemId: string,
inventoryItems: Item[],
playerStashId: string,
): boolean

Recursivly check items parents to see if it is inside the players inventory, not stash

protected
prioritiseStashSort(
a: Item,
b: Item,
inventoryItems: Item[],
playerStashId: string,
): number

Prioritise player stash first over player inventory Post-raid healing would often take money out of the players pockets/secure container

addPaymentToOutput(
pmcData: IPmcData,
currencyTpl: string,
amountToPay: number,
sessionID: string,
): void

Remove currency from player stash/inventory and update client object with changes

giveProfileMoney(
pmcData: IPmcData,
amountToSend: number,
sessionID: string,
): void

Receive money back after selling

payMoney(
pmcData: IPmcData,
sessionID: string,
): void

Take money and insert items into return to server request