diff --git a/project/assets/configs/bot.json b/project/assets/configs/bot.json index 99893582..23165828 100644 --- a/project/assets/configs/bot.json +++ b/project/assets/configs/bot.json @@ -293,7 +293,8 @@ ] }, "marksman": { - "nvgIsActiveChancePercent": 60, + "nvgIsActiveChanceDayPercent": 60, + "nvgIsActiveChanceNightPercent": 60, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 85, @@ -310,21 +311,24 @@ "laserIsActiveChancePercent": 75 }, "exusec": { - "nvgIsActiveChancePercent": 80, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 90, "laserIsActiveChancePercent": 85 }, "bossbully": { - "nvgIsActiveChancePercent": 75, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, "laserIsActiveChancePercent": 75 }, "bossgluhar": { - "nvgIsActiveChancePercent": 80, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 45, "lightIsActiveNightChancePercent": 95, @@ -359,14 +363,16 @@ "laserIsActiveChancePercent": 75 }, "bossknight": { - "nvgIsActiveChancePercent": 90, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, "laserIsActiveChancePercent": 75 }, "bosszryachiy": { - "nvgIsActiveChancePercent": 90, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 85, "laserIsActiveChancePercent": 85 @@ -379,7 +385,8 @@ "laserIsActiveChancePercent": 75 }, "followergluharassault": { - "nvgIsActiveChancePercent": 75, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 85, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, @@ -404,7 +411,8 @@ "laserIsActiveChancePercent": 75 }, "followerkojaniy": { - "nvgIsActiveChancePercent": 80, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 85, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, @@ -418,7 +426,8 @@ }, "followertagilla": {}, "followerbirdeye": { - "nvgIsActiveChancePercent": 80, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, @@ -429,28 +438,32 @@ } }, "followerbigpipe": { - "nvgIsActiveChancePercent": 90, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, "laserIsActiveChancePercent": 75 }, "followerzryachiy": { - "nvgIsActiveChancePercent": 90, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 90, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 85, "laserIsActiveChancePercent": 85 }, "followertest": {}, "sectantpriest": { - "nvgIsActiveChancePercent": 100, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 100, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 85, "laserIsActiveChancePercent": 95 }, "sectantwarrior": { - "nvgIsActiveChancePercent": 100, + "nvgIsActiveChanceDayPercent": 10, + "nvgIsActiveChanceNightPercent": 100, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 75, @@ -458,7 +471,8 @@ }, "test": {}, "pmcbot": { - "nvgIsActiveChancePercent": 80, + "nvgIsActiveChanceDayPercent": 20, + "nvgIsActiveChanceNightPercent": 95, "faceShieldIsActiveChancePercent": 100, "lightIsActiveDayChancePercent": 35, "lightIsActiveNightChancePercent": 95, @@ -491,7 +505,8 @@ "5447b5e04bdc2d62278b4567": ["55818ad54bdc2ddc698b4569", "55818acf4bdc2dde698b456b", "55818ac54bdc2d5b648b456e"], "5447b6254bdc2dc3278b4568": ["55818ae44bdc2dde698b456c", "55818ac54bdc2d5b648b456e", "55818aeb4bdc2ddc698b456a", "55818add4bdc2d5b648b456f"] }, - "nvgIsActiveChancePercent": 50, + "nvgIsActiveChanceDayPercent": 20, + "nvgIsActiveChanceNightPercent": 95, "faceShieldIsActiveChancePercent": 85, "lightIsActiveDayChancePercent": 25, "lightIsActiveNightChancePercent": 95, diff --git a/project/src/helpers/BotGeneratorHelper.ts b/project/src/helpers/BotGeneratorHelper.ts index 6feb8fef..46029f50 100644 --- a/project/src/helpers/BotGeneratorHelper.ts +++ b/project/src/helpers/BotGeneratorHelper.ts @@ -47,6 +47,10 @@ export class BotGeneratorHelper */ public generateExtraPropertiesForItem(itemTemplate: ITemplateItem, botRole: string = null): { upd?: Upd } { + // Get raid settings, if no raid, default to day + const raidSettings = this.applicationContext.getLatestValue(ContextVariableType.RAID_CONFIGURATION)?.getValue(); + const raidIsNight = raidSettings?.timeVariant === "PAST"; + const itemProperties: Upd = {}; if (itemTemplate._props.MaxDurability) @@ -95,11 +99,7 @@ export class BotGeneratorHelper if (itemTemplate._parent === BaseClasses.FLASHLIGHT) { - // Get raid settings, if no raid, default to day - const raidSettings = this.applicationContext.getLatestValue(ContextVariableType.RAID_CONFIGURATION)?.getValue(); - const raidIsNight = raidSettings?.timeVariant === "PAST"; - - // Get chance from botconfig for bot type, use 50% if no value found + // Get chance from botconfig for bot type const lightLaserActiveChance = raidIsNight ? this.getBotEquipmentSettingFromConfig(botRole, "lightIsActiveNightChancePercent", 50) : this.getBotEquipmentSettingFromConfig(botRole, "lightIsActiveDayChancePercent", 25); @@ -114,8 +114,10 @@ export class BotGeneratorHelper if (itemTemplate._parent === BaseClasses.NIGHTVISION) { - // Get chance from botconfig for bot type, use 50% if no value found - const nvgActiveChance = this.getBotEquipmentSettingFromConfig(botRole, "nvgIsActiveChancePercent", 50); + // Get chance from botconfig for bot type + const nvgActiveChance = raidIsNight + ? this.getBotEquipmentSettingFromConfig(botRole, "nvgIsActiveChanceNightPercent", 90) + : this.getBotEquipmentSettingFromConfig(botRole, "nvgIsActiveChanceDayPercent", 15); itemProperties.Togglable = { On: (this.randomUtil.getChance100(nvgActiveChance)) }; } diff --git a/project/src/models/spt/config/IBotConfig.ts b/project/src/models/spt/config/IBotConfig.ts index 6c872131..69d3bc04 100644 --- a/project/src/models/spt/config/IBotConfig.ts +++ b/project/src/models/spt/config/IBotConfig.ts @@ -81,7 +81,8 @@ export interface EquipmentFilters lightIsActiveDayChancePercent?: number; lightIsActiveNightChancePercent?: number; laserIsActiveChancePercent?: number; - nvgIsActiveChancePercent?: number; + nvgIsActiveChanceDayPercent?: number; + nvgIsActiveChanceNightPercent?: number; randomisation: RandomisationDetails[] blacklist: EquipmentFilterDetails[] whitelist: EquipmentFilterDetails[]