From 04a420e57fbb1c020486e036b0f4bf57666a40b8 Mon Sep 17 00:00:00 2001 From: Ethan Henderson Date: Sun, 8 Sep 2024 05:05:07 -0600 Subject: [PATCH] Add WHM AoE 'opener' option --- XIVSlothCombo/Combos/CustomComboPreset.cs | 5 +++++ XIVSlothCombo/Combos/PvE/WHM.cs | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/XIVSlothCombo/Combos/CustomComboPreset.cs b/XIVSlothCombo/Combos/CustomComboPreset.cs index e0539e3e7..323b93a8c 100644 --- a/XIVSlothCombo/Combos/CustomComboPreset.cs +++ b/XIVSlothCombo/Combos/CustomComboPreset.cs @@ -4415,6 +4415,11 @@ The three digets after RDM.JobID can be used to reorder items in the list [CustomComboInfo("AoE DPS Feature", "Collection of cooldowns and spell features on Holy/Holy III.", WHM.JobID, 2, "", "")] WHM_AoE_DPS = 19190, + [ParentCombo(WHM_AoE_DPS)] + [CustomComboInfo("Swift Holy Pull 'Opener' Option", "Adds a Swiftcast->Holy at the beginning of your AoE rotation." + + "\nRequires you to already be in combat, to have stopped moving, and to not have used Assize yet.", WHM.JobID, 20, "", "")] + WHM_AoE_DPS_SwiftHoly = 19197, + [ParentCombo(WHM_AoE_DPS)] [CustomComboInfo("Assize Option", "Adds Assize to the AoE combo.", WHM.JobID, 21, "", "")] WHM_AoE_DPS_Assize = 19192, diff --git a/XIVSlothCombo/Combos/PvE/WHM.cs b/XIVSlothCombo/Combos/PvE/WHM.cs index 6c2f1a46d..dc99e2d2c 100644 --- a/XIVSlothCombo/Combos/PvE/WHM.cs +++ b/XIVSlothCombo/Combos/PvE/WHM.cs @@ -429,6 +429,7 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim internal class WHM_AoE_DPS : CustomCombo { protected internal override CustomComboPreset Preset { get; } = CustomComboPreset.WHM_AoE_DPS; + internal static int AssizeCount => ActionWatching.CombatActions.Count(x => x == Assize); protected override uint Invoke(uint actionID, uint lastComboMove, float comboTime, byte level) { @@ -440,6 +441,14 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim bool liliesNearlyFull = gauge.Lily == 2 && gauge.LilyTimer >= 17000; bool PresenceOfMindReady = ActionReady(PresenceOfMind) && (!Config.WHM_AoEDPS_PresenceOfMindWeave); + if (IsEnabled(CustomComboPreset.WHM_AoE_DPS_SwiftHoly) && + ActionReady(All.Swiftcast) && + AssizeCount == 0 && !IsMoving && InCombat()) + return All.Swiftcast; + if (IsEnabled(CustomComboPreset.WHM_AoE_DPS_SwiftHoly) && + WasLastAction(All.Swiftcast)) + return actionID; + if (IsEnabled(CustomComboPreset.WHM_AoE_DPS_Assize) && ActionReady(Assize)) return Assize;