From 495660bec3d581216835d5a95b41ecbf18f86ccc Mon Sep 17 00:00:00 2001 From: Chomp Date: Sat, 6 Sep 2025 19:05:54 +0100 Subject: [PATCH] Expanded UBGL ammo placement to try pockets if rig placement fails - fixes partisan not having any ubgl ammo --- .../SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs | 8 +++----- .../WeaponGen/Implementations/UbglExternalMagGen.cs | 2 +- .../Helpers/BotWeaponGeneratorHelper.cs | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs index 9617a77b..af712ac5 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/BotWeaponGenerator.cs @@ -495,7 +495,7 @@ public class BotWeaponGenerator( // get ammo template from db var ubglAmmoDbTemplate = itemHelper.GetItem(generatedWeaponResult.ChosenUbglAmmoTemplate.Value).Value; - // Add greandes to bot inventory + // Add grenades to bot inventory var ubglAmmoGenModel = new InventoryMagGen(ubglMinMax, ubglDbTemplate, ubglDbTemplate, ubglAmmoDbTemplate, inventory, botId); InventoryMagGenComponents.FirstOrDefault(v => v.CanHandleInventoryMagGen(ubglAmmoGenModel)).Process(ubglAmmoGenModel); @@ -708,10 +708,8 @@ public class BotWeaponGenerator( // Try to get cartridges from slots array first, if none found, try Cartridges array var cartridges = - magazineTemplate.Value.Properties.Slots.FirstOrDefault()?.Properties?.Filters.FirstOrDefault()?.Filter ?? magazineTemplate - .Value.Properties.Cartridges.FirstOrDefault() - ?.Properties?.Filters.FirstOrDefault() - ?.Filter; + magazineTemplate.Value.Properties.Slots.FirstOrDefault()?.Properties?.Filters.FirstOrDefault()?.Filter + ?? magazineTemplate.Value.Properties.Cartridges.FirstOrDefault()?.Properties?.Filters.FirstOrDefault()?.Filter; return cartridges ?? []; } diff --git a/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/UbglExternalMagGen.cs b/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/UbglExternalMagGen.cs index 962b1652..cba36b9b 100644 --- a/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/UbglExternalMagGen.cs +++ b/Libraries/SPTarkov.Server.Core/Generators/WeaponGen/Implementations/UbglExternalMagGen.cs @@ -28,7 +28,7 @@ public class UbglExternalMagGen(BotWeaponGeneratorHelper botWeaponGeneratorHelpe inventoryMagGen.GetAmmoTemplate().Id, (int)bulletCount, inventoryMagGen.GetPmcInventory(), - [EquipmentSlots.TacticalVest] + [EquipmentSlots.TacticalVest, EquipmentSlots.Pockets] ); } } diff --git a/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs index 8faf762f..fd33d04f 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/BotWeaponGeneratorHelper.cs @@ -140,7 +140,7 @@ public class BotWeaponGeneratorHelper( { logger.Debug($"Unable to add ammo: {ammoItem.Template} to bot inventory, {result.ToString()}"); - if (result == ItemAddedResult.NO_SPACE || result == ItemAddedResult.NO_CONTAINERS) + if (result is ItemAddedResult.NO_SPACE or ItemAddedResult.NO_CONTAINERS) // If there's no space for 1 stack or no containers to hold item, there's no space for the others { break;