From 466d7ab5089fe9ca17efc1849ca62d3e2006262b Mon Sep 17 00:00:00 2001
From: Asriel Camora <asriel@camora.dev>
Date: Tue, 14 Nov 2023 00:47:12 -0800
Subject: [PATCH] Fix missing percents and use % for stats of expert recipe
 quality bar

---
 Craftimizer/Windows/MacroEditor.cs | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/Craftimizer/Windows/MacroEditor.cs b/Craftimizer/Windows/MacroEditor.cs
index 5ba0205..f3670f4 100644
--- a/Craftimizer/Windows/MacroEditor.cs
+++ b/Craftimizer/Windows/MacroEditor.cs
@@ -135,7 +135,10 @@ public SimulationReliablity(in SimulationState startState, IEnumerable<ActionTyp
             if (recipeData.Recipe.ItemResult.Value!.IsCollectable)
                 getParam = s => s.Collectability;
             else if (recipeData.Recipe.RequiredQuality > 0)
-                getParam = s => s.Quality;
+            {
+                var reqQual = recipeData.Recipe.RequiredQuality;
+                getParam = s => (int)((float)s.Quality / reqQual * 100);
+            }
             else if (recipeData.RecipeInfo.MaxQuality > 0)
                 getParam = s => s.HQPercent;
             else
@@ -1098,9 +1101,12 @@ private void DrawMacroInfo()
                 if (RecipeData.Recipe.ItemResult.Value!.IsCollectable)
                     datas.Add(new("Collectability", Colors.HQ, Reliability.Param, State.Collectability, State.MaxCollectability, $"{State.Collectability}", null));
                 else if (RecipeData.Recipe.RequiredQuality > 0)
-                    datas.Add(new("Quality %", Colors.HQ, Reliability.Param, State.Quality, RecipeData.Recipe.RequiredQuality, $"{(float)State.Quality / RecipeData.Recipe.RequiredQuality * 100:0}%", null));
+                {
+                    var qualityPercent = (float)State.Quality / RecipeData.Recipe.RequiredQuality * 100;
+                    datas.Add(new("Quality %%", Colors.HQ, Reliability.Param, qualityPercent, 100, $"{qualityPercent:0}%", null));
+                }
                 else if (RecipeData.RecipeInfo.MaxQuality > 0)
-                    datas.Add(new("HQ %", Colors.HQ, Reliability.Param, State.HQPercent, 100, $"{State.HQPercent}%", null));
+                    datas.Add(new("HQ %%", Colors.HQ, Reliability.Param, State.HQPercent, 100, $"{State.HQPercent}%", null));
                 DrawBars(datas);
 
                 ImGui.TableNextColumn();
@@ -1194,7 +1200,7 @@ private void DrawBars(IEnumerable<BarData> bars)
                     ImGui.Text(condition.Name());
                 }
                 if (ImGui.IsItemHovered())
-                    ImGui.SetTooltip(condition.Description(CharacterStats.HasSplendorousBuff));
+                    ImGui.SetTooltip(condition.Description(CharacterStats.HasSplendorousBuff).Replace("%", "%%"));
 
                 ImGui.SetCursorPos(pos);
                 ImGuiUtils.AlignRight(ImGui.GetFrameHeight(), totalSize);