diff --git a/project/src/generators/FenceBaseAssortGenerator.ts b/project/src/generators/FenceBaseAssortGenerator.ts index df1e88b8..45570313 100644 --- a/project/src/generators/FenceBaseAssortGenerator.ts +++ b/project/src/generators/FenceBaseAssortGenerator.ts @@ -13,6 +13,7 @@ import { ILogger } from "../models/spt/utils/ILogger"; import { ConfigServer } from "../servers/ConfigServer"; import { DatabaseServer } from "../servers/DatabaseServer"; import { ItemFilterService } from "../services/ItemFilterService"; +import { SeasonalEventService } from "../services/SeasonalEventService"; @injectable() export class FenceBaseAssortGenerator @@ -25,6 +26,7 @@ export class FenceBaseAssortGenerator @inject("HandbookHelper") protected handbookHelper: HandbookHelper, @inject("ItemHelper") protected itemHelper: ItemHelper, @inject("ItemFilterService") protected itemFilterService: ItemFilterService, + @inject("SeasonalEventService") protected seasonalEventService: SeasonalEventService, @inject("ConfigServer") protected configServer: ConfigServer ) { @@ -36,6 +38,8 @@ export class FenceBaseAssortGenerator */ public generateFenceBaseAssorts(): void { + const blockedSeasonalItems = this.seasonalEventService.getSeasonalEventItemsToBlock(); + const baseFenceAssort = this.databaseServer.getTables().traders[Traders.FENCE].assort; const dbItems = Object.values(this.databaseServer.getTables().templates.items); @@ -68,6 +72,12 @@ export class FenceBaseAssortGenerator } } + // Skip seasonal event items when not in seasonal event + if (blockedSeasonalItems.includes(item._id)) + { + continue; + } + // Create barter scheme object const barterSchemeToAdd: IBarterScheme = { count: Math.round(this.handbookHelper.getTemplatePrice(item._id) * this.traderConfig.fence.itemPriceMult), diff --git a/project/src/services/SeasonalEventService.ts b/project/src/services/SeasonalEventService.ts index cb0f67a2..4f23898d 100644 --- a/project/src/services/SeasonalEventService.ts +++ b/project/src/services/SeasonalEventService.ts @@ -118,7 +118,7 @@ export class SeasonalEventService } /** - * Get an array of seasonal items that should be blocked as seasonal is not active + * Get an array of seasonal items that should be blocked as season is not currently active * @returns Array of tpl strings */ public getSeasonalEventItemsToBlock(): string[]