From 0ca40eef8f3594d8e095a973036787d88a2709ff Mon Sep 17 00:00:00 2001 From: Chomp Date: Mon, 20 Jan 2025 22:03:29 +0000 Subject: [PATCH] Fix botgen issues --- Libraries/Core/Generators/BotWeaponGenerator.cs | 2 +- Libraries/Core/Helpers/ItemHelper.cs | 5 +++-- Libraries/Core/Services/BotEquipmentModPoolService.cs | 2 +- Server/Assets/configs/bot.json | 2 +- Server/Assets/database/bots/types/bear.json | 4 ++++ Server/Assets/database/bots/types/usec.json | 4 ++++ 6 files changed, 14 insertions(+), 5 deletions(-) diff --git a/Libraries/Core/Generators/BotWeaponGenerator.cs b/Libraries/Core/Generators/BotWeaponGenerator.cs index 92ad8724..6799090c 100644 --- a/Libraries/Core/Generators/BotWeaponGenerator.cs +++ b/Libraries/Core/Generators/BotWeaponGenerator.cs @@ -553,7 +553,7 @@ public class BotWeaponGenerator( protected string GetWeightedCompatibleAmmo(Dictionary> cartridgePool, TemplateItem weaponTemplate) { var desiredCaliber = GetWeaponCaliber(weaponTemplate); - if (!cartridgePool.TryGetValue(desiredCaliber, out var cartridgePoolForWeapon) && cartridgePoolForWeapon.Keys.Count > 0) + if (!cartridgePool.TryGetValue(desiredCaliber, out var cartridgePoolForWeapon) || cartridgePoolForWeapon?.Keys.Count == 0) { _logger.Debug( _localisationService.GetText( diff --git a/Libraries/Core/Helpers/ItemHelper.cs b/Libraries/Core/Helpers/ItemHelper.cs index 8f51b412..f43b16df 100644 --- a/Libraries/Core/Helpers/ItemHelper.cs +++ b/Libraries/Core/Helpers/ItemHelper.cs @@ -1459,9 +1459,10 @@ public class ItemHelper( } // Get max number of cartridges in magazine, choose random value between min/max + var magProps = magTemplate.Properties; var magazineCartridgeMaxCount = IsOfBaseclass(magTemplate.Id, BaseClasses.SPRING_DRIVEN_CYLINDER) - ? magTemplate.Properties?.Slots?.Count() // Edge case for rotating grenade launcher magazine - : magTemplate.Properties?.Cartridges[0]?.MaxCount; + ? magProps?.Slots?.Count // Edge case for rotating grenade launcher magazine + : magProps?.Cartridges.FirstOrDefault()?.MaxCount; if (magazineCartridgeMaxCount is null) { diff --git a/Libraries/Core/Services/BotEquipmentModPoolService.cs b/Libraries/Core/Services/BotEquipmentModPoolService.cs index e12f7a02..f2ba4968 100644 --- a/Libraries/Core/Services/BotEquipmentModPoolService.cs +++ b/Libraries/Core/Services/BotEquipmentModPoolService.cs @@ -152,7 +152,7 @@ public class BotEquipmentModPoolService return _gearModPool.TryGetValue(itemTpl, out var value) ? value - : null; + : []; } /** diff --git a/Server/Assets/configs/bot.json b/Server/Assets/configs/bot.json index d8203cd6..671ec148 100644 --- a/Server/Assets/configs/bot.json +++ b/Server/Assets/configs/bot.json @@ -88,7 +88,6 @@ "minLimitPercent": 15 } }, - "botDurabilities": { "pmc": { "armor": { "lowestMaxPercent": 90, @@ -105,6 +104,7 @@ "minLimitPercent": 15 } }, + "botDurabilities": { "boss": { "armor": { "lowestMaxPercent": 90, diff --git a/Server/Assets/database/bots/types/bear.json b/Server/Assets/database/bots/types/bear.json index 29d1f29d..4e00c3af 100644 --- a/Server/Assets/database/bots/types/bear.json +++ b/Server/Assets/database/bots/types/bear.json @@ -2826,6 +2826,10 @@ "5efb0d4f4bc50b58e81710f3": 9, "5efb0fc6aeb21837e749c801": 9 }, + "Caliber127x33": { + "668fe62ac62660a5d8071446": 2, + "66a0d1e0ed648d72fe064d06": 5 + }, "Caliber127x55": { "5cadf6ddae9215051e1c23b2": 8, "5cadf6e5ae921500113bb973": 4, diff --git a/Server/Assets/database/bots/types/usec.json b/Server/Assets/database/bots/types/usec.json index 5d2d531b..a0802984 100644 --- a/Server/Assets/database/bots/types/usec.json +++ b/Server/Assets/database/bots/types/usec.json @@ -2818,6 +2818,10 @@ "5efb0d4f4bc50b58e81710f3": 9, "5efb0fc6aeb21837e749c801": 9 }, + "Caliber127x33": { + "668fe62ac62660a5d8071446": 2, + "66a0d1e0ed648d72fe064d06": 5 + }, "Caliber127x55": { "5cadf6ddae9215051e1c23b2": 8, "5cadf6e5ae921500113bb973": 4,