diff --git a/Craftimizer/Windows/CraftingLog.cs b/Craftimizer/Windows/CraftingLog.cs index 6918fd2..fd9c571 100644 --- a/Craftimizer/Windows/CraftingLog.cs +++ b/Craftimizer/Windows/CraftingLog.cs @@ -362,18 +362,29 @@ public unsafe class CraftingLog : Window Service.Plugin.OpenSimulatorWindow(Recipe.ItemResult.Value!, Recipe.IsExpert, CharacterSimulationInput, RecipeClassJob, macro); } + private string GetMacroCommand(ActionType action, bool addWaitTimes) + { + var actionBase = action.Base(); + if (actionBase is BaseComboAction comboActionBase) + return $"{GetMacroCommand(comboActionBase.ActionTypeA, addWaitTimes)}\n{GetMacroCommand(comboActionBase.ActionTypeB, addWaitTimes)}"; + if (addWaitTimes) + return $"/ac \"{action.GetName(RecipeClassJob)}\" "; + else + return $"/ac \"{action.GetName(RecipeClassJob)}\""; + } + private void CopyMacroToClipboard(Macro macro) { var s = new StringBuilder(); if (ImGui.IsKeyDown(ImGuiKey.ModShift)) { foreach (var action in macro.Actions) - s.AppendLine($"/ac \"{action.GetName(RecipeClassJob)}\""); + s.AppendLine(GetMacroCommand(action, false)); } else { foreach (var action in macro.Actions) - s.AppendLine($"/ac \"{action.GetName(RecipeClassJob)}\" "); + s.AppendLine(GetMacroCommand(action, true)); s.AppendLine($"/echo Macro Complete! "); } ImGui.SetClipboardText(s.ToString()); diff --git a/Simulator/Actions/BaseComboActionImpl.cs b/Simulator/Actions/BaseComboActionImpl.cs index f330329..623fd53 100644 --- a/Simulator/Actions/BaseComboActionImpl.cs +++ b/Simulator/Actions/BaseComboActionImpl.cs @@ -23,5 +23,5 @@ internal abstract class BaseComboAction : BaseComboAction where A : BaseAc } public override string GetTooltip(Simulator s, bool addUsability) => - $"{ActionA.GetTooltip(s, addUsability)}\n{ActionB.GetTooltip(s, addUsability)}"; + $"{ActionA.GetTooltip(s, addUsability)}\n\n{ActionB.GetTooltip(s, addUsability)}"; }