From b0fa8c93f3ef646b5b3383524f883b26f04a507e Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 9 Apr 2020 09:27:48 -0700 Subject: [PATCH] Add FieldItemDefinition fetch --- NHSE.Core/Strings/GameStrings.cs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/NHSE.Core/Strings/GameStrings.cs b/NHSE.Core/Strings/GameStrings.cs index 83cdc32..eda65f3 100644 --- a/NHSE.Core/Strings/GameStrings.cs +++ b/NHSE.Core/Strings/GameStrings.cs @@ -102,6 +102,33 @@ public string GetItemName(Item item) return GetItemName(index); } + public string GetItemName(FieldItem item) + { + var index = item.DisplayItemId; + if (index == FieldItem.NONE) + return itemlist[0]; + + var items = itemlistdisplay; + if (index >= items.Length) + { + if (FieldItemList.Items.TryGetValue(index, out var val)) + return val.Name; + return "???"; + } + + var kind = ItemInfo.GetItemKind(index); + if (kind == ItemKind.Kind_DIYRecipe) + { + var display = itemlistdisplay[index]; + var recipeID = item.Count; + var isKnown = RecipeList.Recipes.TryGetValue(recipeID, out var result); + var makes = isKnown ? GetItemName(result) : recipeID.ToString("000"); + return $"{display} - {makes}"; + } + + return GetItemName(index); + } + public string GetItemName(ushort index) { if (index >= itemlistdisplay.Length)