CWX-mods/Live/CWX_DebugTool/dist/src/inraidConfig.ts

58 lines
1.7 KiB
TypeScript
Raw Normal View History

2022-08-20 13:36:46 +01:00
import { inject, injectable } from "tsyringe";
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
2022-12-25 15:41:36 +00:00
import { ILocationData, ILocations } from "@spt-aki/models/spt/server/ILocations";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { InraidConfig } from "models/IConfig";
2022-08-20 13:36:46 +01:00
import { CwxConfigHandler } from "./configHandler";
2022-08-20 13:36:46 +01:00
@injectable()
export class CwxInraidConfig
2022-08-20 13:36:46 +01:00
{
private tables: IInRaidConfig;
private config: InraidConfig;
2022-12-25 15:41:36 +00:00
private locations: ILocations;
2022-08-20 13:36:46 +01:00
constructor(
@inject("ConfigServer") private configServer: ConfigServer,
2022-12-25 15:41:36 +00:00
@inject("CwxConfigHandler") private configHandler: CwxConfigHandler,
@inject("DatabaseServer") private databaseServer: DatabaseServer
2022-08-20 13:36:46 +01:00
)
{}
public applyChanges(): void
{
this.config = this.configHandler.getConfig().inraidConfig;
this.tables = this.configServer.getConfig(ConfigTypes.IN_RAID);
2022-12-25 15:41:36 +00:00
this.locations = this.databaseServer.getTables().locations;
2022-08-20 13:36:46 +01:00
this.turnPVEOff();
2022-12-25 15:41:36 +00:00
this.extendRaidTimes();
2022-08-20 13:36:46 +01:00
}
private turnPVEOff(): void
2022-08-20 13:36:46 +01:00
{
if (this.config.turnPVEOff)
{
this.tables.raidMenuSettings.enablePve = false;
}
}
2022-12-25 15:41:36 +00:00
private extendRaidTimes(): void
{
if (this.config.extendRaidTimes)
{
for (const i in this.locations)
{
if (i !== "base")
{
this.locations[i].base.EscapeTimeLimit = 300;
this.locations[i].base.exit_access_time = 300;
}
}
}
}
2022-08-20 13:36:46 +01:00
}