Merge branch 'master' of https://dev.sp-tarkov.com/SPT-AKI/Server into 3.8.0

This commit is contained in:
Dev 2023-11-06 13:18:56 +00:00
commit 6de32bad6a
6 changed files with 28905 additions and 28770 deletions

View File

@ -836,9 +836,78 @@
"mod_tactical_003": 10, "mod_tactical_003": 10,
"mod_tactical_2": 10 "mod_tactical_2": 10
} }
}, { },
{
"levelRange": { "levelRange": {
"min": 15, "min": 15,
"max": 22
},
"equipment": {
"ArmBand": 90,
"FirstPrimaryWeapon": 90,
"SecondPrimaryWeapon": 0,
"Holster": 10,
"Earpiece": 35,
"Eyewear": 15,
"FaceCover": 20,
"Backpack": 80,
"Scabbard": 100,
"TacticalVest": 90
},
"randomisedArmorSlots": ["Headwear"],
"randomisedWeaponModSlots": ["mod_scope", "mod_scope_000", "mod_scope_001", "mod_scope_002", "mod_scope_003",
"mod_handguard", "mod_magazine", "mod_muzzle", "mod_bipod",
"mod_muzzle_000", "mod_muzzle_001", "mod_charge",
"mod_gas_block", "mod_pistol_grip", "mod_pistolgrip", "mod_pistol_grip_akms", "mod_pistolgrip_000",
"mod_foregrip", "mod_trigger", "mod_reciever", "mod_hammer",
"mod_stock", "mod_stock_000", "mod_stock_001", "mod_stock_akms", "mod_stock_axis",
"mod_mount_000", "mod_mount_001", "mod_mount_002", "mod_mount_003", "mod_mount_004", "mod_mount_005", "mod_mount_006",
"mod_tactical", "mod_tactical_2", "mod_tactical_000", "mod_tactical_001", "mod_tactical_002", "mod_tactical_003"
],
"mods": {
"mod_barrel": 50,
"mod_bipod": 10,
"mod_flashlight": 35,
"mod_foregrip": 45,
"mod_handguard": 25,
"mod_launcher": 5,
"mod_magazine": 50,
"mod_mount": 45,
"mod_mount_000": 35,
"mod_mount_001": 35,
"mod_mount_002": 35,
"mod_mount_003": 35,
"mod_mount_004": 35,
"mod_mount_005": 35,
"mod_mount_006": 35,
"mod_muzzle": 25,
"mod_muzzle_000": 20,
"mod_muzzle_001": 20,
"mod_equipment": 30,
"mod_equipment_000": 40,
"mod_equipment_001": 35,
"mod_equipment_002": 30,
"mod_nvg": 20,
"mod_pistol_grip_akms": 35,
"mod_pistol_grip": 40,
"mod_scope": 15,
"mod_scope_000": 45,
"mod_scope_001": 35,
"mod_scope_002": 35,
"mod_scope_003": 25,
"mod_tactical": 15,
"mod_tactical001": 40,
"mod_tactical002": 30,
"mod_tactical_000": 40,
"mod_tactical_001": 30,
"mod_tactical_002": 30,
"mod_tactical_003": 30,
"mod_tactical_2": 15
}
},
{
"levelRange": {
"min": 23,
"max": 100 "max": 100
}, },
"equipment": { "equipment": {
@ -1002,7 +1071,9 @@
"5e870397991fd70db46995c8": 10, "5e870397991fd70db46995c8": 10,
"61f7c9e189e6fb1a5e3ea78d": 110, "61f7c9e189e6fb1a5e3ea78d": 110,
"5a38e6bac4a2826c6e06d79b": 90, "5a38e6bac4a2826c6e06d79b": 90,
"5ea03f7400685063ec28bfa8": 50 "5ea03f7400685063ec28bfa8": 50,
"627e14b21713922ded6f2c15": 1,
"6275303a9f372d6ea97f9ec7": 1
}, },
"SecondPrimaryWeapon": { "SecondPrimaryWeapon": {
"5e81ebcd8e146c7080625e15": 0 "5e81ebcd8e146c7080625e15": 0
@ -1038,7 +1109,63 @@
} }
} }
} }
}, { },
{
"levelRange": {
"min": 15,
"max": 22
},
"equipment": {
"edit": {
"ArmorVest": {
"5c0e5bab86f77461f55ed1f3": 135,
"5c0e5edb86f77461f55ed1f7": 135,
"5648a7494bdc2d9d488b4583": 135,
"5ab8e4ed86f7742d8e50c7fa": 135
},
"TacticalVest": {
"5c0e3eb886f7742015526062": 40,
"64a536392d2c4e6e970f4121": 40,
"64a5366719bab53bd203bf33": 40
},
"Backpack": {
"544a5cde4bdc2d39388b456b": 7,
"5ca20d5986f774331e7c9602": 7,
"60a272cc93ef783291411d8e": 7,
"6034d103ca006d2dca39b3f0": 7,
"618bb76513f5097c8d5aa2d5": 7,
"619cf0335771dd3c390269ae": 7,
"628e1ffc83ec92260c0f437f": 7,
"62a1b7fbc30cfa1d366af586": 7,
"5f5e467b0bc58666c37e7821": 6,
"5c0e805e86f774683f3dd637": 6
},
"Headwear": {
"5aa7cfc0e5b5b00015693143": 80,
"5a7c4850e899ef00150be885": 80,
"5e00c1ad86f774747333222c": 50,
"5c06c6a80db834001b735491": 80,
"5aa7d03ae5b5b00016327db5": 70,
"5d5e7d28a4b936645d161203": 50,
"5b432d215acfc4771e1c6624": 60,
"5b40e3f35acfc40016388218": 40,
"5b40e4035acfc47a87740943": 40,
"5a154d5cfcdbcb001a3b00da": 40,
"5ac8d6885acfc400180ae7b0": 40
},
"Earpiece": {
"5645bcc04bdc2d363b8b4572": 7
},
"FirstPrimaryWeapon": {
"627e14b21713922ded6f2c15": 1,
"6275303a9f372d6ea97f9ec7": 1,
"64ca3d3954fc657e230529cc": 1,
"64637076203536ad5600c990": 1
}
}
}
},
{
"levelRange": { "levelRange": {
"min": 30, "min": 30,
"max": 50 "max": 50

View File

@ -56,7 +56,7 @@
"equipment": { "equipment": {
"ArmBand": 50, "ArmBand": 50,
"ArmorVest": 75, "ArmorVest": 75,
"Backpack": 85, "Backpack": 90,
"Earpiece": 50, "Earpiece": 50,
"Eyewear": 25, "Eyewear": 25,
"FaceCover": 35, "FaceCover": 35,
@ -2492,7 +2492,8 @@
} }
}, },
"health": { "health": {
"BodyParts": [{ "BodyParts": [
{
"Chest": { "Chest": {
"max": 85, "max": 85,
"min": 85 "min": 85
@ -2775,6 +2776,7 @@
"60a283193cb70855c43a381d": 17, "60a283193cb70855c43a381d": 17,
"62a09d79de7ac81993580530": 10, "62a09d79de7ac81993580530": 10,
"63737f448b28897f2802b874": 17, "63737f448b28897f2802b874": 17,
"64abd93857958b4249003418": 140,
"64be79c487d1510151095552": 17 "64be79c487d1510151095552": 17
}, },
"Backpack": { "Backpack": {
@ -3046,7 +3048,7 @@
"5ab8dab586f77441cd04f2a2": 38, "5ab8dab586f77441cd04f2a2": 38,
"5ab8dced86f774646209ec87": 38, "5ab8dced86f774646209ec87": 38,
"5b44c8ea86f7742d1627baf1": 38, "5b44c8ea86f7742d1627baf1": 38,
"5b44cad286f77402a54ae7e5": 50, "5b44cad286f77402a54ae7e5": 45,
"5c0e3eb886f7742015526062": 3, "5c0e3eb886f7742015526062": 3,
"5c0e446786f7742013381639": 38, "5c0e446786f7742013381639": 38,
"5c0e6a1586f77404597b4965": 38, "5c0e6a1586f77404597b4965": 38,
@ -3060,7 +3062,7 @@
"5d5d8ca986f7742798716522": 38, "5d5d8ca986f7742798716522": 38,
"5df8a42886f77412640e2e75": 38, "5df8a42886f77412640e2e75": 38,
"5e4abfed86f77406a2713cf7": 38, "5e4abfed86f77406a2713cf7": 38,
"5e4ac41886f77406a511c9a8": 50, "5e4ac41886f77406a511c9a8": 45,
"5e9db13186f7742f845ee9d3": 38, "5e9db13186f7742f845ee9d3": 38,
"5f5f41f56760b4138443b352": 38, "5f5f41f56760b4138443b352": 38,
"603648ff5a45383c122086ac": 38, "603648ff5a45383c122086ac": 38,
@ -3079,6 +3081,7 @@
"628d0618d1ba6e4fa07ce5a4": 25, "628d0618d1ba6e4fa07ce5a4": 25,
"628dc750b910320f4c27a732": 38, "628dc750b910320f4c27a732": 38,
"63611865ba5b90db0c0399d1": 38, "63611865ba5b90db0c0399d1": 38,
"639343fce101f4caa40a4ef3": 25,
"64a536392d2c4e6e970f4121": 25, "64a536392d2c4e6e970f4121": 25,
"64a5366719bab53bd203bf33": 25, "64a5366719bab53bd203bf33": 25,
"64be7095047e826eae02b0c1": 5, "64be7095047e826eae02b0c1": 5,

View File

@ -53,7 +53,7 @@
"equipment": { "equipment": {
"ArmBand": 50, "ArmBand": 50,
"ArmorVest": 75, "ArmorVest": 75,
"Backpack": 85, "Backpack": 90,
"Earpiece": 50, "Earpiece": 50,
"Eyewear": 25, "Eyewear": 25,
"FaceCover": 35, "FaceCover": 35,
@ -78,7 +78,7 @@
"mod_gas_block": 100, "mod_gas_block": 100,
"mod_hammer": 25, "mod_hammer": 25,
"mod_handguard": 100, "mod_handguard": 100,
"mod_launcher": 15, "mod_launcher": 20,
"mod_magazine": 100, "mod_magazine": 100,
"mod_mount": 85, "mod_mount": 85,
"mod_mount_000": 75, "mod_mount_000": 75,
@ -475,6 +475,7 @@
"MAX_AGGRO_BOT_DIST_SQR": 10000, "MAX_AGGRO_BOT_DIST_SQR": 10000,
"MAX_SHOOTS_TIME": 6, "MAX_SHOOTS_TIME": 6,
"MAX_START_AGGRESION_COEF": 3, "MAX_START_AGGRESION_COEF": 3,
"MAY_BE_CALLED_FOR_HELP": true,
"MIN_DAMAGE_SCARE": 250, "MIN_DAMAGE_SCARE": 250,
"MIN_SHOOTS_TIME": 3, "MIN_SHOOTS_TIME": 3,
"MIN_START_AGGRESION_COEF": 1, "MIN_START_AGGRESION_COEF": 1,
@ -495,8 +496,7 @@
"TIME_TO_FIND_ENEMY": 8, "TIME_TO_FIND_ENEMY": 8,
"TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180, "TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180,
"TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15, "TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15,
"WARN_BOT_TYPES": [], "WARN_BOT_TYPES": []
"MAY_BE_CALLED_FOR_HELP": true
}, },
"Move": { "Move": {
"BASESTART_SLOW_DIST": 1.1, "BASESTART_SLOW_DIST": 1.1,
@ -977,6 +977,7 @@
"MAX_AGGRO_BOT_DIST_SQR": 10000, "MAX_AGGRO_BOT_DIST_SQR": 10000,
"MAX_SHOOTS_TIME": 4, "MAX_SHOOTS_TIME": 4,
"MAX_START_AGGRESION_COEF": 3, "MAX_START_AGGRESION_COEF": 3,
"MAY_BE_CALLED_FOR_HELP": true,
"MIN_DAMAGE_SCARE": 250, "MIN_DAMAGE_SCARE": 250,
"MIN_SHOOTS_TIME": 2, "MIN_SHOOTS_TIME": 2,
"MIN_START_AGGRESION_COEF": 1, "MIN_START_AGGRESION_COEF": 1,
@ -997,8 +998,7 @@
"TIME_TO_FIND_ENEMY": 8, "TIME_TO_FIND_ENEMY": 8,
"TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180, "TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180,
"TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15, "TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15,
"WARN_BOT_TYPES": [], "WARN_BOT_TYPES": []
"MAY_BE_CALLED_FOR_HELP": true
}, },
"Move": { "Move": {
"BASESTART_SLOW_DIST": 1.1, "BASESTART_SLOW_DIST": 1.1,
@ -1480,6 +1480,7 @@
"MAX_AGGRO_BOT_DIST_SQR": 10000, "MAX_AGGRO_BOT_DIST_SQR": 10000,
"MAX_SHOOTS_TIME": 4, "MAX_SHOOTS_TIME": 4,
"MAX_START_AGGRESION_COEF": 3, "MAX_START_AGGRESION_COEF": 3,
"MAY_BE_CALLED_FOR_HELP": true,
"MIN_DAMAGE_SCARE": 250, "MIN_DAMAGE_SCARE": 250,
"MIN_SHOOTS_TIME": 2, "MIN_SHOOTS_TIME": 2,
"MIN_START_AGGRESION_COEF": 1, "MIN_START_AGGRESION_COEF": 1,
@ -1500,8 +1501,7 @@
"TIME_TO_FIND_ENEMY": 8, "TIME_TO_FIND_ENEMY": 8,
"TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180, "TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180,
"TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15, "TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15,
"WARN_BOT_TYPES": [], "WARN_BOT_TYPES": []
"MAY_BE_CALLED_FOR_HELP": true
}, },
"Move": { "Move": {
"BASESTART_SLOW_DIST": 1.1, "BASESTART_SLOW_DIST": 1.1,
@ -1985,6 +1985,7 @@
"MAX_AGGRO_BOT_DIST_SQR": 10000, "MAX_AGGRO_BOT_DIST_SQR": 10000,
"MAX_SHOOTS_TIME": 4, "MAX_SHOOTS_TIME": 4,
"MAX_START_AGGRESION_COEF": 3, "MAX_START_AGGRESION_COEF": 3,
"MAY_BE_CALLED_FOR_HELP": true,
"MIN_DAMAGE_SCARE": 250, "MIN_DAMAGE_SCARE": 250,
"MIN_SHOOTS_TIME": 2, "MIN_SHOOTS_TIME": 2,
"MIN_START_AGGRESION_COEF": 1, "MIN_START_AGGRESION_COEF": 1,
@ -2005,8 +2006,7 @@
"TIME_TO_FIND_ENEMY": 8, "TIME_TO_FIND_ENEMY": 8,
"TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180, "TIME_TO_FORGOR_ABOUT_ENEMY_SEC": 180,
"TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15, "TIME_TO_RUN_TO_COVER_CAUSE_SHOOT_SEC": 15,
"WARN_BOT_TYPES": [], "WARN_BOT_TYPES": []
"MAY_BE_CALLED_FOR_HELP": true
}, },
"Move": { "Move": {
"BASESTART_SLOW_DIST": 1.1, "BASESTART_SLOW_DIST": 1.1,
@ -2489,7 +2489,8 @@
} }
}, },
"health": { "health": {
"BodyParts": [{ "BodyParts": [
{
"Chest": { "Chest": {
"max": 85, "max": 85,
"min": 85 "min": 85
@ -2772,6 +2773,7 @@
"60a283193cb70855c43a381d": 17, "60a283193cb70855c43a381d": 17,
"62a09d79de7ac81993580530": 10, "62a09d79de7ac81993580530": 10,
"63737f448b28897f2802b874": 17, "63737f448b28897f2802b874": 17,
"64abd93857958b4249003418": 140,
"64be79c487d1510151095552": 17 "64be79c487d1510151095552": 17
}, },
"Backpack": { "Backpack": {
@ -3043,7 +3045,7 @@
"5ab8dab586f77441cd04f2a2": 38, "5ab8dab586f77441cd04f2a2": 38,
"5ab8dced86f774646209ec87": 38, "5ab8dced86f774646209ec87": 38,
"5b44c8ea86f7742d1627baf1": 38, "5b44c8ea86f7742d1627baf1": 38,
"5b44cad286f77402a54ae7e5": 50, "5b44cad286f77402a54ae7e5": 45,
"5c0e3eb886f7742015526062": 3, "5c0e3eb886f7742015526062": 3,
"5c0e446786f7742013381639": 38, "5c0e446786f7742013381639": 38,
"5c0e6a1586f77404597b4965": 38, "5c0e6a1586f77404597b4965": 38,
@ -3057,7 +3059,7 @@
"5d5d8ca986f7742798716522": 38, "5d5d8ca986f7742798716522": 38,
"5df8a42886f77412640e2e75": 38, "5df8a42886f77412640e2e75": 38,
"5e4abfed86f77406a2713cf7": 38, "5e4abfed86f77406a2713cf7": 38,
"5e4ac41886f77406a511c9a8": 50, "5e4ac41886f77406a511c9a8": 45,
"5e9db13186f7742f845ee9d3": 38, "5e9db13186f7742f845ee9d3": 38,
"5f5f41f56760b4138443b352": 38, "5f5f41f56760b4138443b352": 38,
"603648ff5a45383c122086ac": 38, "603648ff5a45383c122086ac": 38,
@ -3076,6 +3078,7 @@
"628d0618d1ba6e4fa07ce5a4": 25, "628d0618d1ba6e4fa07ce5a4": 25,
"628dc750b910320f4c27a732": 38, "628dc750b910320f4c27a732": 38,
"63611865ba5b90db0c0399d1": 38, "63611865ba5b90db0c0399d1": 38,
"639343fce101f4caa40a4ef3": 25,
"64a536392d2c4e6e970f4121": 25, "64a536392d2c4e6e970f4121": 25,
"64a5366719bab53bd203bf33": 25, "64a5366719bab53bd203bf33": 25,
"64be7095047e826eae02b0c1": 5, "64be7095047e826eae02b0c1": 5,
@ -4068,9 +4071,6 @@
"5a800961159bd4315e3a1657" "5a800961159bd4315e3a1657"
] ]
}, },
"637f57b78d137b27f70c496a": {
"mod_foregrip": ["58c157c886f774032749fb06"]
},
"55d45f484bdc2d972f8b456d": { "55d45f484bdc2d972f8b456d": {
"mod_foregrip": [ "mod_foregrip": [
"5c1bc5af2e221602b412949b" "5c1bc5af2e221602b412949b"
@ -5758,6 +5758,9 @@
"mod_gas_block": [ "mod_gas_block": [
"59e649f986f77411d949b246" "59e649f986f77411d949b246"
], ],
"mod_launcher": [
"62e7e7bbe6da9612f743f1e0"
],
"mod_magazine": [ "mod_magazine": [
"59d625f086f774661516605d", "59d625f086f774661516605d",
"59d6272486f77466146386ff", "59d6272486f77466146386ff",
@ -5779,9 +5782,6 @@
"mod_sight_front": [ "mod_sight_front": [
"5a0f096dfcdbcb0176308b15" "5a0f096dfcdbcb0176308b15"
], ],
"mod_launcher": [
"62e7e7bbe6da9612f743f1e0"
],
"mod_sight_rear": [ "mod_sight_rear": [
"59d650cf86f7741b846413a4" "59d650cf86f7741b846413a4"
], ],
@ -13785,6 +13785,11 @@
"5a800961159bd4315e3a1657" "5a800961159bd4315e3a1657"
] ]
}, },
"637f57b78d137b27f70c496a": {
"mod_foregrip": [
"58c157c886f774032749fb06"
]
},
"6386300124a1dc425c00577a": { "6386300124a1dc425c00577a": {
"mod_stock": [ "mod_stock": [
"5a0c59791526d8dba737bba7" "5a0c59791526d8dba737bba7"

View File

@ -66,17 +66,17 @@ export class BotHelper
*/ */
public isBotPmc(botRole: string): boolean public isBotPmc(botRole: string): boolean
{ {
return (["usec", "bear", "pmc", "sptbear", "sptusec"].includes(botRole.toLowerCase())); return (["usec", "bear", "pmc", "sptbear", "sptusec"].includes(botRole?.toLowerCase()));
} }
public isBotBoss(botRole: string): boolean public isBotBoss(botRole: string): boolean
{ {
return this.botConfig.bosses.some(x => x.toLowerCase() === botRole.toLowerCase()); return this.botConfig.bosses.some(x => x.toLowerCase() === botRole?.toLowerCase());
} }
public isBotFollower(botRole: string): boolean public isBotFollower(botRole: string): boolean
{ {
return botRole.toLowerCase().startsWith("follower"); return botRole?.toLowerCase().startsWith("follower");
} }
/** /**

View File

@ -361,7 +361,7 @@ class ItemHelper
protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number protected getRepairableItemQualityValue(itemDetails: ITemplateItem, repairable: Repairable, item: Item): number
{ {
// Edge case, max durability is below durability // Edge case, max durability is below durability
if (repairable.Durability < repairable.MaxDurability) if (repairable.Durability > repairable.MaxDurability)
{ {
this.logger.warning(`Max durability: ${repairable.MaxDurability} for item id: ${item._id} was below Durability: ${repairable.Durability}, adjusting values to match`); this.logger.warning(`Max durability: ${repairable.MaxDurability} for item id: ${item._id} was below Durability: ${repairable.Durability}, adjusting values to match`);
repairable.MaxDurability = repairable.Durability; repairable.MaxDurability = repairable.Durability;

View File

@ -84,7 +84,7 @@ export abstract class AbstractWinstonLogger implements ILogger
new DailyRotateFile({ new DailyRotateFile({
level: "debug", level: "debug",
filename: this.filePath, filename: this.filePath,
datePattern: "YYYY-MM-DD-HH", datePattern: "YYYY-MM-DD",
zippedArchive: true, zippedArchive: true,
maxSize: this.getLogMaxSize(), maxSize: this.getLogMaxSize(),
maxFiles: this.getLogMaxFiles(), maxFiles: this.getLogMaxFiles(),