diff --git a/Libraries/Core/Helpers/ItemHelper.cs b/Libraries/Core/Helpers/ItemHelper.cs index e283f731..d0548cff 100644 --- a/Libraries/Core/Helpers/ItemHelper.cs +++ b/Libraries/Core/Helpers/ItemHelper.cs @@ -1594,21 +1594,21 @@ public class ItemHelper( protected string? DrawAmmoTpl( string caliber, Dictionary> staticAmmoDist, - string fallbackCartridgeTpl, + string? fallbackCartridgeTpl = null, List? cartridgeWhitelist = null ) { var ammos = staticAmmoDist.GetValueOrDefault(caliber, []); - if (ammos is null && fallbackCartridgeTpl is not null) + if (ammos.Count == 0 && fallbackCartridgeTpl is not null) { - _logger.Error($"Unable to pick a cartridge for caliber: {caliber} as staticAmmoDist has no data. using fallback value of {fallbackCartridgeTpl}"); + _logger.Warning($"Unable to pick a cartridge for caliber: {caliber}, staticAmmoDist has no data. using fallback value of {fallbackCartridgeTpl}"); return fallbackCartridgeTpl; } - if (ammos is null && fallbackCartridgeTpl is null) + if (ammos.Count == 0 && fallbackCartridgeTpl is null) { - _logger.Debug($"Unable to pick a cartridge for caliber: {caliber} as staticAmmoDist has no data. No fallback value provided"); + _logger.Warning($"Unable to pick a cartridge for caliber: {caliber}, staticAmmoDist has no data. No fallback value provided"); return null; } @@ -1623,7 +1623,8 @@ public class ItemHelper( ammoArray.Add(new ProbabilityObject(icd.Tpl, (double)icd.RelativeProbability, null)); } - return ammoArray.Draw(1)[0]; + + return ammoArray.Draw(1).FirstOrDefault(); } ///