Improved dictionary access inside GetItemName to prevent issues where now-removed modded items are checked

This commit is contained in:
Chomp
2025-08-05 16:27:35 +01:00
parent 529fe61f23
commit 02b80888ec
2 changed files with 11 additions and 4 deletions
@@ -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))
{
@@ -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;
}
/// <summary>