diff --git a/Benchmark/Program.cs b/Benchmark/Program.cs index 7f5adb8..832c8cd 100644 --- a/Benchmark/Program.cs +++ b/Benchmark/Program.cs @@ -98,7 +98,7 @@ internal static class Program } s.Stop(); - Console.WriteLine($"{s.Elapsed.TotalMilliseconds/60:0.00}ms/cycle"); + Console.WriteLine($"{s.Elapsed.TotalMilliseconds / 60:0.00}ms/cycle"); Console.WriteLine(string.Join(',', q)); q.Sort(); Console.WriteLine($"Min: {Quartile(q, 0)}, Max: {Quartile(q, 4)}, Avg: {Quartile(q, 2)}, Q1: {Quartile(q, 1)}, Q3: {Quartile(q, 3)}"); diff --git a/Craftimizer/LuminaSheets.cs b/Craftimizer/LuminaSheets.cs index f45f915..67ba2e9 100644 --- a/Craftimizer/LuminaSheets.cs +++ b/Craftimizer/LuminaSheets.cs @@ -1,6 +1,6 @@ -using Lumina.Excel.GeneratedSheets; -using Lumina.Excel; using Dalamud; +using Lumina.Excel; +using Lumina.Excel.GeneratedSheets; namespace Craftimizer.Plugin; diff --git a/Craftimizer/Service.cs b/Craftimizer/Service.cs index 7485821..0c02ad0 100644 --- a/Craftimizer/Service.cs +++ b/Craftimizer/Service.cs @@ -1,13 +1,13 @@ using Dalamud.Data; -using Dalamud.Game.ClientState.Objects; -using Dalamud.Game.ClientState; -using Dalamud.Game.Gui; using Dalamud.Game; +using Dalamud.Game.ClientState; +using Dalamud.Game.ClientState.Conditions; +using Dalamud.Game.ClientState.Objects; +using Dalamud.Game.Command; +using Dalamud.Game.Gui; +using Dalamud.Interface.Windowing; using Dalamud.IoC; using Dalamud.Plugin; -using Dalamud.Game.ClientState.Conditions; -using Dalamud.Game.Command; -using Dalamud.Interface.Windowing; namespace Craftimizer.Plugin; diff --git a/Craftimizer/SimulatorUtils.cs b/Craftimizer/SimulatorUtils.cs index 48bfd84..1ca6aea 100644 --- a/Craftimizer/SimulatorUtils.cs +++ b/Craftimizer/SimulatorUtils.cs @@ -1,17 +1,17 @@ -using ImGuiScene; -using Dalamud.Utility; -using Lumina.Excel.GeneratedSheets; -using System.Linq; +using Craftimizer.Simulator; using Craftimizer.Simulator.Actions; -using Action = Lumina.Excel.GeneratedSheets.Action; using Dalamud.Game.Text.SeStringHandling.Payloads; +using Dalamud.Utility; +using ImGuiScene; +using Lumina.Excel.GeneratedSheets; using System; +using System.Globalization; +using System.Linq; +using System.Numerics; +using System.Text; +using Action = Lumina.Excel.GeneratedSheets.Action; using ClassJob = Craftimizer.Simulator.ClassJob; using Condition = Craftimizer.Simulator.Condition; -using Craftimizer.Simulator; -using System.Text; -using System.Numerics; -using System.Globalization; namespace Craftimizer.Plugin; @@ -29,7 +29,7 @@ internal static class ActionUtils var actionId = actionType.Base().ActionId; if (LuminaSheets.CraftActionSheet.GetRow(actionId) is CraftAction baseCraftAction) { - foreach(var classJob in classJobs) + foreach (var classJob in classJobs) { ActionRows[(int)actionType, (int)classJob] = (classJob switch { @@ -94,7 +94,7 @@ internal static class ActionUtils public static ActionType? GetActionTypeFromId(uint actionId, ClassJob classJob, bool isCraftAction) { - foreach(var action in Enum.GetValues()) + foreach (var action in Enum.GetValues()) { var row = action.GetActionRow(classJob); if (isCraftAction) @@ -197,7 +197,7 @@ internal static class ConditionUtils _ => Vector3.Zero // Unknown }; - private const float ConditionCyclePeriod = 19/30f; + private const float ConditionCyclePeriod = 19 / 30f; // The real period of all condition color cycles are 0.633... (19/30) seconds // Interp accepts 0-1 public static Vector4 GetColor(this Condition me, float interp) @@ -210,7 +210,7 @@ internal static class ConditionUtils { addRgb = interp switch { - < 0.155f => Vector3.Lerp(new(128,0,0), new(128,80,0), (interp - 0) / 0.155f), + < 0.155f => Vector3.Lerp(new(128, 0, 0), new(128, 80, 0), (interp - 0) / 0.155f), < 0.315f => Vector3.Lerp(new(128, 80, 0), new(128, 128, 0), (interp - 0.155f) / 0.16f), < 0.475f => Vector3.Lerp(new(128, 128, 0), new(0, 64, 0), (interp - 0.315f) / 0.16f), < 0.630f => Vector3.Lerp(new(0, 64, 0), new(0, 128, 128), (interp - 0.475f) / 0.155f), @@ -293,7 +293,7 @@ internal static class EffectUtils public static ushort GetIconId(this EffectType me, int strength) { var status = me.Status(); - uint iconId = status.Icon; + var iconId = status.Icon; if (status.MaxStacks != 0) iconId += (uint)Math.Clamp(strength, 1, status.MaxStacks) - 1; return (ushort)iconId; diff --git a/Craftimizer/Utils/Gearsets.cs b/Craftimizer/Utils/Gearsets.cs index 0e283dd..86e16c5 100644 --- a/Craftimizer/Utils/Gearsets.cs +++ b/Craftimizer/Utils/Gearsets.cs @@ -65,7 +65,7 @@ internal static unsafe class Gearsets foreach (var statIncrease in item.UnkData73) IncreaseStat(statIncrease.BaseParamSpecial, statIncrease.BaseParamValueSpecial); - foreach(var gearsetMateria in gearsetItem.materia) + foreach (var gearsetMateria in gearsetItem.materia) { if (gearsetMateria.Type == 0) continue; diff --git a/Craftimizer/Utils/Hooks.cs b/Craftimizer/Utils/Hooks.cs index ee16b9d..a535ed3 100644 --- a/Craftimizer/Utils/Hooks.cs +++ b/Craftimizer/Utils/Hooks.cs @@ -1,14 +1,10 @@ -using Craftimizer.Simulator.Actions; +using Craftimizer.Plugin; using Dalamud.Hooking; -using Dalamud.Logging; -using Dalamud.Utility.Signatures; using FFXIVClientStructs.FFXIV.Client.Game; using System; using ActionType = Craftimizer.Simulator.Actions.ActionType; -using CSActionType = FFXIVClientStructs.FFXIV.Client.Game.ActionType; -using Condition = Craftimizer.Simulator.Condition; -using Craftimizer.Plugin; using ActionUtils = Craftimizer.Plugin.ActionUtils; +using CSActionType = FFXIVClientStructs.FFXIV.Client.Game.ActionType; namespace Craftimizer.Utils; @@ -35,7 +31,8 @@ public sealed unsafe class Hooks : IDisposable if (canCast && ret && (actionType == CSActionType.CraftAction || actionType == CSActionType.Spell)) { var classJob = ClassJobUtils.GetClassJobFromIdx((byte)(Service.ClientState.LocalPlayer?.ClassJob.Id ?? 0)); - if (classJob != null) { + if (classJob != null) + { var simActionType = ActionUtils.GetActionTypeFromId(actionId, classJob.Value, actionType == CSActionType.CraftAction); if (simActionType != null) OnActionUsed?.Invoke(simActionType.Value); diff --git a/Craftimizer/Windows/CraftingLog.cs b/Craftimizer/Windows/CraftingLog.cs index aa28ac6..04691e9 100644 --- a/Craftimizer/Windows/CraftingLog.cs +++ b/Craftimizer/Windows/CraftingLog.cs @@ -54,7 +54,7 @@ public unsafe class CraftingLog : Window private CharacterStats CharacterStatsConsumable { get; set; } = null!; private CannotCraftReason CharacterCannotCraftReason { get; set; } private SimulationInput CharacterSimulationInput { get; set; } = null!; - + // Set in UI private int QualityNotches { get; set; } private int StartingQuality => @@ -144,7 +144,7 @@ public unsafe class CraftingLog : Window CP = CharacterStatsNoConsumable.CP + CharacterConsumableBonus.CP, }; CharacterCannotCraftReason = Config.OverrideUncraftability ? CannotCraftReason.OK : CanCraftRecipe(CharacterEquipment, CharacterStatsConsumable); - + if (CharacterCannotCraftReason == CannotCraftReason.OK) CharacterSimulationInput = new(CharacterStatsConsumable, RecipeUtils.Info, StartingQuality, Random); } @@ -212,7 +212,7 @@ public unsafe class CraftingLog : Window ImGui.EndDisabled(); ImGui.BeginTable("craftfood", 2, ImGuiTableFlags.BordersInnerV); - + ImGui.TableSetupColumn("", ImGuiTableColumnFlags.WidthFixed, LeftSideWidth - 120); ImGui.TableNextColumn(); @@ -283,7 +283,8 @@ public unsafe class CraftingLog : Window ImGui.TableNextRow(); SimulationState? state = null; - if (CharacterCannotCraftReason == CannotCraftReason.OK) { + if (CharacterCannotCraftReason == CannotCraftReason.OK) + { state = new(CharacterSimulationInput); foreach (var action in macro.Actions) (_, state) = simulation.Execute(state.Value, action); diff --git a/Craftimizer/Windows/Settings.cs b/Craftimizer/Windows/Settings.cs index a643f08..e55ada3 100644 --- a/Craftimizer/Windows/Settings.cs +++ b/Craftimizer/Windows/Settings.cs @@ -1,9 +1,9 @@ -using Dalamud.Interface.Windowing; -using Dalamud.Interface; -using ImGuiNET; -using System.Numerics; -using System; using Craftimizer.Solver.Crafty; +using Dalamud.Interface; +using Dalamud.Interface.Windowing; +using ImGuiNET; +using System; +using System.Numerics; namespace Craftimizer.Plugin.Windows; diff --git a/Craftimizer/Windows/SimulatorDrawer.cs b/Craftimizer/Windows/SimulatorDrawer.cs index c15a312..9ad426e 100644 --- a/Craftimizer/Windows/SimulatorDrawer.cs +++ b/Craftimizer/Windows/SimulatorDrawer.cs @@ -1,15 +1,15 @@ -using Craftimizer.Simulator.Actions; using Craftimizer.Simulator; -using Dalamud.Interface.Windowing; -using ImGuiNET; -using System.Numerics; -using Dalamud.Interface; -using Dalamud.Utility; -using System; -using ImGuiScene; -using Dalamud.Interface.Components; -using System.Linq; +using Craftimizer.Simulator.Actions; using Dalamud.Game.Text; +using Dalamud.Interface; +using Dalamud.Interface.Components; +using Dalamud.Interface.Windowing; +using Dalamud.Utility; +using ImGuiNET; +using ImGuiScene; +using System; +using System.Linq; +using System.Numerics; namespace Craftimizer.Plugin.Windows; diff --git a/Simulator/Actions/ActionType.cs b/Simulator/Actions/ActionType.cs index bb852f9..1c6e589 100644 --- a/Simulator/Actions/ActionType.cs +++ b/Simulator/Actions/ActionType.cs @@ -38,7 +38,7 @@ public enum ActionType : byte Veneration, WasteNot, WasteNot2, - + StandardTouchCombo, AdvancedTouchCombo, FocusedSynthesisCombo, @@ -48,7 +48,7 @@ public enum ActionType : byte public static class ActionUtils { private static readonly BaseAction[] Actions; - + static ActionUtils() { var types = typeof(BaseAction).Assembly.GetTypes() diff --git a/Simulator/Effects.cs b/Simulator/Effects.cs index 9573f7c..49cf0b4 100644 --- a/Simulator/Effects.cs +++ b/Simulator/Effects.cs @@ -87,7 +87,7 @@ public record struct Effects public readonly byte GetStrength(EffectType effect) => effect == EffectType.InnerQuiet ? InnerQuiet : (byte)(HasEffect(effect) ? 1 : 0); - + [Pure] [MethodImpl(MethodImplOptions.AggressiveInlining)] public readonly bool HasEffect(EffectType effect) => diff --git a/Simulator/SimulationInput.cs b/Simulator/SimulationInput.cs index 1e7c2e0..fe56059 100644 --- a/Simulator/SimulationInput.cs +++ b/Simulator/SimulationInput.cs @@ -34,7 +34,7 @@ public sealed class SimulationInput public SimulationInput(CharacterStats stats, RecipeInfo recipe, int startingQuality = 0, int? seed = null) : this(stats, recipe, startingQuality, seed == null ? new Random() : new Random(seed.Value)) { - + } public Condition[] AvailableConditions => ConditionUtils.GetPossibleConditions(Recipe.ConditionsFlag); diff --git a/Solver/Crafty/ActionSet.cs b/Solver/Crafty/ActionSet.cs index 3fd6db2..8ff3344 100644 --- a/Solver/Crafty/ActionSet.cs +++ b/Solver/Crafty/ActionSet.cs @@ -8,7 +8,7 @@ namespace Craftimizer.Solver.Crafty; public struct ActionSet { private const bool IsDeterministic = false; - + private uint bits; [Pure] diff --git a/Solver/Crafty/Solver.cs b/Solver/Crafty/Solver.cs index 52f7628..f5192b3 100644 --- a/Solver/Crafty/Solver.cs +++ b/Solver/Crafty/Solver.cs @@ -586,5 +586,5 @@ public sealed class Solver }; return func(config, state, actionCallback, token); } - + }