2023-10-19 19:21:17 +02:00
|
|
|
import { MinMax } from "@spt-aki/models/common/MinMax";
|
|
|
|
import { IBaseConfig } from "@spt-aki/models/spt/config/IBaseConfig";
|
|
|
|
import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
2023-03-03 16:23:46 +01:00
|
|
|
|
|
|
|
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
|
2023-07-20 13:00:24 +02:00
|
|
|
/** Key: item tpl */
|
|
|
|
itemStackSizeOverrideMinMax: Record<string, MinMax>
|
2023-03-03 16:23:46 +01:00
|
|
|
itemTypeLimits: Record<string, number>
|
|
|
|
regenerateAssortsOnRefresh: boolean
|
2023-10-10 13:03:20 +02:00
|
|
|
/** Max rouble price before item is not listed on flea */
|
|
|
|
itemCategoryRoublePriceLimit: Record<string, number>
|
|
|
|
/** Each slotid with % to be removed prior to listing on fence */
|
|
|
|
presetSlotsToRemoveChancePercent: Record<string, number>
|
2023-07-22 15:16:19 +02:00
|
|
|
/** Block seasonal items from appearing when season is inactive */
|
|
|
|
blacklistSeasonalItems: boolean;
|
2023-10-12 21:04:50 +02:00
|
|
|
blacklist: string[],
|
|
|
|
coopExtractGift: CoopExtractReward
|
|
|
|
}
|
|
|
|
|
|
|
|
export interface CoopExtractReward extends LootRequest
|
|
|
|
{
|
|
|
|
sendGift: boolean
|
|
|
|
messageLocaleIds: string[]
|
|
|
|
giftExpiryHours: number
|
2023-03-03 16:23:46 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface DiscountOptions
|
|
|
|
{
|
|
|
|
assortSize: number
|
|
|
|
itemPriceMult: number
|
|
|
|
presetPriceMult: number
|
|
|
|
}
|