Block seasonal items when not inside active season (christmas/halloween so far)
This commit is contained in:
parent
c3a4caa38a
commit
a04113eaa1
@ -13,6 +13,7 @@ import { ILogger } from "../models/spt/utils/ILogger";
|
|||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { ItemFilterService } from "../services/ItemFilterService";
|
import { ItemFilterService } from "../services/ItemFilterService";
|
||||||
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class FenceBaseAssortGenerator
|
export class FenceBaseAssortGenerator
|
||||||
@ -25,6 +26,7 @@ export class FenceBaseAssortGenerator
|
|||||||
@inject("HandbookHelper") protected handbookHelper: HandbookHelper,
|
@inject("HandbookHelper") protected handbookHelper: HandbookHelper,
|
||||||
@inject("ItemHelper") protected itemHelper: ItemHelper,
|
@inject("ItemHelper") protected itemHelper: ItemHelper,
|
||||||
@inject("ItemFilterService") protected itemFilterService: ItemFilterService,
|
@inject("ItemFilterService") protected itemFilterService: ItemFilterService,
|
||||||
|
@inject("SeasonalEventService") protected seasonalEventService: SeasonalEventService,
|
||||||
@inject("ConfigServer") protected configServer: ConfigServer
|
@inject("ConfigServer") protected configServer: ConfigServer
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
@ -36,6 +38,8 @@ export class FenceBaseAssortGenerator
|
|||||||
*/
|
*/
|
||||||
public generateFenceBaseAssorts(): void
|
public generateFenceBaseAssorts(): void
|
||||||
{
|
{
|
||||||
|
const blockedSeasonalItems = this.seasonalEventService.getSeasonalEventItemsToBlock();
|
||||||
|
|
||||||
const baseFenceAssort = this.databaseServer.getTables().traders[Traders.FENCE].assort;
|
const baseFenceAssort = this.databaseServer.getTables().traders[Traders.FENCE].assort;
|
||||||
|
|
||||||
const dbItems = Object.values(this.databaseServer.getTables().templates.items);
|
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
|
// Create barter scheme object
|
||||||
const barterSchemeToAdd: IBarterScheme = {
|
const barterSchemeToAdd: IBarterScheme = {
|
||||||
count: Math.round(this.handbookHelper.getTemplatePrice(item._id) * this.traderConfig.fence.itemPriceMult),
|
count: Math.round(this.handbookHelper.getTemplatePrice(item._id) * this.traderConfig.fence.itemPriceMult),
|
||||||
|
@ -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
|
* @returns Array of tpl strings
|
||||||
*/
|
*/
|
||||||
public getSeasonalEventItemsToBlock(): string[]
|
public getSeasonalEventItemsToBlock(): string[]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user