Valens-AIO/config/ts/bots.ts
Valens 37d356736c Updates for v1.8.0 of Valens-AIO; compatible with SPT-AKI V3.5.0
* Added additional items to Airdrop Blacklist into the airdrop.json
* Added botGenerationBatchSizePerType and reworked maxBotCap to current defaults and to include Streets into bots.json
* Added botRelativeLevelDeltaMax into bots.json
* Added runIntervalSeconds into flea.json; affects how often flea will refresh in-game (so selling faster or slower - is taxing on CPU resources as it calls more often or less often pending how you set it; default is 45 seconds) into flea.json
* Reworked Ragfair Conditions to take current server values into flea.json
* Removed airFilterUnitFlowRate, generatorFuelFlowRate, and gpuBoostRate from hideout.json; these may return in the future however, as of now they have been removed from the server config and I would need to dive deep into server code.
* Consolidated timeLimit into its own boolean and raidTime settings. Restructured AiAmount and AiDifficulty to match the server config in raid.json
* Added new types into the bots.ts config file
* Added new types into the flea.ts config file
* Removed types no longer being used in the hideout.ts config file
* Added new types into the raid.ts config file
* Added Streets Marked Room Loot into the Containers In Marked Room Loot Pool
* General rework and cleanup of code
2023-02-13 01:07:28 -05:00

85 lines
1.8 KiB
TypeScript

import { MinMax } from "@spt-aki/models/common/MinMax";
import { DynamicLoot } from "@spt-aki/models/spt/config/IPmcConfig";
export interface BotsConfig
{
bossChance: BossChance;
botGenerationBatchSizePerType: number;
maxBotCap: MaxBotCap;
pmc: IPmcConfig;
scav: Scav;
}
export interface IPmcConfig
{
dynamicLoot: DynamicLoot;
useDifficultyOverride: boolean;
difficulty: string;
looseWeaponInBackpackChancePercent: number;
looseWeaponInBackpackLootMinMax: MinMax;
isUsec: number;
usecType: string;
bearType: string;
chanceSameSideIsHostilePercent: number;
/** key: location, value: type for usec/bear */
pmcType: Record<string, Record<string, Record<string, number>>>;
maxBackpackLootTotalRub: number;
maxPocketLootTotalRub: number;
maxVestLootTotalRub: number;
convertIntoPmcChance: Record<string, MinMax>;
enemyTypes: string[];
botRelativeLevelDeltaMax: number;
containersOnPMCs: boolean;
lootNValue: number;
difficultyWeights: DifficultyWeights;
}
export interface BossChance
{
activated: boolean
chance: number
}
export interface DifficultyWeights
{
useWeights: boolean
weights: Record<string, number>
}
export interface ConvertIntoPmcChance
{
assault: PmcChance
cursedAssault: PmcChance
pmcBot : PmcChance
exUsec : PmcChance
}
export interface PmcChance
{
min: number
max: number
}
export interface LooseWeapon
{
min: number
max: number
}
export interface Scav
{
lootNValue: number
}
export interface MaxBotCap
{
factory: number
customs: number
woods: number
shoreline: number
lighthouse: number
reservebase: number
interchange: number
laboratory: number
default: number
}