diff --git a/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs b/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs
index e566a958..1580ee09 100644
--- a/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs
+++ b/Libraries/SPTarkov.Server.Core/Extensions/TemplateItemExtensions.cs
@@ -63,5 +63,23 @@ namespace SPTarkov.Server.Core.Extensions
return relatedItemDbModSlot?.Props?.Filters?.FirstOrDefault()?.Plate;
}
+
+ ///
+ /// Does the passed in lack slots, cartridges or chambers
+ ///
+ /// Item to check
+ /// True if it lacks cartridges/chamber slots, False if not
+ public static bool HasNoSlotsCartridgesOrChambers(this TemplateItem item)
+ {
+ if (item.Properties is null)
+ {
+ return true;
+ }
+
+ return item.Properties.Slots is null
+ || !item.Properties.Slots.Any()
+ && (item.Properties.Cartridges is null || !item.Properties.Cartridges.Any())
+ && (item.Properties.Chambers is null || !item.Properties.Chambers.Any());
+ }
}
}
diff --git a/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs b/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs
index bed7a56d..c2fe45ac 100644
--- a/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs
+++ b/Libraries/SPTarkov.Server.Core/Generators/BotEquipmentModGenerator.cs
@@ -509,7 +509,7 @@ public class BotEquipmentModGenerator(
/// Weapon + mods array
public List- GenerateModsForWeapon(MongoId sessionId, GenerateWeaponRequest request)
{
- if (ItemLacksSlotsCartridgesAndChambers(request.ParentTemplate))
+ if (request.ParentTemplate.HasNoSlotsCartridgesOrChambers())
{
logger.Error(
serverLocalisationService.GetText(
@@ -830,24 +830,6 @@ public class BotEquipmentModGenerator(
return request.Weapon;
}
- ///
- /// Does the passed in db item lack slot cartridges or chambers
- ///
- /// Item to check
- /// True it lacks cartridges/chamber slots
- protected bool ItemLacksSlotsCartridgesAndChambers(TemplateItem item)
- {
- if (item.Properties is null)
- {
- return true;
- }
-
- return item.Properties.Slots is null
- || !item.Properties.Slots.Any()
- && !item.Properties.Cartridges.Any()
- && !item.Properties.Chambers.Any();
- }
-
///
/// Should the provided bot have its stock chance values altered to 100%
///