Untitled
unknown
typescript
2 years ago
3.3 kB
16
Indexable
import { DependencyContainer } from "tsyringe";
import { IPostDBLoadMod } from "@spt-aki/models/external/IPostDBLoadMod";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig";
import { LogTextColor } from "@spt-aki/models/spt/logging/LogTextColor";
class RaidTimes implements IPostDBLoadMod
{
private modConfig = require("../config/config.json");
public postDBLoad(container: DependencyContainer): void
{
const logger = container.resolve<ILogger>("WinstonLogger");
if (this.modConfig.modEnabled)
{
logger.logWithColor("RaidTimes mod ENABLED.", LogTextColor.BLUE);
// ---- Change Time acceleration factor ----
// get the config server
const configServer = container.resolve<ConfigServer>("ConfigServer");
// Request weather config
const weatherConfig = configServer.getConfig<IWeatherConfig>(ConfigTypes.WEATHER);
logger.logWithColor("RaidTimes: Changing time acceleration to " + this.modConfig.newAcceleration + ".", LogTextColor.WHITE);
weatherConfig.acceleration = this.modConfig.newAcceleration;
// ---- Change EscapeTimeLimit for selected locations ----
const locations = container.resolve<DatabaseServer>("DatabaseServer").getTables().locations;
for (const map in locations)
{
if (map !== "base")
{
switch (locations[map].base.Name)
{
case "Customs":
case "Factory":
case "Interchange":
case "Laboratory":
case "Lighthouse":
case "ReserveBase":
case "Shoreline":
case "Woods":
case "Streets of Tarkov":
logger.info("RaidTimes: Extending Raid time for " + locations[map].base.Name + " from " + locations[map].base.EscapeTimeLimit + " to " + this.modConfig.newTime + " minutes.");
//logger.logWithColor(" exit_access_time: " + locations[map].base.exit_access_time, LogTextColor.WHITE);
//logger.logWithColor(" EscapeTimeLimit : " + locations[map].base.EscapeTimeLimit, LogTextColor.WHITE);
locations[map].base.exit_access_time = this.modConfig.newTime
locations[map].base.EscapeTimeLimit = this.modConfig.newTime
break;
default:
logger.warning("RaidTimes: Skipping: " + locations[map].base.Name);
break;
}
}
}
}
else
{
logger.error("RaidTimes mod DISABLED - use RaidTimes.exe to configure.");
}
}
}
module.exports = { mod: new RaidTimes() }Editor is loading...