Make ItemLacksSlotsCartridgesAndChambers more robust, migrate to extension
This commit is contained in:
@@ -63,5 +63,23 @@ namespace SPTarkov.Server.Core.Extensions
|
||||
|
||||
return relatedItemDbModSlot?.Props?.Filters?.FirstOrDefault()?.Plate;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Does the passed in <see cref="TemplateItem"/> lack slots, cartridges or chambers
|
||||
/// </summary>
|
||||
/// <param name="item">Item to check</param>
|
||||
/// <returns>True if it lacks cartridges/chamber slots, False if not</returns>
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -509,7 +509,7 @@ public class BotEquipmentModGenerator(
|
||||
/// <returns>Weapon + mods array</returns>
|
||||
public List<Item> 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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Does the passed in db item lack slot cartridges or chambers
|
||||
/// </summary>
|
||||
/// <param name="item">Item to check</param>
|
||||
/// <returns>True it lacks cartridges/chamber slots</returns>
|
||||
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();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Should the provided bot have its stock chance values altered to 100%
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user