diff --git a/XIVComboExpanded/Combos/RDM.cs b/XIVComboExpanded/Combos/RDM.cs index 46b54e6f..aa0f2578 100644 --- a/XIVComboExpanded/Combos/RDM.cs +++ b/XIVComboExpanded/Combos/RDM.cs @@ -303,7 +303,7 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim if (IsEnabled(CustomComboPreset.RedMageVerprocFeature)) { - if (HasEffect(RDM.Buffs.GrandImpactReady)) + if (!IsEnabled(CustomComboPreset.RedMageVerprocGrandImpactDeprioritize) && HasEffect(RDM.Buffs.GrandImpactReady)) return RDM.GrandImpact; if (HasEffect(RDM.Buffs.VerstoneReady)) @@ -355,7 +355,7 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim if (IsEnabled(CustomComboPreset.RedMageVerprocFeature)) { - if (HasEffect(RDM.Buffs.GrandImpactReady)) + if (!IsEnabled(CustomComboPreset.RedMageVerprocGrandImpactDeprioritize) && HasEffect(RDM.Buffs.GrandImpactReady)) return RDM.GrandImpact; if (HasEffect(RDM.Buffs.VerfireReady)) @@ -372,7 +372,7 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim internal class RedMageAcceleration : CustomCombo { - protected internal override CustomComboPreset Preset { get; } = CustomComboPreset.RedMageAccelerationSwiftcastFeature; + protected internal override CustomComboPreset Preset { get; } = CustomComboPreset.RdmAny; protected override uint Invoke(uint actionID, uint lastComboMove, float comboTime, byte level) { @@ -383,17 +383,20 @@ protected override uint Invoke(uint actionID, uint lastComboMove, float comboTim if (IsEnabled(CustomComboPreset.RedMageAccelerationGrandImpactFeature) && HasEffect(RDM.Buffs.GrandImpactReady)) return RDM.GrandImpact; - if (IsEnabled(CustomComboPreset.RedMageAccelerationSwiftcastOption)) + if (IsEnabled(CustomComboPreset.RedMageAccelerationSwiftcastFeature)) { - if (IsOffCooldown(RDM.Acceleration) && IsOffCooldown(ADV.Swiftcast)) - return ADV.Swiftcast; - } + if (IsEnabled(CustomComboPreset.RedMageAccelerationSwiftcastOption)) + { + if (IsOffCooldown(RDM.Acceleration) && IsOffCooldown(ADV.Swiftcast)) + return ADV.Swiftcast; + } - if (IsOffCooldown(RDM.Acceleration)) - return RDM.Acceleration; + if (IsOffCooldown(RDM.Acceleration)) + return RDM.Acceleration; - if (IsOffCooldown(ADV.Swiftcast)) - return ADV.Swiftcast; + if (IsOffCooldown(ADV.Swiftcast)) + return ADV.Swiftcast; + } return RDM.Acceleration; } diff --git a/XIVComboExpanded/CustomComboPreset.cs b/XIVComboExpanded/CustomComboPreset.cs index 2b09c093..0df2a105 100644 --- a/XIVComboExpanded/CustomComboPreset.cs +++ b/XIVComboExpanded/CustomComboPreset.cs @@ -831,6 +831,10 @@ public enum CustomComboPreset [CustomComboInfo("Verstone/Verfire Feature", "Replace Verstone/Verfire with Jolt when no proc is available.", RDM.JobID)] RedMageVerprocFeature = 3504, + [ParentCombo(RedMageVerprocFeature)] + [CustomComboInfo("Deprioritize Grand Impact", "After using Acceleration, prioritize using Verstone/Verfire over Grand Impact if both buffs are active.", RDM.JobID)] + RedMageVerprocGrandImpactDeprioritize = 3519, + [CustomComboInfo("Verstone/Verfire Plus Feature", "Replace Verstone/Verfire with Veraero/Verthunder when various instant-cast effects are active.", RDM.JobID)] RedMageVerprocPlusFeature = 3505,