Server/project/src/models/spt/config/ITraderConfig.ts

47 lines
1.3 KiB
TypeScript
Raw Normal View History

2023-03-03 16:23:46 +01:00
import { MinMax } from "../../../models/common/MinMax";
import { IBaseConfig } from "./IBaseConfig";
export interface ITraderConfig extends IBaseConfig
{
kind: "aki-trader"
updateTime: UpdateTime[]
purchasesAreFoundInRaid: boolean;
updateTimeDefault: number
traderPriceMultipler: number
2023-07-18 16:45:57 +02:00
/** Keep track of purchased trader-limited items beyond server restarts to prevent server-restart item scumming */
2023-03-03 16:23:46 +01:00
persistPurchaseDataInProfile: boolean
fence: FenceConfig
}
export interface UpdateTime
{
traderId: string
seconds: number
}
export interface FenceConfig
{
discountOptions: DiscountOptions
partialRefreshTimeSeconds: number
partialRefreshChangePercent: number
assortSize: number
maxPresetsPercent: number
itemPriceMult: number
presetPriceMult: number
armorMaxDurabilityPercentMinMax: MinMax
presetMaxDurabilityPercentMinMax: MinMax
/** Key: item tpl */
itemStackSizeOverrideMinMax: Record<string, MinMax>
2023-03-03 16:23:46 +01:00
itemTypeLimits: Record<string, number>
regenerateAssortsOnRefresh: boolean
/** Block seasonal items from appearing when season is inactive */
blacklistSeasonalItems: boolean;
2023-03-03 16:23:46 +01:00
blacklist: string[]
}
export interface DiscountOptions
{
assortSize: number
itemPriceMult: number
presetPriceMult: number
}