Added comments to various config files
This commit is contained in:
parent
f2863025c2
commit
f28d6c2a6b
@ -7,17 +7,27 @@ export interface IAirdropConfig extends IBaseConfig
|
|||||||
kind: "aki-airdrop"
|
kind: "aki-airdrop"
|
||||||
airdropChancePercent: AirdropChancePercent
|
airdropChancePercent: AirdropChancePercent
|
||||||
airdropTypeWeightings: Record<AirdropTypeEnum, number>
|
airdropTypeWeightings: Record<AirdropTypeEnum, number>
|
||||||
|
/** Lowest point plane will fly at */
|
||||||
planeMinFlyHeight: number
|
planeMinFlyHeight: number
|
||||||
|
/** Highest point plane will fly at */
|
||||||
planeMaxFlyHeight: number
|
planeMaxFlyHeight: number
|
||||||
|
/** Loudness of plane engine */
|
||||||
planeVolume: number
|
planeVolume: number
|
||||||
|
/** Speed plane flies overhead */
|
||||||
planeSpeed: number
|
planeSpeed: number
|
||||||
|
/** Speed loot crate falls after being dropped */
|
||||||
crateFallSpeed: number
|
crateFallSpeed: number
|
||||||
|
/** Container tpls to use when spawning crate - affects container size, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
|
||||||
containerIds: Record<string, string>
|
containerIds: Record<string, string>
|
||||||
|
/** Earliest time aircraft will spawn in raid */
|
||||||
airdropMinStartTimeSeconds: number
|
airdropMinStartTimeSeconds: number
|
||||||
|
/** Latest time aircraft will spawn in raid */
|
||||||
airdropMaxStartTimeSeconds: number
|
airdropMaxStartTimeSeconds: number
|
||||||
|
/** What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
|
||||||
loot: Record<string, AirdropLoot>
|
loot: Record<string, AirdropLoot>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Chance map will have an airdrop occur out of 100 - locations not included count as 0% */
|
||||||
export interface AirdropChancePercent
|
export interface AirdropChancePercent
|
||||||
{
|
{
|
||||||
bigmap: number
|
bigmap: number
|
||||||
@ -29,16 +39,24 @@ export interface AirdropChancePercent
|
|||||||
tarkovStreets: number
|
tarkovStreets: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Loot inside crate */
|
||||||
export interface AirdropLoot
|
export interface AirdropLoot
|
||||||
{
|
{
|
||||||
|
/** Min/max of weapons inside crate */
|
||||||
presetCount?: MinMax
|
presetCount?: MinMax
|
||||||
|
/** Min/max of items inside crate */
|
||||||
itemCount: MinMax
|
itemCount: MinMax
|
||||||
|
/** Min/max of sealed weapon boxes inside crate */
|
||||||
weaponCrateCount: MinMax
|
weaponCrateCount: MinMax
|
||||||
|
/** Items to never allow - tpls */
|
||||||
itemBlacklist: string[]
|
itemBlacklist: string[]
|
||||||
|
/** Item type (parentId) to allow inside crate */
|
||||||
itemTypeWhitelist: string[]
|
itemTypeWhitelist: string[]
|
||||||
/** key: item base type: value: max count */
|
/** Item type/ item tpls to limit count of inside crate - key: item base type: value: max count */
|
||||||
itemLimits: Record<string, number>
|
itemLimits: Record<string, number>
|
||||||
|
/** Items to limit stack size of key: item tpl value: min/max stack size */
|
||||||
itemStackLimits: Record<string, MinMax>
|
itemStackLimits: Record<string, MinMax>
|
||||||
|
/** Armor levels to allow inside crate e.g. [4,5,6] */
|
||||||
armorLevelWhitelist?: number[]
|
armorLevelWhitelist?: number[]
|
||||||
}
|
}
|
||||||
|
|
@ -35,6 +35,7 @@ export interface IBotConfig extends IBaseConfig
|
|||||||
botGenerationBatchSizePerType: number
|
botGenerationBatchSizePerType: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Number of bots to generate and store in cache on raid start per bot type */
|
||||||
export interface PresetBatch
|
export interface PresetBatch
|
||||||
{
|
{
|
||||||
assault: number
|
assault: number
|
||||||
@ -75,7 +76,9 @@ export interface LootNvalue
|
|||||||
|
|
||||||
export interface EquipmentFilters
|
export interface EquipmentFilters
|
||||||
{
|
{
|
||||||
|
/** Limits for mod types per weapon .e.g. scopes */
|
||||||
weaponModLimits: ModLimits
|
weaponModLimits: ModLimits
|
||||||
|
/** Whitelsit for weapons allowed per gun */
|
||||||
weaponSightWhitelist: Record<string, string[]>
|
weaponSightWhitelist: Record<string, string[]>
|
||||||
faceShieldIsActiveChancePercent?: number;
|
faceShieldIsActiveChancePercent?: number;
|
||||||
lightIsActiveDayChancePercent?: number;
|
lightIsActiveDayChancePercent?: number;
|
||||||
@ -83,10 +86,14 @@ export interface EquipmentFilters
|
|||||||
laserIsActiveChancePercent?: number;
|
laserIsActiveChancePercent?: number;
|
||||||
nvgIsActiveChanceDayPercent?: number;
|
nvgIsActiveChanceDayPercent?: number;
|
||||||
nvgIsActiveChanceNightPercent?: number;
|
nvgIsActiveChanceNightPercent?: number;
|
||||||
|
/** Adjust weighting/chances of items on bot by level of bot */
|
||||||
randomisation: RandomisationDetails[]
|
randomisation: RandomisationDetails[]
|
||||||
|
/** Blacklist equipment by level of bot */
|
||||||
blacklist: EquipmentFilterDetails[]
|
blacklist: EquipmentFilterDetails[]
|
||||||
|
/** Whitelist equipment by level of bot */
|
||||||
whitelist: EquipmentFilterDetails[]
|
whitelist: EquipmentFilterDetails[]
|
||||||
clothing: WeightingAdjustmentDetails[]
|
clothing: WeightingAdjustmentDetails[]
|
||||||
|
/** Adjust clothing choice weighting by level of bot */
|
||||||
weightingAdjustments: WeightingAdjustmentDetails[]
|
weightingAdjustments: WeightingAdjustmentDetails[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,28 +107,38 @@ export interface ModLimits
|
|||||||
|
|
||||||
export interface RandomisationDetails
|
export interface RandomisationDetails
|
||||||
{
|
{
|
||||||
|
/** Between what levels do these randomisation setting apply to */
|
||||||
levelRange: MinMax
|
levelRange: MinMax
|
||||||
generation?: Record<string, MinMaxWithWhitelist>
|
generation?: Record<string, MinMaxWithWhitelist>
|
||||||
|
/** Mod slots that should be fully randomisate -ignores mods from bottype.json */
|
||||||
randomisedWeaponModSlots?: string[]
|
randomisedWeaponModSlots?: string[]
|
||||||
|
/** Armor slots that should be randomised e.g. 'Headwear, Armband' */
|
||||||
randomisedArmorSlots?: string[]
|
randomisedArmorSlots?: string[]
|
||||||
/** Equipment chances */
|
/** Equipment chances */
|
||||||
equipment?: Record<string, number>
|
equipment?: Record<string, number>
|
||||||
/** Modc chances */
|
/** Mod chances */
|
||||||
mods?: Record<string, number>
|
mods?: Record<string, number>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface EquipmentFilterDetails
|
export interface EquipmentFilterDetails
|
||||||
{
|
{
|
||||||
|
/** Between what levels do these equipment filter setting apply to */
|
||||||
levelRange: MinMax
|
levelRange: MinMax
|
||||||
|
/** Key: mod slot name e.g. mod_magazine, value: item tpls */
|
||||||
equipment: Record<string, string[]>
|
equipment: Record<string, string[]>
|
||||||
|
/** Key: cartridge type e.g. Caliber23x75, value: item tpls */
|
||||||
cartridge: Record<string, string[]>
|
cartridge: Record<string, string[]>
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface WeightingAdjustmentDetails
|
export interface WeightingAdjustmentDetails
|
||||||
{
|
{
|
||||||
|
/** Between what levels do these weight settings apply to */
|
||||||
levelRange: MinMax
|
levelRange: MinMax
|
||||||
|
/** Key: ammo type e.g. Caliber556x45NATO, value: item tpl + weight */
|
||||||
ammo?: AdjustmentDetails
|
ammo?: AdjustmentDetails
|
||||||
|
/** Key: equipment slot e.g. TacticalVest, value: item tpl + weight */
|
||||||
equipment?: AdjustmentDetails
|
equipment?: AdjustmentDetails
|
||||||
|
/** Key: clothing slor e.g. feet, value: item tpl + weight */
|
||||||
clothing?: AdjustmentDetails
|
clothing?: AdjustmentDetails
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,10 +4,15 @@ export interface IInRaidConfig extends IBaseConfig
|
|||||||
{
|
{
|
||||||
kind: "aki-inraid"
|
kind: "aki-inraid"
|
||||||
MIAOnRaidEnd: boolean
|
MIAOnRaidEnd: boolean
|
||||||
|
/** Overrides to apply to the pre-raid settings screen */
|
||||||
raidMenuSettings: RaidMenuSettings
|
raidMenuSettings: RaidMenuSettings
|
||||||
|
/** What effects should be saved post-raid */
|
||||||
save: Save
|
save: Save
|
||||||
|
/** Names of car extracts */
|
||||||
carExtracts: string[]
|
carExtracts: string[]
|
||||||
|
/** Fene rep gain from a single car extract */
|
||||||
carExtractBaseStandingGain: number
|
carExtractBaseStandingGain: number
|
||||||
|
/** Fence rep gain when successfully extracting as pscav */
|
||||||
scavExtractGain: number
|
scavExtractGain: number
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -23,6 +28,7 @@ export interface RaidMenuSettings
|
|||||||
|
|
||||||
export interface Save
|
export interface Save
|
||||||
{
|
{
|
||||||
|
/** Should loot gained from raid be saved */
|
||||||
loot: boolean
|
loot: boolean
|
||||||
durability: boolean
|
durability: boolean
|
||||||
}
|
}
|
@ -3,10 +3,16 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface IInsuranceConfig extends IBaseConfig
|
export interface IInsuranceConfig extends IBaseConfig
|
||||||
{
|
{
|
||||||
kind: "aki-insurance"
|
kind: "aki-insurance"
|
||||||
|
/** Insurance price multiplier */
|
||||||
insuranceMultiplier: Record<string, number>
|
insuranceMultiplier: Record<string, number>
|
||||||
|
/** Chance item is returned as insurance, keyed by trader id */
|
||||||
returnChancePercent: Record<string, number>
|
returnChancePercent: Record<string, number>
|
||||||
|
/** Item slots that should never be returned as insurance */
|
||||||
blacklistedEquipment: string[]
|
blacklistedEquipment: string[]
|
||||||
|
/** Names of equipment slots that could not be returned as insurance */
|
||||||
slotIdsWithChanceOfNotReturning: string[]
|
slotIdsWithChanceOfNotReturning: string[]
|
||||||
|
/** Override to control how quickly insurance is processed/returned in second */
|
||||||
returnTimeOverrideSeconds: number
|
returnTimeOverrideSeconds: number
|
||||||
|
/** How often server should process insurance in seconds */
|
||||||
runIntervalSeconds: number
|
runIntervalSeconds: number
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface IInventoryConfig extends IBaseConfig
|
export interface IInventoryConfig extends IBaseConfig
|
||||||
{
|
{
|
||||||
kind: "aki-inventory"
|
kind: "aki-inventory"
|
||||||
|
/** Should new items purchased by flagged as found in raid */
|
||||||
newItemsMarkedFound: boolean
|
newItemsMarkedFound: boolean
|
||||||
randomLootContainers: Record<string, RewardDetails>
|
randomLootContainers: Record<string, RewardDetails>
|
||||||
sealedAirdropContainer: ISealedAirdropContainerSettings
|
sealedAirdropContainer: ISealedAirdropContainerSettings
|
||||||
@ -23,6 +24,7 @@ export interface ISealedAirdropContainerSettings
|
|||||||
{
|
{
|
||||||
weaponRewardWeight: Record<string, number>
|
weaponRewardWeight: Record<string, number>
|
||||||
defaultPresetsOnly: boolean
|
defaultPresetsOnly: boolean
|
||||||
|
/** Should contents be flagged as found in raid when opened */
|
||||||
foundInRaid: boolean;
|
foundInRaid: boolean;
|
||||||
weaponModRewardLimits: Record<string, MinMax>
|
weaponModRewardLimits: Record<string, MinMax>
|
||||||
rewardTypeLimits: Record<string, MinMax>
|
rewardTypeLimits: Record<string, MinMax>
|
||||||
|
@ -5,11 +5,15 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface ILocationConfig extends IBaseConfig
|
export interface ILocationConfig extends IBaseConfig
|
||||||
{
|
{
|
||||||
kind: "aki-location"
|
kind: "aki-location"
|
||||||
|
/** Waves with a min/max of the same value don't spawn any bots, bsg only spawn the difference between min and max */
|
||||||
fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings;
|
fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings;
|
||||||
|
/** Rogues are classified as bosses and spawn immediatly, this can result in no scavs spawning, delay rogues spawning to allow scavs to spawn first */
|
||||||
rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings
|
rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings
|
||||||
|
/** When a map has hit max alive bots, any wave that should spawn will be reduced to 1 bot in size and placed in a spawn queue, this splits waves into smaller sizes to reduce the impact of this behaviour */
|
||||||
splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings
|
splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings
|
||||||
looseLootMultiplier: LootMultiplier
|
looseLootMultiplier: LootMultiplier
|
||||||
staticLootMultiplier: LootMultiplier
|
staticLootMultiplier: LootMultiplier
|
||||||
|
/** Custom bot waves to add to a locations base json on game start if addCustomBotWavesToMaps is true */
|
||||||
customWaves: CustomWaves
|
customWaves: CustomWaves
|
||||||
/** Open zones to add to map */
|
/** Open zones to add to map */
|
||||||
openZones: Record<string, string[]>
|
openZones: Record<string, string[]>
|
||||||
@ -21,8 +25,9 @@ export interface ILocationConfig extends IBaseConfig
|
|||||||
addOpenZonesToAllMaps: boolean
|
addOpenZonesToAllMaps: boolean
|
||||||
/** Allow addition of custom bot waves designed by SPT to be added to maps - defined in configs/location.json.customWaves*/
|
/** Allow addition of custom bot waves designed by SPT to be added to maps - defined in configs/location.json.customWaves*/
|
||||||
addCustomBotWavesToMaps: boolean
|
addCustomBotWavesToMaps: boolean
|
||||||
|
/** Should the limits defined inside botTypeLimits to appled to locations on game start */
|
||||||
enableBotTypeLimits: boolean
|
enableBotTypeLimits: boolean
|
||||||
/** Add limits to a maps base.MinMaxBots array*/
|
/** Add limits to a locations base.MinMaxBots array if enableBotTypeLimits is true*/
|
||||||
botTypeLimits: Record<string, IBotTypeLimit[]>
|
botTypeLimits: Record<string, IBotTypeLimit[]>
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,6 +52,7 @@ export interface ISplitWaveSettings
|
|||||||
|
|
||||||
export interface CustomWaves
|
export interface CustomWaves
|
||||||
{
|
{
|
||||||
|
/** Bosses spawn on raid start */
|
||||||
boss: Record<string, BossLocationSpawn[]>
|
boss: Record<string, BossLocationSpawn[]>
|
||||||
normal: Record<string, Wave[]>
|
normal: Record<string, Wave[]>
|
||||||
}
|
}
|
||||||
@ -56,6 +62,7 @@ export interface IBotTypeLimit extends MinMax
|
|||||||
type: string
|
type: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Multiplier to apply to the loot count for a given map */
|
||||||
export interface LootMultiplier
|
export interface LootMultiplier
|
||||||
{
|
{
|
||||||
bigmap: number
|
bigmap: number
|
||||||
|
@ -3,8 +3,11 @@ import { IBaseConfig } from "./IBaseConfig";
|
|||||||
export interface ILostOnDeathConfig extends IBaseConfig
|
export interface ILostOnDeathConfig extends IBaseConfig
|
||||||
{
|
{
|
||||||
kind: "aki-lostondeath"
|
kind: "aki-lostondeath"
|
||||||
|
/** What equipment in each slot should be lost on death */
|
||||||
equipment: Equipment
|
equipment: Equipment
|
||||||
|
/** Should special slot items be removed from quest inventory on death e.g. wifi camera/markers */
|
||||||
specialSlotItems: boolean;
|
specialSlotItems: boolean;
|
||||||
|
/** Should quest items be removed from quest inventory on death */
|
||||||
questItems: boolean
|
questItems: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,21 +14,31 @@ export interface IPmcConfig
|
|||||||
/** Global whitelist/blacklist of backpack loot for PMCs */
|
/** Global whitelist/blacklist of backpack loot for PMCs */
|
||||||
backpackLoot: SlotLootSettings
|
backpackLoot: SlotLootSettings
|
||||||
dynamicLoot: DynamicLoot
|
dynamicLoot: DynamicLoot
|
||||||
|
/** Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value */
|
||||||
useDifficultyOverride: boolean
|
useDifficultyOverride: boolean
|
||||||
|
/** Difficulty override e.g. "AsOnline/Hard" */
|
||||||
difficulty: string
|
difficulty: string
|
||||||
|
/** Chance out of 100 to have a complete gun in backpack */
|
||||||
looseWeaponInBackpackChancePercent: number
|
looseWeaponInBackpackChancePercent: number
|
||||||
|
/** MinMax count of weapons to have in backpack */
|
||||||
looseWeaponInBackpackLootMinMax: MinMax
|
looseWeaponInBackpackLootMinMax: MinMax
|
||||||
|
/** Percentage chance PMC will be USEC */
|
||||||
isUsec: number
|
isUsec: number
|
||||||
|
/** WildSpawnType enum value USEC PMCs use */
|
||||||
usecType: string
|
usecType: string
|
||||||
|
/** WildSpawnType enum value BEAR PMCs use */
|
||||||
bearType: string
|
bearType: string
|
||||||
chanceSameSideIsHostilePercent: number
|
chanceSameSideIsHostilePercent: number
|
||||||
/** key: location, value: type for usec/bear */
|
/** What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear */
|
||||||
pmcType: Record<string, Record<string, Record<string, number>>>
|
pmcType: Record<string, Record<string, Record<string, number>>>
|
||||||
maxBackpackLootTotalRub: number
|
maxBackpackLootTotalRub: number
|
||||||
maxPocketLootTotalRub: number
|
maxPocketLootTotalRub: number
|
||||||
maxVestLootTotalRub: number
|
maxVestLootTotalRub: number
|
||||||
|
/** Percentage chance a bot from a wave is converted into a PMC, key = bot wildspawn tpye (assault/exusec), value: min+max chance to be converted */
|
||||||
convertIntoPmcChance: Record<string, MinMax>
|
convertIntoPmcChance: Record<string, MinMax>
|
||||||
|
/** WildSpawnType bots PMCs should see as hostile */
|
||||||
enemyTypes: string[]
|
enemyTypes: string[]
|
||||||
|
/** How many levels above player level can a PMC be */
|
||||||
botRelativeLevelDeltaMax: number
|
botRelativeLevelDeltaMax: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ export interface ITraderConfig extends IBaseConfig
|
|||||||
purchasesAreFoundInRaid: boolean;
|
purchasesAreFoundInRaid: boolean;
|
||||||
updateTimeDefault: number
|
updateTimeDefault: number
|
||||||
traderPriceMultipler: number
|
traderPriceMultipler: number
|
||||||
|
/** Keep track of purchased trader-limited items beyond server restarts to prevent server-restart item scumming */
|
||||||
persistPurchaseDataInProfile: boolean
|
persistPurchaseDataInProfile: boolean
|
||||||
fence: FenceConfig
|
fence: FenceConfig
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user