From ddea44c198423194f598ee31a21792a4e4ad8ece Mon Sep 17 00:00:00 2001 From: Khayle Date: Mon, 8 Jul 2024 11:17:20 +0200 Subject: [PATCH] BLM Update (High) Fire 2 lower level optimization (ty @kaedys) --- XIVComboExpanded/Combos/BLM.cs | 22 +++++++++++++++++++--- XIVComboExpanded/CustomComboPreset.cs | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/XIVComboExpanded/Combos/BLM.cs b/XIVComboExpanded/Combos/BLM.cs index d08491cf..71ff4176 100644 --- a/XIVComboExpanded/Combos/BLM.cs +++ b/XIVComboExpanded/Combos/BLM.cs @@ -31,7 +31,8 @@ public const uint Blizzard2 = 25793, HighFire2 = 25794, HighBlizzard2 = 25795, - Paradox = 25797; + Paradox = 25797, + FlareStar = 38072; public static class Buffs { @@ -70,7 +71,8 @@ public const byte HighFire2 = 82, HighBlizzard2 = 82, EnhancedSharpcast2 = 88, - Paradox = 90; + Paradox = 90, + FlareStar = 100; } public static class MpCosts @@ -308,7 +310,21 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim if (level >= BLM.Levels.Flare && gauge.InAstralFire) { - return BLM.Flare; + // Level 100 uses a simplified rotation that just uses Flare twice and then Flare Star. + if (level >= BLM.Levels.FlareStar) + { + // FIXME: Uncomment once the Astral Soul gauge is implemented + // if (gauge.AstralSoulStacks >= 6) + // return BLM.FlareStar + + return BLM.Flare; + } + + // At level 50, Fire II is used until under 3800 mana (the combined cost of Fire II and Flare), + // and then Flare is cast once. + // At level 58, Fire II is used until 1 Umbral Heart is remaining, and then Flare is cast twice. + if (LocalPlayer?.CurrentMp < BLM.MpCosts.Fire2 + BLM.MpCosts.Flare || gauge.UmbralHearts == 1) + return BLM.Flare; } } diff --git a/XIVComboExpanded/CustomComboPreset.cs b/XIVComboExpanded/CustomComboPreset.cs index fe7e28bc..44da591f 100644 --- a/XIVComboExpanded/CustomComboPreset.cs +++ b/XIVComboExpanded/CustomComboPreset.cs @@ -171,7 +171,7 @@ public enum CustomComboPreset [CustomComboInfo("Freeze/Flare Feature", "Freeze and Flare become whichever action you can currently use.", BLM.JobID)] BlackFreezeFlareFeature = 2506, - [CustomComboInfo("Fire 2 Feature", "(High) Fire 2 becomes Flare when in Astral Fire.", BLM.JobID)] + [CustomComboInfo("Fire 2 Feature", "(High) Fire 2 becomes Flare when in Astral Fire and is optimal.", BLM.JobID)] BlackFire2Feature = 2508, [CustomComboInfo("Ice 2 Feature", "(High) Blizzard 2 becomes Freeze in Umbral Ice.", BLM.JobID)]