From 02b80888ec948c61a8b283a629531119d566217b Mon Sep 17 00:00:00 2001 From: Chomp Date: Tue, 5 Aug 2025 16:27:35 +0100 Subject: [PATCH] Improved dictionary access inside `GetItemName` to prevent issues where now-removed modded items are checked --- .../Controllers/InsuranceController.cs | 2 +- .../SPTarkov.Server.Core/Helpers/ItemHelper.cs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Libraries/SPTarkov.Server.Core/Controllers/InsuranceController.cs b/Libraries/SPTarkov.Server.Core/Controllers/InsuranceController.cs index 621887ea..a7a520d9 100644 --- a/Libraries/SPTarkov.Server.Core/Controllers/InsuranceController.cs +++ b/Libraries/SPTarkov.Server.Core/Controllers/InsuranceController.cs @@ -704,7 +704,7 @@ public class InsuranceController( var roll = returnChance >= traderReturnChance; // Log the roll with as much detail as possible. - var itemName = insuredItem is not null ? $"{itemHelper.GetItemName(insuredItem.Template)}" : ""; + var itemName = insuredItem is not null ? $"{itemHelper.GetItemName(insuredItem.Template)}" : string.Empty; var status = roll ? "Delete" : "Keep"; if (logger.IsLogEnabled(LogLevel.Debug)) { diff --git a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs index 2fe3370d..a0e88ab8 100644 --- a/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs +++ b/Libraries/SPTarkov.Server.Core/Helpers/ItemHelper.cs @@ -1571,13 +1571,20 @@ public class ItemHelper( public string GetItemName(MongoId itemTpl) { var localeDb = localeService.GetLocaleDb(); - var result = localeDb[$"{itemTpl} Name"]; - if (result?.Length > 0) + + // Key exists and it's not empty + if (localeDb.TryGetValue($"{itemTpl} Name", out var result) && result.Length > 0) { return result; } - return localeDb[$"{itemTpl} ShortName"]; + // Main item "name" property not found, try the backup + if (localeDb.TryGetValue($"{itemTpl} ShortName", out result)) + { + return result; + } + + return string.Empty; } ///