Add HQ consumables to crafting log
This commit is contained in:
@@ -38,7 +38,7 @@ public unsafe class CraftingLog : Window
|
|||||||
// If not relative, increase stat by Value, and ignore Max
|
// If not relative, increase stat by Value, and ignore Max
|
||||||
[StructLayout(LayoutKind.Auto)]
|
[StructLayout(LayoutKind.Auto)]
|
||||||
private record struct FoodStat(bool IsRelative, sbyte Value, short Max, sbyte ValueHQ, short MaxHQ);
|
private record struct FoodStat(bool IsRelative, sbyte Value, short Max, sbyte ValueHQ, short MaxHQ);
|
||||||
private sealed record Food(Item Item, string Name, FoodStat? Craftsmanship, FoodStat? Control, FoodStat? CP);
|
private sealed record Food(Item Item, string Name, string NameHQ, FoodStat? Craftsmanship, FoodStat? Control, FoodStat? CP);
|
||||||
|
|
||||||
private static Food[] FoodItems { get; }
|
private static Food[] FoodItems { get; }
|
||||||
private static Food[] MedicineItems { get; }
|
private static Food[] MedicineItems { get; }
|
||||||
@@ -106,7 +106,8 @@ public unsafe class CraftingLog : Window
|
|||||||
|
|
||||||
if (craftsmanship != null || control != null || cp != null)
|
if (craftsmanship != null || control != null || cp != null)
|
||||||
{
|
{
|
||||||
var food = new Food(item, item.Name.ToDalamudString().TextValue ?? $"Unknown ({item.RowId})", craftsmanship, control, cp);
|
var name = item.Name.ToDalamudString().TextValue ?? $"Unknown ({item.RowId})";
|
||||||
|
var food = new Food(item, name, $"{name} (HQ)", craftsmanship, control, cp);
|
||||||
if (isFood)
|
if (isFood)
|
||||||
foods.Add(food);
|
foods.Add(food);
|
||||||
if (isMedicine)
|
if (isMedicine)
|
||||||
@@ -215,26 +216,53 @@ public unsafe class CraftingLog : Window
|
|||||||
ImGui.TableSetupColumn("", ImGuiTableColumnFlags.WidthFixed, LeftSideWidth - 120);
|
ImGui.TableSetupColumn("", ImGuiTableColumnFlags.WidthFixed, LeftSideWidth - 120);
|
||||||
ImGui.TableNextColumn();
|
ImGui.TableNextColumn();
|
||||||
|
|
||||||
if (ImGui.BeginCombo("Food", SelectedFood?.Name ?? "None"))
|
if (ImGui.BeginCombo("Food", SelectedFood != null ? (SelectedFoodHQ ? SelectedFood.NameHQ : SelectedFood.Name) : "None"))
|
||||||
{
|
{
|
||||||
if (ImGui.Selectable("None", SelectedFood == null))
|
if (ImGui.Selectable("None", SelectedFood == null))
|
||||||
|
{
|
||||||
SelectedFood = null;
|
SelectedFood = null;
|
||||||
|
SelectedFoodHQ = false;
|
||||||
|
}
|
||||||
|
|
||||||
foreach (var food in FoodItems)
|
foreach (var food in FoodItems)
|
||||||
if (ImGui.Selectable(food.Name, food == SelectedFood))
|
{
|
||||||
|
if (ImGui.Selectable(food.Name, food == SelectedFood && !SelectedFoodHQ))
|
||||||
|
{
|
||||||
SelectedFood = food;
|
SelectedFood = food;
|
||||||
|
SelectedFoodHQ = false;
|
||||||
|
}
|
||||||
|
else if (ImGui.Selectable($"{food.Name} (HQ)", food == SelectedFood && SelectedFoodHQ))
|
||||||
|
{
|
||||||
|
SelectedFood = food;
|
||||||
|
SelectedFoodHQ = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.EndCombo();
|
ImGui.EndCombo();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ImGui.BeginCombo("Medicine", SelectedMedicine?.Name ?? "None"))
|
if (ImGui.BeginCombo("Medicine", SelectedMedicine != null ? (SelectedMedicineHQ ? SelectedMedicine.NameHQ : SelectedMedicine.Name) : "None"))
|
||||||
{
|
{
|
||||||
if (ImGui.Selectable("None", SelectedMedicine == null))
|
if (ImGui.Selectable("None", SelectedMedicine == null))
|
||||||
|
{
|
||||||
SelectedMedicine = null;
|
SelectedMedicine = null;
|
||||||
|
SelectedMedicineHQ = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach (var food in MedicineItems)
|
foreach (var food in MedicineItems)
|
||||||
if (ImGui.Selectable(food.Name, food == SelectedMedicine))
|
{
|
||||||
|
if (ImGui.Selectable(food.Name, food == SelectedMedicine && !SelectedMedicineHQ))
|
||||||
|
{
|
||||||
SelectedMedicine = food;
|
SelectedMedicine = food;
|
||||||
|
SelectedMedicineHQ = false;
|
||||||
|
}
|
||||||
|
else if (ImGui.Selectable($"{food.Name} (HQ)", food == SelectedMedicine && SelectedMedicineHQ))
|
||||||
|
{
|
||||||
|
SelectedMedicine = food;
|
||||||
|
SelectedMedicineHQ = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ImGui.EndCombo();
|
ImGui.EndCombo();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user