From a51106b83a67d6beadbf0c5312d8f268b8af2a77 Mon Sep 17 00:00:00 2001 From: LTS-FFXIV <127939494+LTS-FFXIV@users.noreply.github.com> Date: Wed, 29 May 2024 08:18:52 -0500 Subject: [PATCH] WHM Configurable and Sage wording changes --- BasicRotations/Healer/SGE_Default.cs | 4 ++-- BasicRotations/Healer/WHM_Default.cs | 20 ++++++++++++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/BasicRotations/Healer/SGE_Default.cs b/BasicRotations/Healer/SGE_Default.cs index dc9cf97..6834423 100644 --- a/BasicRotations/Healer/SGE_Default.cs +++ b/BasicRotations/Healer/SGE_Default.cs @@ -27,11 +27,11 @@ public sealed class SGE_Default : SageRotation public float ZoeHeal { get; set; } = 0.6f; [Range(0, 1, ConfigUnitType.Percent)] - [RotationConfig(CombatType.PvE, Name = "Health threshold party member needs to be to use an OGCD Heal")] + [RotationConfig(CombatType.PvE, Name = "Health threshold party member needs to be to use an OGCD Heal while not holding addersgal stacks")] public float OGCDHeal { get; set; } = 0.20f; [Range(0, 1, ConfigUnitType.Percent)] - [RotationConfig(CombatType.PvE, Name = "Health threshold tank party member needs to use an OGCD Heal on Tanks")] + [RotationConfig(CombatType.PvE, Name = "Health threshold tank party member needs to use an OGCD Heal on Tanks while not holding addersgal stacks")] public float OGCDTankHeal { get; set; } = 0.65f; [Range(0, 1, ConfigUnitType.Percent)] diff --git a/BasicRotations/Healer/WHM_Default.cs b/BasicRotations/Healer/WHM_Default.cs index 682f012..fade9a5 100644 --- a/BasicRotations/Healer/WHM_Default.cs +++ b/BasicRotations/Healer/WHM_Default.cs @@ -9,8 +9,20 @@ public sealed class WHM_Default :WhiteMageRotation [RotationConfig(CombatType.PvE, Name = "Use Lily at max stacks.")] public bool UseLilyWhenFull { get; set; } = true; - [RotationConfig(CombatType.PvE, Name = "Regen on Tank at 5 seconds remaining on Countdown.")] + [RotationConfig(CombatType.PvE, Name = "Regen on Tank at 5 seconds remaining on Prepull Countdown.")] public bool UsePreRegen { get; set; } = true; + + [Range(0, 1, ConfigUnitType.Percent)] + [RotationConfig(CombatType.PvE, Name = "Minimum health threshold party member needs to be to use Benediction")] + public float BenedictionHeal { get; set; } = 0.3f; + + [Range(0, 1, ConfigUnitType.Percent)] + [RotationConfig(CombatType.PvE, Name = "If a party member's health drops below this percentage, the Regen healing ability will not be used on them")] + public float RegenHeal { get; set; } = 0.3f; + + [Range(0, 10000, ConfigUnitType.None, 100)] + [RotationConfig(CombatType.PvE, Name = "Casting cost requirement for Thin Air to be used")] + public float ThinAirNeed { get; set; } = 1000; #endregion #region Countdown Logic @@ -31,7 +43,7 @@ public sealed class WHM_Default :WhiteMageRotation #region oGCD Logic protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) { - if (nextGCD is IBaseAction action && action.Info.MPNeed >= 1000 && + if (nextGCD is IBaseAction action && action.Info.MPNeed >= ThinAirNeed && ThinAirPvE.CanUse(out act)) return true; if (nextGCD.IsTheSameTo(true, AfflatusRapturePvE, MedicaPvE, MedicaIiPvE, CureIiiPvE) @@ -80,7 +92,7 @@ protected override bool HealAreaAbility(IAction nextGCD, out IAction? act) protected override bool HealSingleAbility(IAction nextGCD, out IAction? act) { if (BenedictionPvE.CanUse(out act) && - RegenPvE.Target.Target?.GetHealthRatio() < 0.3) return true; + RegenPvE.Target.Target?.GetHealthRatio() < BenedictionHeal) return true; if (!IsMoving && AsylumPvE.CanUse(out act)) return true; @@ -125,7 +137,7 @@ protected override bool HealSingleGCD(out IAction? act) { if (AfflatusSolacePvE.CanUse(out act)) return true; - if (RegenPvE.CanUse(out act) && (RegenPvE.Target.Target?.GetHealthRatio() > 0.3)) return true; + if (RegenPvE.CanUse(out act) && (RegenPvE.Target.Target?.GetHealthRatio() > RegenHeal)) return true; if (CureIiPvE.CanUse(out act)) return true;