From 40149edeb2a66bb9170ff0646ed08bcd23e5ec45 Mon Sep 17 00:00:00 2001 From: Dev Date: Mon, 24 Jul 2023 13:20:17 +0100 Subject: [PATCH] axmc bot weapon generation improvements Slight weapon variety improvement for PMCs Only generate backpack loot if bot has backpack - reduces warnings during botgen Move warning mesage to debug Add sanitar medkit to pmc blacklist Pass ur to warning message when endpoint body fails json validation Pass sessionId into `locationController.generateAll()` to help modders when overriding function Test - Added grizzly x5 to PMC secure containers to see if they heal more when damaged --- project/assets/configs/bot.json | 1 + project/assets/database/bots/types/bear.json | 136 ++++++++++++--- project/assets/database/bots/types/usec.json | 160 +++++++++++++++--- project/src/callbacks/LocationCallbacks.ts | 2 +- project/src/controllers/LocationController.ts | 4 +- project/src/generators/BotLootGenerator.ts | 33 ++-- .../src/helpers/BotWeaponGeneratorHelper.ts | 2 +- project/src/servers/http/AkiHttpListener.ts | 8 +- 8 files changed, 287 insertions(+), 59 deletions(-) diff --git a/project/assets/configs/bot.json b/project/assets/configs/bot.json index e8dd75e9..36a1644f 100644 --- a/project/assets/configs/bot.json +++ b/project/assets/configs/bot.json @@ -1138,6 +1138,7 @@ "5448f3ac4bdc2dce718b4569" ], "blacklist": [ + "5e99711486f7744bfc4af328", "5fca13ca637ee0341a484f46", "59f32c3b86f77472a31742f0", "59f32bb586f774757e1e8442", diff --git a/project/assets/database/bots/types/bear.json b/project/assets/database/bots/types/bear.json index c58a99ac..c4c820c8 100644 --- a/project/assets/database/bots/types/bear.json +++ b/project/assets/database/bots/types/bear.json @@ -3425,6 +3425,11 @@ "5e42c83786f7742a021fdf3c" ], "SecuredContainer": [ + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", "59e4cf5286f7741778269d8a", "59e0d99486f7744a32234762", "59e4d24686f7741776641ac7", @@ -6401,7 +6406,8 @@ "5a6b5b8a8dc32e001207faf3", "5a6b5e468dc32e001207faf5", "5a6b60158dc32e000a31138b", - "5a6b5f868dc32e000a311389" + "5a6b5f868dc32e000a311389", + "5a6b5ed88dc32e000c52ec86" ], "mod_magazine": [ "5a718da68dc32e000d46d264" @@ -6435,6 +6441,11 @@ "5c0d56a986f774449d5de529" ] }, + "5a6b5ed88dc32e000c52ec86": { + "mod_muzzle": [ + "5a7ad0c451dfba0013379712" + ] + }, "5a7c4850e899ef00150be885": { "mod_nvg": [ "5c0558060db834001b735271", @@ -7314,6 +7325,13 @@ "57fd23e32459772d0805bcf1" ] }, + "5a1ead28fcdbcb001912fa9f": { + "mod_scope": ["5a1eaa87fcdbcb001865f75e"] + }, + "618b9643526131765025ab35": { + "mod_scope": ["5b2388675acfc4771e1be0be"], + "mod_mount": ["618b9671d14d6d5ab879c5ea"] + }, "5addbfe15acfc4001a5fc58b": { "mod_scope": [ "584984812459776a704a82a6", @@ -7387,7 +7405,9 @@ }, "5ae08f0a5acfc408fb1398a1": { "mod_barrel": [ - "5ae09bff5acfc4001562219d" + "5ae09bff5acfc4001562219d", + "5bfd4cbe0db834001b73449f", + "5bfd4cd60db834001c38f095" ], "mod_magazine": [ "5ae0973a5acfc4001562206c", @@ -7415,6 +7435,23 @@ "560d61e84bdc2da74d8b4571" ] }, + "5bfd4cd60db834001c38f095": { + "mod_muzzle": ["59bffc1f86f77435b128b872"], + "mod_sight_rear": [ + "5bfd4c980db834001b73449d", + "5bbdb811d4351e45020113c7" + ] + }, + "5bbdb811d4351e45020113c7": { + "mod_scope": ["57ac965c24597706be5f975c"], + "mod_tactical_000": ["5a800961159bd4315e3a1657"], + "mod_tactical_001": ["57fd23e32459772d0805bcf1"] + }, + "5bfd4cbe0db834001b73449f": { + "mod_sight_front": ["5ae099875acfc4001714e593"], + "mod_sight_rear": ["5bfd4c980db834001b73449d"], + "mod_muzzle": ["5bbdb83fd4351e44f824c44b"] + }, "5ae096d95acfc400185c2c81": { "mod_pistol_grip": [ "5bbde41ed4351e003562b038" @@ -7423,6 +7460,16 @@ "5bbde409d4351e003562b036" ] }, + "5bae13ded4351e44f824bf38": { + "cartridges": [ + "5e023d34e8a400319a28ed44", + "5e023d48186a883be655e551", + "5e023cf8186a883be655e54f", + "59e77a2386f7742ee578960a", + "5887431f2459777e1612938f", + "560d61e84bdc2da74d8b4571" + ] + }, "5ae0973a5acfc4001562206c": { "cartridges": [ "5e023d34e8a400319a28ed44", @@ -7999,7 +8046,8 @@ "5d135e83d7ad1a21b83f42d8", "58d2947e86f77447aa070d53", "58d2946386f774496974c37e", - "602e620f9b513876d4338d9a" + "602e620f9b513876d4338d9a", + "5c793fde2e221601da358614" ] }, "5bb2475ed4351e00853264e3": { @@ -8032,7 +8080,8 @@ "5b0800175acfc400153aebd4", "5947eab886f77475961d96c5", "591aef7986f774139d495f03", - "627254cc9c563e6e442c398f" + "627254cc9c563e6e442c398f", + "591af10186f774139d495f0e" ], "patron_in_weapon": [ "59e6920f86f77411d82aa167", @@ -8365,10 +8414,13 @@ }, "5bfd297f0db834001a669119": { "mod_barrel": [ - "5ae09bff5acfc4001562219d" + "5ae09bff5acfc4001562219d", + "5bfd4cbe0db834001b73449f", + "5bfd4cd60db834001c38f095" ], "mod_magazine": [ - "5ae0973a5acfc4001562206c" + "5ae0973a5acfc4001562206c", + "5bae13ded4351e44f824bf38" ], "mod_stock": [ "5bfd35380db83400232fe5cc" @@ -9146,12 +9198,19 @@ "57cffcdd24597763f5110006" ], "mod_mount_000": [ - "5b7be47f5acfc400170e2dd2" + "5b7be47f5acfc400170e2dd2", + "6269545d0e57f218e4548ca2", + "6269220d70b6c02e665f2635" ], "mod_mount_001": [ "5b7be47f5acfc400170e2dd2" ] }, + "6269545d0e57f218e4548ca2": { + "mod_tactical": [ + "5a800961159bd4315e3a1657" + ] + }, "5c78f2792e221600106f4683": { "mod_foregrip": [ "57cffb66245977632f391a99" @@ -9175,7 +9234,8 @@ "5c793fc42e221600114ca25d": { "mod_stock_000": [ "5fce16961f152d4312622bc9", - "5fc2369685fd526b824a5713" + "5fc2369685fd526b824a5713", + "5fce16961f152d4312622bc9" ] }, "5c7954d52e221600106f4cc7": { @@ -10087,7 +10147,8 @@ "55d3632e4bdc2d972f8b4569", "5d440b93a4b9364276578d4b", "5d440b9fa4b93601354d480c", - "5c0e2f94d174af029f650d56" + "5c0e2f94d174af029f650d56", + "55d35ee94bdc2d61338b4568" ], "mod_handguard": [ "5c0e2f5cd174af02a012cfc9", @@ -11559,7 +11620,8 @@ "602e3f1254072b51b239f713": { "mod_stock_000": [ "602e620f9b513876d4338d9a", - "58d2946386f774496974c37e" + "58d2946386f774496974c37e", + "58d2946c86f7744e271174b5" ] }, "602e63fb6335467b0c5ac94d": { @@ -12890,10 +12952,12 @@ "55d4ae6c4bdc2d8b2f8b456e", "606587d11246154cad35d635", "602e620f9b513876d4338d9a", - "5a9eb32da2750c00171b3f9c" + "5a9eb32da2750c00171b3f9c", + "5fc2369685fd526b824a5713" ], "mod_tactical_000": [ - "57fd23e32459772d0805bcf1" + "57fd23e32459772d0805bcf1", + "544909bb4bdc2d6f028b4577" ], "mod_tactical_001": [ "5c06595c0db834001a66af6c", @@ -12903,6 +12967,20 @@ "5a800961159bd4315e3a1657" ] }, + "618bab21526131765025ab3f": { + "mod_scope": [ + "5b2388675acfc4771e1be0be" + ], + "mod_mount": [ + "618b9671d14d6d5ab879c5ea" + ] + }, + "618b9682a3884f56c957ca78": { + "mod_scope": ["5a32aa8bc4a2826c6e06d737"] + }, + "618ba92152ecee1505530bd3": { + "mod_scope": ["5a32aa8bc4a2826c6e06d737"] + }, "627bce33f21bc425b06ab967": { "camora_000": [ "5f0c892565703e5c461894e9" @@ -12936,6 +13014,14 @@ "62811e335631d45211793c95" ] }, + "62811e2510e26c1f344e6554": { + "mod_stock": [ + "62811f828193841aca4a45c3" + ], + "mod_reciever": [ + "6281204f308cb521f87a8f9b" + ] + }, "62811e335631d45211793c95": { "mod_pistol_grip": [ "55d4b9964bdc2d1d4e8b456e" @@ -12947,17 +13033,15 @@ "62811f828193841aca4a45c3" ] }, - "62811f828193841aca4a45c3": { - "mod_tactical_000": [ - "5a800961159bd4315e3a1657" - ] - }, "62811fbf09427b40ab14e767": { "mod_barrel": [ "628121434fa03b6b6c35dc6a" ], "mod_scope": [ - "57ac965c24597706be5f975c" + "57ac965c24597706be5f975c", + "57adff4f24597737f373b6e6", + "62811f461d5df4475f46a332", + "61714b2467085e45ef140b2c" ], "mod_sight_rear": [ "5bb20e49d4351e3bac1212de" @@ -13000,6 +13084,18 @@ "5fc23636016cce60e8341b05" ] }, + "62812081d23f207deb0ab216": { + "mod_muzzle": [ + "62811fa609427b40ab14e765", + "628120621d5df4475f46a335" + ] + }, + "612e0d81290d254f5e6b291a": { + "mod_muzzle": [ + "612e0e04568c120fdd294258", + "63877c99e785640d436458ea" + ] + }, "6284bd5f95250a29bc628a30": { "mod_scope": [ "61605d88ffa6e502ac5e7eeb" @@ -13042,7 +13138,9 @@ "5649af094bdc2df8348b4586", "5ac50da15acfc4001718d287", "5d2c76ed48f03532f2136169", - "59e6449086f7746c9f75e822" + "59e6449086f7746c9f75e822", + "628a665a86cbd9750d2ff5e5", + "5d2c772c48f0355d95672c25" ], "mod_sight_rear": [ "628a7b23b0f75035732dd565" diff --git a/project/assets/database/bots/types/usec.json b/project/assets/database/bots/types/usec.json index ac19a3fa..ac767442 100644 --- a/project/assets/database/bots/types/usec.json +++ b/project/assets/database/bots/types/usec.json @@ -3447,6 +3447,11 @@ "5e42c83786f7742a021fdf3c" ], "SecuredContainer": [ + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", + "590c657e86f77412b013051d", "59e4cf5286f7741778269d8a", "59e0d99486f7744a32234762", "59e4d24686f7741776641ac7", @@ -6092,6 +6097,11 @@ "5a17fb9dfcdbcbcae6687291" ] }, + "5a1ead28fcdbcb001912fa9f": { + "mod_scope": [ + "5a1eaa87fcdbcb001865f75e" + ] + }, "5a33b2c9c4a282000c5a9511": { "mod_scope": [ "5a32aa8bc4a2826c6e06d737" @@ -6232,6 +6242,11 @@ "5a7ad0c451dfba0013379712" ] }, + "5a6b5ed88dc32e000c52ec86": { + "mod_muzzle": [ + "5a7ad0c451dfba0013379712" + ] + }, "5a718b548dc32e000d46d262": { "cartridges": [ "5efb0da7a29a85116f6ea05f", @@ -6423,7 +6438,8 @@ "5a6b5b8a8dc32e001207faf3", "5a6b5e468dc32e001207faf5", "5a6b60158dc32e000a31138b", - "5a6b5f868dc32e000a311389" + "5a6b5f868dc32e000a311389", + "5a6b5ed88dc32e000c52ec86" ], "mod_magazine": [ "5a718da68dc32e000d46d264" @@ -7409,7 +7425,9 @@ }, "5ae08f0a5acfc408fb1398a1": { "mod_barrel": [ - "5ae09bff5acfc4001562219d" + "5ae09bff5acfc4001562219d", + "5bfd4cbe0db834001b73449f", + "5bfd4cd60db834001c38f095" ], "mod_magazine": [ "5ae0973a5acfc4001562206c", @@ -7923,6 +7941,16 @@ "5ba26ae8d4351e00367f9bdb" ] }, + "5bae13ded4351e44f824bf38": { + "cartridges": [ + "5e023d34e8a400319a28ed44", + "5e023d48186a883be655e551", + "5e023cf8186a883be655e54f", + "59e77a2386f7742ee578960a", + "5887431f2459777e1612938f", + "560d61e84bdc2da74d8b4571" + ] + }, "5bb20d53d4351e4502010a69": { "mod_barrel": [ "5bb20d9cd4351e00334c9d8a", @@ -8021,7 +8049,8 @@ "5d135e83d7ad1a21b83f42d8", "58d2947e86f77447aa070d53", "58d2946386f774496974c37e", - "602e620f9b513876d4338d9a" + "602e620f9b513876d4338d9a", + "5c793fde2e221601da358614" ] }, "5bb2475ed4351e00853264e3": { @@ -8054,7 +8083,8 @@ "5b0800175acfc400153aebd4", "5947eab886f77475961d96c5", "591aef7986f774139d495f03", - "627254cc9c563e6e442c398f" + "627254cc9c563e6e442c398f", + "591af10186f774139d495f0e" ], "patron_in_weapon": [ "59e6920f86f77411d82aa167", @@ -8070,6 +8100,17 @@ "5c0d5ae286f7741e46554302" ] }, + "5bbdb811d4351e45020113c7": { + "mod_scope": [ + "57ac965c24597706be5f975c" + ], + "mod_tactical_000": [ + "5a800961159bd4315e3a1657" + ], + "mod_tactical_001": [ + "57fd23e32459772d0805bcf1" + ] + }, "5bd70322209c4d00d7167b8f": { "mod_foregrip": [ "588226dd24597767ad33f789", @@ -8387,10 +8428,13 @@ }, "5bfd297f0db834001a669119": { "mod_barrel": [ - "5ae09bff5acfc4001562219d" + "5ae09bff5acfc4001562219d", + "5bfd4cbe0db834001b73449f", + "5bfd4cd60db834001c38f095" ], "mod_magazine": [ - "5ae0973a5acfc4001562206c" + "5ae0973a5acfc4001562206c", + "5bae13ded4351e44f824bf38" ], "mod_stock": [ "5bfd35380db83400232fe5cc" @@ -8430,6 +8474,26 @@ "5bbde409d4351e003562b036" ] }, + "5bfd4cbe0db834001b73449f": { + "mod_muzzle": [ + "5bbdb83fd4351e44f824c44b" + ], + "mod_sight_front": [ + "5ae099875acfc4001714e593" + ], + "mod_sight_rear": [ + "5bfd4c980db834001b73449d" + ] + }, + "5bfd4cd60db834001c38f095": { + "mod_muzzle": [ + "59bffc1f86f77435b128b872" + ], + "mod_sight_rear": [ + "5bfd4c980db834001b73449d", + "5bbdb811d4351e45020113c7" + ] + }, "5bfe7fb30db8340018089fed": { "mod_stock": [ "5bfe86a20db834001d23e8f7" @@ -9168,7 +9232,9 @@ "57cffcdd24597763f5110006" ], "mod_mount_000": [ - "5b7be47f5acfc400170e2dd2" + "5b7be47f5acfc400170e2dd2", + "6269545d0e57f218e4548ca2", + "6269220d70b6c02e665f2635" ], "mod_mount_001": [ "5b7be47f5acfc400170e2dd2" @@ -9197,7 +9263,8 @@ "5c793fc42e221600114ca25d": { "mod_stock_000": [ "5fce16961f152d4312622bc9", - "5fc2369685fd526b824a5713" + "5fc2369685fd526b824a5713", + "5fce16961f152d4312622bc9" ] }, "5c7954d52e221600106f4cc7": { @@ -10109,7 +10176,8 @@ "55d3632e4bdc2d972f8b4569", "5d440b93a4b9364276578d4b", "5d440b9fa4b93601354d480c", - "5c0e2f94d174af029f650d56" + "5c0e2f94d174af029f650d56", + "55d35ee94bdc2d61338b4568" ], "mod_handguard": [ "5c0e2f5cd174af02a012cfc9", @@ -11574,7 +11642,8 @@ "602e3f1254072b51b239f713": { "mod_stock_000": [ "602e620f9b513876d4338d9a", - "58d2946386f774496974c37e" + "58d2946386f774496974c37e", + "58d2946c86f7744e271174b5" ] }, "602e63fb6335467b0c5ac94d": { @@ -11959,6 +12028,12 @@ "612e0e04568c120fdd294258" ] }, + "612e0d81290d254f5e6b291a": { + "mod_muzzle": [ + "612e0e04568c120fdd294258", + "63877c99e785640d436458ea" + ] + }, "6130c3dffaa1272e43151c7d": { "mod_muzzle": [ "5fb65424956329274326f316", @@ -12499,6 +12574,32 @@ "61825d06d92c473c770215de" ] }, + "618b9643526131765025ab35": { + "mod_mount": [ + "618b9671d14d6d5ab879c5ea" + ], + "mod_scope": [ + "5b2388675acfc4771e1be0be" + ] + }, + "618b9682a3884f56c957ca78": { + "mod_scope": [ + "5a32aa8bc4a2826c6e06d737" + ] + }, + "618ba92152ecee1505530bd3": { + "mod_scope": [ + "5a32aa8bc4a2826c6e06d737" + ] + }, + "618bab21526131765025ab3f": { + "mod_mount": [ + "618b9671d14d6d5ab879c5ea" + ], + "mod_scope": [ + "5b2388675acfc4771e1be0be" + ] + }, "6193a720f8ee7e52e42109ed": { "mod_barrel": [ "6194ef39de3cdf1d2614a768", @@ -12893,6 +12994,11 @@ "5a7b483fe899ef0016170d15" ] }, + "6269545d0e57f218e4548ca2": { + "mod_tactical": [ + "5a800961159bd4315e3a1657" + ] + }, "6275303a9f372d6ea97f9ec7": { "mod_foregrip": [ "59fc48e086f77463b1118392", @@ -12912,10 +13018,12 @@ "55d4ae6c4bdc2d8b2f8b456e", "606587d11246154cad35d635", "602e620f9b513876d4338d9a", - "5a9eb32da2750c00171b3f9c" + "5a9eb32da2750c00171b3f9c", + "5fc2369685fd526b824a5713" ], "mod_tactical_000": [ - "57fd23e32459772d0805bcf1" + "57fd23e32459772d0805bcf1", + "544909bb4bdc2d6f028b4577" ], "mod_tactical_001": [ "5c06595c0db834001a66af6c", @@ -12958,6 +13066,14 @@ "62811e335631d45211793c95" ] }, + "62811e2510e26c1f344e6554": { + "mod_reciever": [ + "6281204f308cb521f87a8f9b" + ], + "mod_stock": [ + "62811f828193841aca4a45c3" + ] + }, "62811e335631d45211793c95": { "mod_pistol_grip": [ "55d4b9964bdc2d1d4e8b456e" @@ -12969,17 +13085,15 @@ "62811f828193841aca4a45c3" ] }, - "62811f828193841aca4a45c3": { - "mod_tactical_000": [ - "5a800961159bd4315e3a1657" - ] - }, "62811fbf09427b40ab14e767": { "mod_barrel": [ "628121434fa03b6b6c35dc6a" ], "mod_scope": [ - "57ac965c24597706be5f975c" + "57ac965c24597706be5f975c", + "57adff4f24597737f373b6e6", + "62811f461d5df4475f46a332", + "61714b2467085e45ef140b2c" ], "mod_sight_rear": [ "5bb20e49d4351e3bac1212de" @@ -12996,6 +13110,12 @@ "62811fbf09427b40ab14e767" ] }, + "62812081d23f207deb0ab216": { + "mod_muzzle": [ + "62811fa609427b40ab14e765", + "628120621d5df4475f46a335" + ] + }, "6281209662cba23f6c4d7a19": { "mod_mount_000": [ "628120c21d5df4475f46a337" @@ -13064,7 +13184,9 @@ "5649af094bdc2df8348b4586", "5ac50da15acfc4001718d287", "5d2c76ed48f03532f2136169", - "59e6449086f7746c9f75e822" + "59e6449086f7746c9f75e822", + "628a665a86cbd9750d2ff5e5", + "5d2c772c48f0355d95672c25" ], "mod_sight_rear": [ "628a7b23b0f75035732dd565" diff --git a/project/src/callbacks/LocationCallbacks.ts b/project/src/callbacks/LocationCallbacks.ts index 9c4411e3..65671a4f 100644 --- a/project/src/callbacks/LocationCallbacks.ts +++ b/project/src/callbacks/LocationCallbacks.ts @@ -23,7 +23,7 @@ export class LocationCallbacks // eslint-disable-next-line @typescript-eslint/no-unused-vars public getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData { - return this.httpResponse.getBody(this.locationController.generateAll()); + return this.httpResponse.getBody(this.locationController.generateAll(sessionID)); } /** Handle client/location/getLocalloot */ diff --git a/project/src/controllers/LocationController.ts b/project/src/controllers/LocationController.ts index 86247078..d1c72a30 100644 --- a/project/src/controllers/LocationController.ts +++ b/project/src/controllers/LocationController.ts @@ -119,9 +119,11 @@ export class LocationController /** * Handle client/locations * Get all maps base location properties without loot data + * @param sessionId Players Id * @returns ILocationsGenerateAllResponse */ - public generateAll(): ILocationsGenerateAllResponse + // eslint-disable-next-line @typescript-eslint/no-unused-vars + public generateAll(sessionId: string): ILocationsGenerateAllResponse { const locationsFromDb = this.jsonUtil.clone(this.databaseServer.getTables().locations); const locations: ILocations = {}; diff --git a/project/src/generators/BotLootGenerator.ts b/project/src/generators/BotLootGenerator.ts index eecb6ebf..643c07f9 100644 --- a/project/src/generators/BotLootGenerator.ts +++ b/project/src/generators/BotLootGenerator.ts @@ -125,22 +125,27 @@ export class BotLootGenerator 0, isPmc); - if (isPmc && this.randomUtil.getChance100(this.botConfig.pmc.looseWeaponInBackpackChancePercent)) + + // Backpack - generate loot if they have one + if (botInventory.items.find(x => x.slotId === EquipmentSlots.BACKPACK)) { - this.addLooseWeaponsToInventorySlot(sessionId, botInventory, "Backpack", botJsonTemplate.inventory, botJsonTemplate.chances.mods, botRole, isPmc, botLevel); + // Add randomly generated weapon to PMC backpacks + if (isPmc && this.randomUtil.getChance100(this.botConfig.pmc.looseWeaponInBackpackChancePercent)) + { + this.addLooseWeaponsToInventorySlot(sessionId, botInventory, EquipmentSlots.BACKPACK, botJsonTemplate.inventory, botJsonTemplate.chances.mods, botRole, isPmc, botLevel); + } + + this.addLootFromPool( + this.botLootCacheService.getLootFromCache(botRole, isPmc, LootCacheType.BACKPACK, botJsonTemplate), + [EquipmentSlots.BACKPACK], + lootItemCount, + botInventory, + botRole, + true, + this.botConfig.pmc.maxBackpackLootTotalRub, + isPmc); } - - // Backpack - this.addLootFromPool( - this.botLootCacheService.getLootFromCache(botRole, isPmc, LootCacheType.BACKPACK, botJsonTemplate), - [EquipmentSlots.BACKPACK], - lootItemCount, - botInventory, - botRole, - true, - this.botConfig.pmc.maxBackpackLootTotalRub, - isPmc); - + // Vest this.addLootFromPool( this.botLootCacheService.getLootFromCache(botRole, isPmc, LootCacheType.VEST, botJsonTemplate), diff --git a/project/src/helpers/BotWeaponGeneratorHelper.ts b/project/src/helpers/BotWeaponGeneratorHelper.ts index 3118964a..497558da 100644 --- a/project/src/helpers/BotWeaponGeneratorHelper.ts +++ b/project/src/helpers/BotWeaponGeneratorHelper.ts @@ -162,7 +162,7 @@ export class BotWeaponGeneratorHelper if (!container) { // Desired equipment container (e.g. backpack) not found - this.logger.warning(`Unable to add items to bot slot: ${slot}, slot missing`); + this.logger.debug(`Unable to add item: ${itemWithChildren[0]._tpl} to: ${slot}, slot missing/bot generated without equipment`); continue; } diff --git a/project/src/servers/http/AkiHttpListener.ts b/project/src/servers/http/AkiHttpListener.ts index fdc4eacc..f3c64ed6 100644 --- a/project/src/servers/http/AkiHttpListener.ts +++ b/project/src/servers/http/AkiHttpListener.ts @@ -1,5 +1,5 @@ import { IncomingHttpHeaders, IncomingMessage, ServerResponse } from "http"; -import { inject, injectable, injectAll } from "tsyringe"; +import { inject, injectAll, injectable } from "tsyringe"; import zlib from "zlib"; import { Serializer } from "../../di/Serializer"; @@ -139,7 +139,7 @@ export class AkiHttpListener implements IHttpListener public getResponse(sessionID: string, req: IncomingMessage, body: Buffer): string { - const info = this.getBodyInfo(body); + const info = this.getBodyInfo(body, req.url); if (globalThis.G_LOG_REQUESTS) { // Parse quest info into object @@ -162,10 +162,10 @@ export class AkiHttpListener implements IHttpListener return output; } - protected getBodyInfo(body: Buffer): any + protected getBodyInfo(body: Buffer, requestUrl = null): any { const text = (body) ? body.toString() : "{}"; - const info = (text) ? this.jsonUtil.deserialize(text) : {}; + const info = (text) ? this.jsonUtil.deserialize(text, requestUrl) : {}; return info; }