two-slot-extended-mags/types/services/RagfairTaxService.d.ts

32 lines
2.0 KiB
TypeScript
Raw Normal View History

2024-04-03 20:15:11 +11:00
import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
import { IPmcData } from "@spt-aki/models/eft/common/IPmcData";
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem";
import { IStorePlayerOfferTaxAmountRequestData } from "@spt-aki/models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { RagfairPriceService } from "@spt-aki/services/RagfairPriceService";
2023-10-09 20:21:00 +11:00
export declare class RagfairTaxService {
2023-06-11 15:10:34 +10:00
protected logger: ILogger;
protected databaseServer: DatabaseServer;
protected ragfairPriceService: RagfairPriceService;
protected itemHelper: ItemHelper;
2023-10-09 20:21:00 +11:00
protected playerOfferTaxCache: Record<string, IStorePlayerOfferTaxAmountRequestData>;
2023-06-11 15:10:34 +10:00
constructor(logger: ILogger, databaseServer: DatabaseServer, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper);
2023-10-09 20:21:00 +11:00
storeClientOfferTaxValue(sessionId: string, offer: IStorePlayerOfferTaxAmountRequestData): void;
clearStoredOfferTaxById(offerIdToRemove: string): void;
getStoredClientOfferTaxValueById(offerIdToGet: string): IStorePlayerOfferTaxAmountRequestData;
2024-04-03 20:15:11 +11:00
/**
// This method, along with calculateItemWorth, is trying to mirror the client-side code found in the method "CalculateTaxPrice".
// It's structured to resemble the client-side code as closely as possible - avoid making any big structure changes if it's not necessary.
* @param item Item being sold on flea
* @param pmcData player profile
* @param requirementsValue
* @param offerItemCount Number of offers being created
* @param sellInOnePiece
* @returns Tax in roubles
*/
2023-06-11 15:10:34 +10:00
calculateTax(item: Item, pmcData: IPmcData, requirementsValue: number, offerItemCount: number, sellInOnePiece: boolean): number;
protected calculateItemWorth(item: Item, itemTemplate: ITemplateItem, itemCount: number, pmcData: IPmcData, isRootItem?: boolean): number;
}