From d38c9358fefd1c17878df480fac4c49031b49827 Mon Sep 17 00:00:00 2001 From: Chomp Date: Sat, 13 Sep 2025 17:26:11 +0100 Subject: [PATCH] Adjusted PMC difficulty values based on values BSG uses for their PMCs as a base --- .../SPT_Data/database/bots/types/bear.json | 89 +++++++----------- .../SPT_Data/database/bots/types/usec.json | 91 ++++++++----------- .../GlobalSettings/BotGlobalAimingSettings.cs | 19 ++++ .../Bot/GlobalSettings/BotGlobalLookData.cs | 18 ++++ .../GlobalSettings/BotGlobalsCoverSettings.cs | 16 ++++ .../GlobalSettings/BotGlobalsMindSettings.cs | 14 +++ 6 files changed, 138 insertions(+), 109 deletions(-) diff --git a/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/bear.json b/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/bear.json index 99c360b1..3c827616 100644 --- a/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/bear.json +++ b/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/bear.json @@ -157,11 +157,9 @@ "AIMING_TYPE": 5, "ANYTIME_LIGHT_WHEN_AIM_100": 60, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 6, - "BAD_SHOOTS_MIN": 2, "BASE_HIT_AFFECTION_DELAY_SEC": 0.57, - "BASE_HIT_AFFECTION_MAX_ANG": 30, - "BASE_HIT_AFFECTION_MIN_ANG": 20, + "BASE_HIT_AFFECTION_MAX_ANG": 25, + "BASE_HIT_AFFECTION_MIN_ANG": 10, "BASE_SHIEF": 0.05, "BASE_SHIEF_STATIONARY_GRENADE": 1.1, "BETTER_PRECICING_COEF": 0.9, @@ -177,7 +175,6 @@ "FIRST_CONTACT_ADD_CHANCE_100": 80, "FIRST_CONTACT_ADD_SEC": 0.1, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 80, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 2, "MAX_AIM_TIME": 1.5, @@ -185,7 +182,7 @@ "MIN_DAMAGE_TO_GET_HIT_AFFETS": 1, "MIN_TIME_DISCARD_AIM_SEC": 0.3, "NEXT_SHOT_MISS_CHANCE_100": 95, - "NEXT_SHOT_MISS_Y_OFFSET": 0.25, + "NEXT_SHOT_MISS_Y_OFFSET": 1, "OFFSET_RECAL_ANYWAY_TIME": 1, "PANIC_ACCURATY_COEF": 1.2, "PANIC_COEF": 1.2, @@ -346,8 +343,6 @@ "SPOTTED_COVERS_RADIUS": 2.5, "SPOTTED_GRENADE_RADIUS": 16, "SPOTTED_GRENADE_TIME": 7, - "STATIONARY_CAN_USE": false, - "STATIONARY_SPOTTED_TIMES_TO_LEAVE": 2, "STATIONARY_WEAPON_MAX_DIST_TO_USE": 25, "STATIONARY_WEAPON_NO_ENEMY_GETUP": 15, "STAY_IF_FAR": 25, @@ -376,7 +371,6 @@ "DELTA_NEXT_ATTEMPT": 10, "DELTA_NEXT_ATTEMPT_FROM_COVER": 5, "FLASH_GRENADE_TIME_COEF": 0.25, - "GRENADE_PRECISION_PORTALS": 0.1, "GrenadePerMeter": 0.15, "GrenadePrecision": 0.1, "MAX_FLASHED_DIST_TO_SHOOT": 10, @@ -433,7 +427,7 @@ "DIST_ENEMY_GETUP_LAY_SQRT": 100, "DIST_ENEMY_NULL_DANGER_LAY": 15, "DIST_ENEMY_NULL_DANGER_LAY_SQRT": 225, - "DIST_GRASS_TERRAIN_SQRT": 0.160000011, + "DIST_GRASS_TERRAIN_SQRT": 0.16000001, "DIST_TO_COVER_TO_LAY": 3.5, "DIST_TO_COVER_TO_LAY_SQRT": 12.25, "LAY_AIM": 0.6, @@ -465,11 +459,10 @@ "MAX_VISION_GRASS_METERS": 0.8, "MAX_VISION_GRASS_METERS_FLARE": 0.001, "MIDDLE_DIST": 90, - "MIDDLE_DIST_CAN_SHOOT_HEAD": false, "MIN_LOOK_AROUD_TIME": 20, "MiddleDeltaTimeSec": 1, - "NO_GRASS_DIST": 8, - "NO_GREEN_DIST": 8, + "NO_GRASS_DIST": 5, + "NO_GREEN_DIST": 5, "OLD_TIME_POINT": 11, "POSIBLE_VISION_SPACE": 1.2, "VISIBILITY_CHANGE_SPEED": 1.2, @@ -519,7 +512,7 @@ "DOG_FIGHT_OUT": 6, "ENEMY_BOT_TYPES": [], "ENEMY_BY_GROUPS_SAVAGE_PLAYERS": true, - "ENEMY_LOOK_AT_ME_ANG": 10, + "ENEMY_LOOK_AT_ME_ANG": 12, "FIND_COVER_TO_GET_POSITION_WITH_SHOOT": 2, "FOLLOWER_AND_BOSS_WARN_EQUAL_PRIORITY": true, "FRIENDLY_BOT_TYPES": [], @@ -703,14 +696,12 @@ }, "hard": { "Aiming": { - "AIMING_TYPE": 4, + "AIMING_TYPE": 2, "ANYTIME_LIGHT_WHEN_AIM_100": 70, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 1, - "BAD_SHOOTS_MIN": 1, - "BASE_HIT_AFFECTION_DELAY_SEC": 0.1, + "BASE_HIT_AFFECTION_DELAY_SEC": 0.2, "BASE_HIT_AFFECTION_MAX_ANG": 10, - "BASE_HIT_AFFECTION_MIN_ANG": 2, + "BASE_HIT_AFFECTION_MIN_ANG": 3, "BASE_SHIEF": 0.03, "BASE_SHIEF_STATIONARY_GRENADE": 1.1, "BETTER_PRECICING_COEF": 0.9, @@ -723,10 +714,9 @@ "DANGER_UP_POINT": 1.3, "DIST_TO_SHOOT_NO_OFFSET": 3, "DIST_TO_SHOOT_TO_CENTER": 3, - "FIRST_CONTACT_ADD_CHANCE_100": 10, + "FIRST_CONTACT_ADD_CHANCE_100": 40, "FIRST_CONTACT_ADD_SEC": 0.1, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 60, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 2, "MAX_AIM_TIME": 1.5, @@ -838,7 +828,7 @@ "STUN_HEARING": 0.01 }, "Core": { - "AccuratySpeed": 0.05, + "AccuratySpeed": 0.15, "AimingType": "normal", "CanGrenade": true, "CanRun": true, @@ -1018,8 +1008,8 @@ "MIDDLE_DIST_CAN_SHOOT_HEAD": false, "MIN_LOOK_AROUD_TIME": 20, "MiddleDeltaTimeSec": 1, - "NO_GRASS_DIST": 8, - "NO_GREEN_DIST": 8, + "NO_GRASS_DIST": 5, + "NO_GREEN_DIST": 5, "OLD_TIME_POINT": 11, "POSIBLE_VISION_SPACE": 1.2, "VISIBILITY_CHANGE_SPEED": 1.2, @@ -1051,7 +1041,7 @@ "CHANCE_SHOOT_WHEN_WARN_PLAYER_100": 100, "CHANCE_TO_IGNORE_TRIPWIRE": 25, "CHANCE_TO_RUN_CAUSE_DAMAGE_0_100": 10, - "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 100, + "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 50, "COVER_DIST_COEF": 1.5, "COVER_SECONDS_AFTER_LOSE_VISION": 10, "COVER_SELF_ALWAYS_IF_DAMAGED": false, @@ -1089,7 +1079,7 @@ "MAX_SHOOTS_TIME": 4, "MAX_START_AGGRESION_COEF": 3, "MAY_BE_CALLED_FOR_HELP": false, - "MIN_DAMAGE_SCARE": 250, + "MIN_DAMAGE_SCARE": 35, "MIN_SHOOTS_TIME": 2, "MIN_START_AGGRESION_COEF": 1, "NO_RUN_AWAY_FOR_SAFE": true, @@ -1255,8 +1245,6 @@ "AIMING_TYPE": 3, "ANYTIME_LIGHT_WHEN_AIM_100": 70, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 1, - "BAD_SHOOTS_MIN": 1, "BASE_HIT_AFFECTION_DELAY_SEC": 0.1, "BASE_HIT_AFFECTION_MAX_ANG": 4, "BASE_HIT_AFFECTION_MIN_ANG": 2, @@ -1267,7 +1255,7 @@ "BOT_MOVE_IF_DELTA": 3.01, "COEF_FROM_COVER": 0.45, "COEF_IF_MOVE": 1, - "DAMAGE_PANIC_TIME": 0.01, + "DAMAGE_PANIC_TIME": 15, "DAMAGE_TO_DISCARD_AIM_0_100": 94, "DANGER_UP_POINT": 1.3, "DIST_TO_SHOOT_NO_OFFSET": 3, @@ -1275,7 +1263,7 @@ "FIRST_CONTACT_ADD_CHANCE_100": 10, "FIRST_CONTACT_ADD_SEC": 0.01, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 80, + "HARD_AIM_CHANCE_100": 20, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 1, "MAX_AIM_TIME": 1.5, @@ -1283,7 +1271,7 @@ "MIN_DAMAGE_TO_GET_HIT_AFFETS": 1, "MIN_TIME_DISCARD_AIM_SEC": 0.3, "NEXT_SHOT_MISS_CHANCE_100": 50, - "NEXT_SHOT_MISS_Y_OFFSET": 0.2, + "NEXT_SHOT_MISS_Y_OFFSET": 1, "OFFSET_RECAL_ANYWAY_TIME": 1, "PANIC_ACCURATY_COEF": 1.2, "PANIC_COEF": 1.2, @@ -1387,20 +1375,20 @@ "STUN_HEARING": 0.01 }, "Core": { - "AccuratySpeed": 0.05, + "AccuratySpeed": 0.2, "AimingType": "normal", "CanGrenade": true, "CanRun": true, "DamageCoeff": 1, - "HearingSense": 1.25, + "HearingSense": 2.9, "PistolFireDistancePref": 35, "RifleFireDistancePref": 100, "ScatteringClosePerMeter": 0.12, "ScatteringPerMeter": 0.045, "ShotgunFireDistancePref": 50, - "VisibleAngle": 200, + "VisibleAngle": 190, "VisibleDistance": 185, - "WaitInCoverBetweenShotsSec": 0.2 + "WaitInCoverBetweenShotsSec": 0.3 }, "Cover": { "CAN_END_SHOOT_FROM_COVER_CAUSE_STATIONARY": false, @@ -1599,7 +1587,7 @@ "CHANCE_SHOOT_WHEN_WARN_PLAYER_100": 100, "CHANCE_TO_IGNORE_TRIPWIRE": 25, "CHANCE_TO_RUN_CAUSE_DAMAGE_0_100": 10, - "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 100, + "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 50, "COVER_DIST_COEF": 1.5, "COVER_SECONDS_AFTER_LOSE_VISION": 10, "COVER_SELF_ALWAYS_IF_DAMAGED": false, @@ -1636,7 +1624,7 @@ "MAX_AGGRO_BOT_DIST_SQR": 10000, "MAX_SHOOTS_TIME": 4, "MAX_START_AGGRESION_COEF": 3, - "MAY_BE_CALLED_FOR_HELP": false, + "MAY_BE_CALLED_FOR_HELP": true, "MIN_DAMAGE_SCARE": 250, "MIN_SHOOTS_TIME": 2, "MIN_START_AGGRESION_COEF": 1, @@ -1798,14 +1786,12 @@ }, "normal": { "Aiming": { - "AIMING_TYPE": 4, + "AIMING_TYPE": 2, "ANYTIME_LIGHT_WHEN_AIM_100": 70, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 3, - "BAD_SHOOTS_MIN": 1, "BASE_HIT_AFFECTION_DELAY_SEC": 0.3, - "BASE_HIT_AFFECTION_MAX_ANG": 14, - "BASE_HIT_AFFECTION_MIN_ANG": 28, + "BASE_HIT_AFFECTION_MAX_ANG": 17, + "BASE_HIT_AFFECTION_MIN_ANG": 4, "BASE_SHIEF": 0.04, "BASE_SHIEF_STATIONARY_GRENADE": 1.1, "BETTER_PRECICING_COEF": 0.9, @@ -1821,7 +1807,7 @@ "FIRST_CONTACT_ADD_CHANCE_100": 80, "FIRST_CONTACT_ADD_SEC": 0.1, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 80, + "HARD_AIM_CHANCE_100": 20, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 2, "MAX_AIM_TIME": 1.5, @@ -1829,7 +1815,7 @@ "MIN_DAMAGE_TO_GET_HIT_AFFETS": 1, "MIN_TIME_DISCARD_AIM_SEC": 0.3, "NEXT_SHOT_MISS_CHANCE_100": 85, - "NEXT_SHOT_MISS_Y_OFFSET": 0.5, + "NEXT_SHOT_MISS_Y_OFFSET": 1, "OFFSET_RECAL_ANYWAY_TIME": 1, "PANIC_ACCURATY_COEF": 1.2, "PANIC_COEF": 1.2, @@ -1945,7 +1931,7 @@ "ScatteringPerMeter": 0.045, "ShotgunFireDistancePref": 50, "VisibleAngle": 160, - "VisibleDistance": 185, + "VisibleDistance": 175, "WaitInCoverBetweenShotsSec": 0.2 }, "Cover": { @@ -1961,7 +1947,6 @@ "DIST_CANT_CHANGE_WAY_SQR": 25, "DIST_CHECK_SFETY": 10, "DOG_FIGHT_AFTER_LEAVE": 4, - "END_HOLD_IF_ENEMY_CLOSE_AND_VISIBLE": 15, "ENEMY_DIST_TO_GO_OUT": 3, "GOOD_DIST_TO_POINT_COEF": 9999, "HIDE_TO_COVER_TIME": 5, @@ -1997,7 +1982,7 @@ "STAY_IF_FAR": 25, "STAY_IF_FAR_SQRT": 625, "TIME_CHECK_SAFE": 2, - "TIME_TO_MOVE_TO_COVER": 10, + "TIME_TO_MOVE_TO_COVER": 12, "WAIT_INT_COVER_FINDING_ENEMY": 2 }, "Grenade": { @@ -2020,7 +2005,6 @@ "DELTA_NEXT_ATTEMPT": 10, "DELTA_NEXT_ATTEMPT_FROM_COVER": 5, "FLASH_GRENADE_TIME_COEF": 0.25, - "GRENADE_PRECISION_PORTALS": 0.1, "GrenadePerMeter": 0.15, "GrenadePrecision": 0.1, "MAX_FLASHED_DIST_TO_SHOOT": 10, @@ -2077,7 +2061,7 @@ "DIST_ENEMY_GETUP_LAY_SQRT": 100, "DIST_ENEMY_NULL_DANGER_LAY": 15, "DIST_ENEMY_NULL_DANGER_LAY_SQRT": 225, - "DIST_GRASS_TERRAIN_SQRT": 0.160000011, + "DIST_GRASS_TERRAIN_SQRT": 0.16000001, "DIST_TO_COVER_TO_LAY": 3.5, "DIST_TO_COVER_TO_LAY_SQRT": 12.25, "LAY_AIM": 0.6, @@ -2109,7 +2093,6 @@ "MAX_VISION_GRASS_METERS": 0.8, "MAX_VISION_GRASS_METERS_FLARE": 0.001, "MIDDLE_DIST": 90, - "MIDDLE_DIST_CAN_SHOOT_HEAD": false, "MIN_LOOK_AROUD_TIME": 20, "MiddleDeltaTimeSec": 1, "NO_GRASS_DIST": 5, @@ -2146,7 +2129,7 @@ "CHANCE_SHOOT_WHEN_WARN_PLAYER_100": 100, "CHANCE_TO_IGNORE_TRIPWIRE": 25, "CHANCE_TO_RUN_CAUSE_DAMAGE_0_100": 10, - "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 100, + "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 50, "COVER_DIST_COEF": 1.5, "COVER_SECONDS_AFTER_LOSE_VISION": 10, "COVER_SELF_ALWAYS_IF_DAMAGED": false, @@ -2155,7 +2138,6 @@ "DEFAULT_BEAR_BEHAVIOUR": "AlwaysEnemies", "DEFAULT_SAVAGE_BEHAVIOUR": "AlwaysEnemies", "DEFAULT_USEC_BEHAVIOUR": "AlwaysEnemies", - "DIST_TO_ENEMY_SPOTTED_ON_HIT": 25, "DIST_TO_ENEMY_YO_CAN_HEAL": 50, "DIST_TO_FOUND_SQRT": 400, "DIST_TO_STOP_RUN_ENEMY": 15, @@ -2171,7 +2153,7 @@ "FRIEND_DEAD_AGR_LOW": -0.2, "GROUP_ANY_PHRASE_DELAY": 45, "GROUP_EXACTLY_PHRASE_DELAY": 60, - "HEAL_DELAY_SEC": 1, + "HEAL_DELAY_SEC": 3, "HIT_DELAY_WHEN_HAVE_SMT": -1, "HIT_DELAY_WHEN_PEACE": -1, "HIT_POINT_DETECTION": 4, @@ -2234,7 +2216,6 @@ "SLOW_COEF": 7, "START_SLOW_DIST": 1.5, "UPDATE_TIME_RECAL_WAY": 7, - "WAIT_DOOR_OPEN_SEC": 1, "Y_APPROXIMATION": 0.7 }, "Patrol": { diff --git a/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/usec.json b/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/usec.json index fbf8d96b..31a48f26 100644 --- a/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/usec.json +++ b/Libraries/SPTarkov.Server.Assets/SPT_Data/database/bots/types/usec.json @@ -147,12 +147,10 @@ "Aiming": { "AIMING_TYPE": 5, "ANYTIME_LIGHT_WHEN_AIM_100": 60, - "ANY_PART_SHOOT_TIME": 5, - "BAD_SHOOTS_MAX": 6, - "BAD_SHOOTS_MIN": 2, + "ANY_PART_SHOOT_TIME": 900, "BASE_HIT_AFFECTION_DELAY_SEC": 0.57, - "BASE_HIT_AFFECTION_MAX_ANG": 30, - "BASE_HIT_AFFECTION_MIN_ANG": 20, + "BASE_HIT_AFFECTION_MAX_ANG": 25, + "BASE_HIT_AFFECTION_MIN_ANG": 10, "BASE_SHIEF": 0.05, "BASE_SHIEF_STATIONARY_GRENADE": 1.1, "BETTER_PRECICING_COEF": 0.9, @@ -168,7 +166,6 @@ "FIRST_CONTACT_ADD_CHANCE_100": 80, "FIRST_CONTACT_ADD_SEC": 0.1, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 80, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 2, "MAX_AIM_TIME": 1.5, @@ -176,7 +173,7 @@ "MIN_DAMAGE_TO_GET_HIT_AFFETS": 1, "MIN_TIME_DISCARD_AIM_SEC": 0.3, "NEXT_SHOT_MISS_CHANCE_100": 95, - "NEXT_SHOT_MISS_Y_OFFSET": 0.25, + "NEXT_SHOT_MISS_Y_OFFSET": 1, "OFFSET_RECAL_ANYWAY_TIME": 1, "PANIC_ACCURATY_COEF": 1.2, "PANIC_COEF": 1.2, @@ -337,8 +334,6 @@ "SPOTTED_COVERS_RADIUS": 2.5, "SPOTTED_GRENADE_RADIUS": 16, "SPOTTED_GRENADE_TIME": 7, - "STATIONARY_CAN_USE": false, - "STATIONARY_SPOTTED_TIMES_TO_LEAVE": 2, "STATIONARY_WEAPON_MAX_DIST_TO_USE": 25, "STATIONARY_WEAPON_NO_ENEMY_GETUP": 15, "STAY_IF_FAR": 25, @@ -367,7 +362,6 @@ "DELTA_NEXT_ATTEMPT": 10, "DELTA_NEXT_ATTEMPT_FROM_COVER": 5, "FLASH_GRENADE_TIME_COEF": 0.25, - "GRENADE_PRECISION_PORTALS": 0.1, "GrenadePerMeter": 0.15, "GrenadePrecision": 0.1, "MAX_FLASHED_DIST_TO_SHOOT": 10, @@ -424,7 +418,7 @@ "DIST_ENEMY_GETUP_LAY_SQRT": 100, "DIST_ENEMY_NULL_DANGER_LAY": 15, "DIST_ENEMY_NULL_DANGER_LAY_SQRT": 225, - "DIST_GRASS_TERRAIN_SQRT": 0.160000011, + "DIST_GRASS_TERRAIN_SQRT": 0.16000001, "DIST_TO_COVER_TO_LAY": 3.5, "DIST_TO_COVER_TO_LAY_SQRT": 12.25, "LAY_AIM": 0.6, @@ -456,11 +450,10 @@ "MAX_VISION_GRASS_METERS": 0.8, "MAX_VISION_GRASS_METERS_FLARE": 0.001, "MIDDLE_DIST": 90, - "MIDDLE_DIST_CAN_SHOOT_HEAD": false, "MIN_LOOK_AROUD_TIME": 20, "MiddleDeltaTimeSec": 1, - "NO_GRASS_DIST": 8, - "NO_GREEN_DIST": 8, + "NO_GRASS_DIST": 5, + "NO_GREEN_DIST": 5, "OLD_TIME_POINT": 11, "POSIBLE_VISION_SPACE": 1.2, "VISIBILITY_CHANGE_SPEED": 1.2, @@ -510,7 +503,7 @@ "DOG_FIGHT_OUT": 6, "ENEMY_BOT_TYPES": [], "ENEMY_BY_GROUPS_SAVAGE_PLAYERS": true, - "ENEMY_LOOK_AT_ME_ANG": 10, + "ENEMY_LOOK_AT_ME_ANG": 12, "FIND_COVER_TO_GET_POSITION_WITH_SHOOT": 2, "FOLLOWER_AND_BOSS_WARN_EQUAL_PRIORITY": true, "FRIENDLY_BOT_TYPES": [], @@ -694,14 +687,12 @@ }, "hard": { "Aiming": { - "AIMING_TYPE": 4, + "AIMING_TYPE": 2, "ANYTIME_LIGHT_WHEN_AIM_100": 70, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 1, - "BAD_SHOOTS_MIN": 1, - "BASE_HIT_AFFECTION_DELAY_SEC": 0.1, + "BASE_HIT_AFFECTION_DELAY_SEC": 0.2, "BASE_HIT_AFFECTION_MAX_ANG": 10, - "BASE_HIT_AFFECTION_MIN_ANG": 2, + "BASE_HIT_AFFECTION_MIN_ANG": 3, "BASE_SHIEF": 0.03, "BASE_SHIEF_STATIONARY_GRENADE": 1.1, "BETTER_PRECICING_COEF": 0.9, @@ -714,10 +705,9 @@ "DANGER_UP_POINT": 1.3, "DIST_TO_SHOOT_NO_OFFSET": 3, "DIST_TO_SHOOT_TO_CENTER": 3, - "FIRST_CONTACT_ADD_CHANCE_100": 10, + "FIRST_CONTACT_ADD_CHANCE_100": 40, "FIRST_CONTACT_ADD_SEC": 0.1, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 60, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 2, "MAX_AIM_TIME": 1.5, @@ -829,7 +819,7 @@ "STUN_HEARING": 0.01 }, "Core": { - "AccuratySpeed": 0.05, + "AccuratySpeed": 0.15, "AimingType": "normal", "CanGrenade": true, "CanRun": true, @@ -1009,8 +999,8 @@ "MIDDLE_DIST_CAN_SHOOT_HEAD": false, "MIN_LOOK_AROUD_TIME": 20, "MiddleDeltaTimeSec": 1, - "NO_GRASS_DIST": 8, - "NO_GREEN_DIST": 8, + "NO_GRASS_DIST": 5, + "NO_GREEN_DIST": 5, "OLD_TIME_POINT": 11, "POSIBLE_VISION_SPACE": 1.2, "VISIBILITY_CHANGE_SPEED": 1.2, @@ -1042,7 +1032,7 @@ "CHANCE_SHOOT_WHEN_WARN_PLAYER_100": 100, "CHANCE_TO_IGNORE_TRIPWIRE": 25, "CHANCE_TO_RUN_CAUSE_DAMAGE_0_100": 10, - "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 100, + "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 50, "COVER_DIST_COEF": 1.5, "COVER_SECONDS_AFTER_LOSE_VISION": 10, "COVER_SELF_ALWAYS_IF_DAMAGED": false, @@ -1080,7 +1070,7 @@ "MAX_SHOOTS_TIME": 4, "MAX_START_AGGRESION_COEF": 3, "MAY_BE_CALLED_FOR_HELP": false, - "MIN_DAMAGE_SCARE": 250, + "MIN_DAMAGE_SCARE": 35, "MIN_SHOOTS_TIME": 2, "MIN_START_AGGRESION_COEF": 1, "NO_RUN_AWAY_FOR_SAFE": true, @@ -1246,8 +1236,6 @@ "AIMING_TYPE": 3, "ANYTIME_LIGHT_WHEN_AIM_100": 70, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 1, - "BAD_SHOOTS_MIN": 1, "BASE_HIT_AFFECTION_DELAY_SEC": 0.1, "BASE_HIT_AFFECTION_MAX_ANG": 4, "BASE_HIT_AFFECTION_MIN_ANG": 2, @@ -1258,7 +1246,7 @@ "BOT_MOVE_IF_DELTA": 3.01, "COEF_FROM_COVER": 0.45, "COEF_IF_MOVE": 1, - "DAMAGE_PANIC_TIME": 0.01, + "DAMAGE_PANIC_TIME": 15, "DAMAGE_TO_DISCARD_AIM_0_100": 94, "DANGER_UP_POINT": 1.3, "DIST_TO_SHOOT_NO_OFFSET": 3, @@ -1266,7 +1254,7 @@ "FIRST_CONTACT_ADD_CHANCE_100": 10, "FIRST_CONTACT_ADD_SEC": 0.01, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 80, + "HARD_AIM_CHANCE_100": 20, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 1, "MAX_AIM_TIME": 1.5, @@ -1274,7 +1262,7 @@ "MIN_DAMAGE_TO_GET_HIT_AFFETS": 1, "MIN_TIME_DISCARD_AIM_SEC": 0.3, "NEXT_SHOT_MISS_CHANCE_100": 50, - "NEXT_SHOT_MISS_Y_OFFSET": 0.2, + "NEXT_SHOT_MISS_Y_OFFSET": 1, "OFFSET_RECAL_ANYWAY_TIME": 1, "PANIC_ACCURATY_COEF": 1.2, "PANIC_COEF": 1.2, @@ -1378,20 +1366,20 @@ "STUN_HEARING": 0.01 }, "Core": { - "AccuratySpeed": 0.05, + "AccuratySpeed": 0.2, "AimingType": "normal", "CanGrenade": true, "CanRun": true, "DamageCoeff": 1, - "HearingSense": 1.25, + "HearingSense": 2.9, "PistolFireDistancePref": 35, "RifleFireDistancePref": 100, "ScatteringClosePerMeter": 0.12, "ScatteringPerMeter": 0.045, "ShotgunFireDistancePref": 50, - "VisibleAngle": 200, + "VisibleAngle": 190, "VisibleDistance": 185, - "WaitInCoverBetweenShotsSec": 0.2 + "WaitInCoverBetweenShotsSec": 0.3 }, "Cover": { "CAN_END_SHOOT_FROM_COVER_CAUSE_STATIONARY": false, @@ -1590,7 +1578,7 @@ "CHANCE_SHOOT_WHEN_WARN_PLAYER_100": 100, "CHANCE_TO_IGNORE_TRIPWIRE": 25, "CHANCE_TO_RUN_CAUSE_DAMAGE_0_100": 10, - "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 100, + "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 50, "COVER_DIST_COEF": 1.5, "COVER_SECONDS_AFTER_LOSE_VISION": 10, "COVER_SELF_ALWAYS_IF_DAMAGED": false, @@ -1627,7 +1615,7 @@ "MAX_AGGRO_BOT_DIST_SQR": 10000, "MAX_SHOOTS_TIME": 4, "MAX_START_AGGRESION_COEF": 3, - "MAY_BE_CALLED_FOR_HELP": false, + "MAY_BE_CALLED_FOR_HELP": true, "MIN_DAMAGE_SCARE": 250, "MIN_SHOOTS_TIME": 2, "MIN_START_AGGRESION_COEF": 1, @@ -1789,14 +1777,12 @@ }, "normal": { "Aiming": { - "AIMING_TYPE": 4, + "AIMING_TYPE": 2, "ANYTIME_LIGHT_WHEN_AIM_100": 70, "ANY_PART_SHOOT_TIME": 900, - "BAD_SHOOTS_MAX": 3, - "BAD_SHOOTS_MIN": 1, "BASE_HIT_AFFECTION_DELAY_SEC": 0.3, - "BASE_HIT_AFFECTION_MAX_ANG": 14, - "BASE_HIT_AFFECTION_MIN_ANG": 28, + "BASE_HIT_AFFECTION_MAX_ANG": 17, + "BASE_HIT_AFFECTION_MIN_ANG": 4, "BASE_SHIEF": 0.04, "BASE_SHIEF_STATIONARY_GRENADE": 1.1, "BETTER_PRECICING_COEF": 0.9, @@ -1812,7 +1798,7 @@ "FIRST_CONTACT_ADD_CHANCE_100": 80, "FIRST_CONTACT_ADD_SEC": 0.1, "HARD_AIM": 0.75, - "HARD_AIM_CHANCE_100": 80, + "HARD_AIM_CHANCE_100": 20, "MAX_AIMING_UPGRADE_BY_TIME": 0.25, "MAX_AIM_PRECICING": 2, "MAX_AIM_TIME": 1.5, @@ -1820,7 +1806,7 @@ "MIN_DAMAGE_TO_GET_HIT_AFFETS": 1, "MIN_TIME_DISCARD_AIM_SEC": 0.3, "NEXT_SHOT_MISS_CHANCE_100": 85, - "NEXT_SHOT_MISS_Y_OFFSET": 0.5, + "NEXT_SHOT_MISS_Y_OFFSET": 1, "OFFSET_RECAL_ANYWAY_TIME": 1, "PANIC_ACCURATY_COEF": 1.2, "PANIC_COEF": 1.2, @@ -1936,7 +1922,7 @@ "ScatteringPerMeter": 0.045, "ShotgunFireDistancePref": 50, "VisibleAngle": 160, - "VisibleDistance": 185, + "VisibleDistance": 175, "WaitInCoverBetweenShotsSec": 0.2 }, "Cover": { @@ -1952,7 +1938,6 @@ "DIST_CANT_CHANGE_WAY_SQR": 25, "DIST_CHECK_SFETY": 10, "DOG_FIGHT_AFTER_LEAVE": 4, - "END_HOLD_IF_ENEMY_CLOSE_AND_VISIBLE": 15, "ENEMY_DIST_TO_GO_OUT": 3, "GOOD_DIST_TO_POINT_COEF": 9999, "HIDE_TO_COVER_TIME": 5, @@ -1988,7 +1973,7 @@ "STAY_IF_FAR": 25, "STAY_IF_FAR_SQRT": 625, "TIME_CHECK_SAFE": 2, - "TIME_TO_MOVE_TO_COVER": 10, + "TIME_TO_MOVE_TO_COVER": 12, "WAIT_INT_COVER_FINDING_ENEMY": 2 }, "Grenade": { @@ -2011,7 +1996,6 @@ "DELTA_NEXT_ATTEMPT": 10, "DELTA_NEXT_ATTEMPT_FROM_COVER": 5, "FLASH_GRENADE_TIME_COEF": 0.25, - "GRENADE_PRECISION_PORTALS": 0.1, "GrenadePerMeter": 0.15, "GrenadePrecision": 0.1, "MAX_FLASHED_DIST_TO_SHOOT": 10, @@ -2068,7 +2052,7 @@ "DIST_ENEMY_GETUP_LAY_SQRT": 100, "DIST_ENEMY_NULL_DANGER_LAY": 15, "DIST_ENEMY_NULL_DANGER_LAY_SQRT": 225, - "DIST_GRASS_TERRAIN_SQRT": 0.160000011, + "DIST_GRASS_TERRAIN_SQRT": 0.16000001, "DIST_TO_COVER_TO_LAY": 3.5, "DIST_TO_COVER_TO_LAY_SQRT": 12.25, "LAY_AIM": 0.6, @@ -2100,7 +2084,6 @@ "MAX_VISION_GRASS_METERS": 0.8, "MAX_VISION_GRASS_METERS_FLARE": 0.001, "MIDDLE_DIST": 90, - "MIDDLE_DIST_CAN_SHOOT_HEAD": false, "MIN_LOOK_AROUD_TIME": 20, "MiddleDeltaTimeSec": 1, "NO_GRASS_DIST": 5, @@ -2137,7 +2120,7 @@ "CHANCE_SHOOT_WHEN_WARN_PLAYER_100": 100, "CHANCE_TO_IGNORE_TRIPWIRE": 25, "CHANCE_TO_RUN_CAUSE_DAMAGE_0_100": 10, - "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 100, + "CHANCE_TO_STAY_WHEN_WARN_PLAYER_100": 50, "COVER_DIST_COEF": 1.5, "COVER_SECONDS_AFTER_LOSE_VISION": 10, "COVER_SELF_ALWAYS_IF_DAMAGED": false, @@ -2146,7 +2129,6 @@ "DEFAULT_BEAR_BEHAVIOUR": "AlwaysEnemies", "DEFAULT_SAVAGE_BEHAVIOUR": "AlwaysEnemies", "DEFAULT_USEC_BEHAVIOUR": "AlwaysEnemies", - "DIST_TO_ENEMY_SPOTTED_ON_HIT": 25, "DIST_TO_ENEMY_YO_CAN_HEAL": 50, "DIST_TO_FOUND_SQRT": 400, "DIST_TO_STOP_RUN_ENEMY": 15, @@ -2162,7 +2144,7 @@ "FRIEND_DEAD_AGR_LOW": -0.2, "GROUP_ANY_PHRASE_DELAY": 45, "GROUP_EXACTLY_PHRASE_DELAY": 60, - "HEAL_DELAY_SEC": 1, + "HEAL_DELAY_SEC": 3, "HIT_DELAY_WHEN_HAVE_SMT": -1, "HIT_DELAY_WHEN_PEACE": -1, "HIT_POINT_DETECTION": 4, @@ -2225,7 +2207,6 @@ "SLOW_COEF": 7, "START_SLOW_DIST": 1.5, "UPDATE_TIME_RECAL_WAY": 7, - "WAIT_DOOR_OPEN_SEC": 1, "Y_APPROXIMATION": 0.7 }, "Patrol": { diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalAimingSettings.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalAimingSettings.cs index 89fc215d..0a26626b 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalAimingSettings.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalAimingSettings.cs @@ -58,12 +58,18 @@ public record BotGlobalAimingSettings [JsonPropertyName("DAMAGE_PANIC_TIME")] public float? DamagePanicTime { get; set; } + /// + /// danger point firing level + /// [JsonPropertyName("DANGER_UP_POINT")] public float? DangerUpPoint { get; set; } [JsonPropertyName("MAX_AIMING_UPGRADE_BY_TIME")] public float? MaxAimingUpgradeByTime { get; set; } + /// + /// this is the probability that the bot will mow down the shot when hit. The alternative is to worsen the aiming time + /// [JsonPropertyName("DAMAGE_TO_DISCARD_AIM_0_100")] public float? DamageToDiscardAim0100 { get; set; } @@ -82,6 +88,9 @@ public record BotGlobalAimingSettings [JsonPropertyName("XZ_COEF_STATIONARY_GRENADE")] public float? XzCoefStationaryGrenade { get; set; } + /// + /// How many shots on target are needed approximately to change the priority to shooting at legs + /// [JsonPropertyName("SHOOT_TO_CHANGE_PRIORITY")] public int? ShootToChangePriority { get; set; } @@ -91,6 +100,9 @@ public record BotGlobalAimingSettings [JsonPropertyName("FIRST_CONTACT_ADD_SEC")] public float? FirstContactAddSec { get; set; } + /// + /// Chance of triggering the delay specified in FIRST_CONTACT_ADD_SEC + /// [JsonPropertyName("FIRST_CONTACT_ADD_CHANCE_100")] public float? FirstContactAddChance100 { get; set; } @@ -103,6 +115,9 @@ public record BotGlobalAimingSettings [JsonPropertyName("BASE_HIT_AFFECTION_MAX_ANG")] public float? BaseHitAffectionMaxAng { get; set; } + /// + /// Base shift in meters for aiming (example: BASE_SHIEF=5 => means at a distance of 20 meters the aiming will be as at 20+5=25) + /// [JsonPropertyName("BASE_SHIEF")] public float? BaseShief { get; set; } @@ -151,6 +166,10 @@ public record BotGlobalAimingSettings [JsonPropertyName("ANYTIME_LIGHT_WHEN_AIM_100")] public float? AnytimeLightWhenAim100 { get; set; } + /// + /// How many seconds after first spotting an enemy will it be possible to shoot at any part of the body? + /// default 900 + /// [JsonPropertyName("ANY_PART_SHOOT_TIME")] public float? AnyPartShootTime { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalLookData.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalLookData.cs index e94103ec..f070c0af 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalLookData.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalLookData.cs @@ -67,6 +67,9 @@ public record BotGlobalLookData [JsonPropertyName("BASE_RUNTIME_EFFECT_K")] public float? BaseRuntimeEffectK { get; set; } + /// + /// The maximum value of the coefficient of the speed of change of the visibility scale at a minimum distance. The higher it is, the faster the scale will increase near the enemy + /// [JsonPropertyName("MIN_DISTANCE_VISIBILITY_CHANGE_SPEED_K")] public float? MinDistanceVisibilityChangeSpeedK { get; set; } @@ -148,21 +151,36 @@ public record BotGlobalLookData [JsonPropertyName("VISIBLE_ANG_NIGHTVISION")] public float? VisibleAngNightvision { get; set; } + /// + /// if the distance between players is less than X then grass and foliage are ignored at the Layers level + /// [JsonPropertyName("NO_GREEN_DIST")] public float? NoGreenDist { get; set; } + /// + /// if the distance between players is less than X then grass is ignored at the Layers level + /// [JsonPropertyName("NO_GRASS_DIST")] public float? NoGrassDist { get; set; } + /// + /// Coefficient applied to the speed of notice if the bot is inside the bush + /// [JsonPropertyName("INSIDE_BUSH_COEF")] public float? InsideBushCoef { get; set; } + /// + /// what curve to use for vision range by time of day + /// [JsonPropertyName("SELF_NIGHTVISION")] public bool? SelfNightvision { get; set; } [JsonPropertyName("FULL_SECTOR_VIEW")] public bool? FullSectorView { get; set; } + /// + /// How many seconds after being hit will you be able to see through the greenery? + /// [JsonPropertyName("LOOK_THROUGH_PERIOD_BY_HIT")] public float? LookThroughPeriodByHit { get; set; } diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsCoverSettings.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsCoverSettings.cs index a5609646..c32d046d 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsCoverSettings.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsCoverSettings.cs @@ -103,12 +103,18 @@ public record BotGlobalsCoverSettings [JsonPropertyName("DEPENDS_Y_DIST_TO_BOT")] public bool? DependsYDistToBot { get; set; } + /// + /// The bot will run to cover if it is closer than X + /// [JsonPropertyName("RUN_IF_FAR")] public float? RunIfFar { get; set; } [JsonPropertyName("RUN_IF_FAR_SQRT")] public float? RunIfFarSqrt { get; set; } + /// + /// The bot will go shooting into cover if it is closer than X but more than RUN_IF_FAR + /// [JsonPropertyName("STAY_IF_FAR")] public float? StayIfFar { get; set; } @@ -157,6 +163,9 @@ public record BotGlobalsCoverSettings [JsonPropertyName("MIN_TO_ENEMY_TO_BE_NOT_SAFE_SQRT")] public float? MinToEnemyToBeNotSafeSqrt { get; set; } + /// + /// If the enemy is closer than X to this point, the bot will consider that it is impossible to hide there. + /// [JsonPropertyName("MIN_TO_ENEMY_TO_BE_NOT_SAFE")] public float? MinToEnemyToBeNotSafe { get; set; } @@ -184,6 +193,10 @@ public record BotGlobalsCoverSettings [JsonPropertyName("CAN_END_SHOOT_FROM_COVER_CAUSE_STATIONARY_RADIUS")] public float? CanEndShootFromCoverCauseStationaryRadius { get; set; } + /// + /// If the enemy is visible (we are not under fire) and closer than X meters, then we stop holding. + /// default 15 + /// [JsonPropertyName("END_HOLD_IF_ENEMY_CLOSE_AND_VISIBLE")] public float? EndHoldIfEnemyCloseAndVisible { get; set; } @@ -211,6 +224,9 @@ public record BotGlobalsCoverSettings [JsonPropertyName("CAN_LAY_TO_COVER_DIST_LOOK_TO_ENEMY")] public float? CanLayToCoverDistLookToEnemy { get; set; } + /// + /// Can it lie down in shelters if it is of the lying type? + /// [JsonPropertyName("CAN_LAY_TO_COVER")] public bool? CanLayToCover { get; set; } } diff --git a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsMindSettings.cs b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsMindSettings.cs index 7d0d2746..80eb6013 100644 --- a/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsMindSettings.cs +++ b/Libraries/SPTarkov.Server.Core/Models/Eft/Bot/GlobalSettings/BotGlobalsMindSettings.cs @@ -29,6 +29,10 @@ public record BotGlobalsMindSettings [JsonPropertyName("DAMAGE_REDUCTION_TIME_SEC")] public float? DamageReductionTimeSec { get; set; } + /// + /// Minimum damage a bot must take to get a danger point + /// default 20 + /// [JsonPropertyName("MIN_DAMAGE_SCARE")] public float? MinDamageScare { get; set; } @@ -233,12 +237,19 @@ public record BotGlobalsMindSettings [JsonPropertyName("DIST_TO_ENEMY_YO_CAN_HEAL")] public float? DistToEnemyYoCanHeal { get; set; } + /// + /// Chance that after the first 2 actions when warning the bot will stand and wait for the next 4 seconds + /// [JsonPropertyName("CHANCE_TO_STAY_WHEN_WARN_PLAYER_100")] public float? ChanceToStayWhenWarnPlayer100 { get; set; } [JsonPropertyName("DOG_FIGHT_OUT")] public float? DogFightOut { get; set; } + /// + /// Will enter dogfight + /// default 3 + /// [JsonPropertyName("DOG_FIGHT_IN")] public float? DogFightIn { get; set; } @@ -368,6 +379,9 @@ public record BotGlobalsMindSettings [JsonPropertyName("ACTIVE_FOLLOW_PLAYER_EVENTS")] public bool? ActiveFollowPlayerEvents { get; set; } + /// + /// The bot can be called to help by the boss (for example, Tagilla or Boar + /// [JsonPropertyName("MAY_BE_CALLED_FOR_HELP")] public bool? MayBeCalledForHelp { get; set; }