diff --git a/Craftimizer/SimulatorUtils.cs b/Craftimizer/SimulatorUtils.cs index ca2ffde..172e24e 100644 --- a/Craftimizer/SimulatorUtils.cs +++ b/Craftimizer/SimulatorUtils.cs @@ -53,8 +53,8 @@ internal static class ActionUtils var possibleActions = LuminaSheets.ActionSheet.Where(r => r.Icon == baseAction.Icon && r.ActionCategory.Row == baseAction.ActionCategory.Row && - r.Name.RawString.Equals(baseAction.Name.RawString, StringComparison.Ordinal)).ToArray(); - + r.Name.RawString.Equals(baseAction.Name.RawString, StringComparison.Ordinal)); + foreach (var classJob in classJobs) ActionRows[(int)actionType, (int)classJob] = (null, possibleActions.First(r => r.ClassJobCategory.Value?.IsClassJob(classJob) ?? false)); } diff --git a/Craftimizer/Utils/FoodStatus.cs b/Craftimizer/Utils/FoodStatus.cs index ec87a45..89f0afc 100644 --- a/Craftimizer/Utils/FoodStatus.cs +++ b/Craftimizer/Utils/FoodStatus.cs @@ -22,27 +22,6 @@ public static class FoodStatus static FoodStatus() { var lut = new Dictionary(); - foreach (var item in LuminaSheets.ItemSheet) - { - var isFood = item.ItemUICategory.Row == 46; - var isMedicine = item.ItemUICategory.Row == 44; - if (!isFood && !isMedicine) - continue; - - if (item.ItemAction.Value == null) - continue; - - if (!(item.ItemAction.Value.Type is 844 or 845 or 846)) - continue; - - var itemFood = LuminaSheets.ItemFoodSheet.GetRow(item.ItemAction.Value.Data[1]); - if (itemFood == null) - continue; - - lut.TryAdd(itemFood.RowId, item.RowId); - } - ItemFoodToItemLUT = lut.ToFrozenDictionary(); - var foods = new Dictionary(); var medicines = new Dictionary(); foreach (var item in LuminaSheets.ItemSheet) @@ -85,8 +64,11 @@ public static class FoodStatus if (isMedicine) medicines.Add(item.RowId, food); } + + lut.TryAdd(itemFood.RowId, item.RowId); } - + + ItemFoodToItemLUT = lut.ToFrozenDictionary(); FoodItems = foods.ToFrozenDictionary(); MedicineItems = medicines.ToFrozenDictionary();