ScavXpCounts/types/services/RagfairTaxService.d.ts

34 lines
2.1 KiB
TypeScript
Raw Normal View History

2024-11-12 11:51:30 -07:00
import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { IStorePlayerOfferTaxAmountRequestData } from "@spt/models/eft/ragfair/IStorePlayerOfferTaxAmountRequestData";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { DatabaseService } from "@spt/services/DatabaseService";
import { RagfairPriceService } from "@spt/services/RagfairPriceService";
2024-02-23 15:06:00 -07:00
export declare class RagfairTaxService {
protected logger: ILogger;
2024-11-12 11:51:30 -07:00
protected databaseService: DatabaseService;
2024-02-23 15:06:00 -07:00
protected ragfairPriceService: RagfairPriceService;
protected itemHelper: ItemHelper;
2024-11-12 11:51:30 -07:00
protected profileHelper: ProfileHelper;
2024-02-23 15:06:00 -07:00
protected playerOfferTaxCache: Record<string, IStorePlayerOfferTaxAmountRequestData>;
2024-11-12 11:51:30 -07:00
constructor(logger: ILogger, databaseService: DatabaseService, ragfairPriceService: RagfairPriceService, itemHelper: ItemHelper, profileHelper: ProfileHelper);
2024-02-23 15:06:00 -07:00
storeClientOfferTaxValue(sessionId: string, offer: IStorePlayerOfferTaxAmountRequestData): void;
clearStoredOfferTaxById(offerIdToRemove: string): void;
getStoredClientOfferTaxValueById(offerIdToGet: string): IStorePlayerOfferTaxAmountRequestData;
2024-04-19 21:23:52 -06: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
*/
2024-02-23 15:06:00 -07: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;
}