Skip to content
This repository has been archived by the owner on Jul 3, 2024. It is now read-only.

WHM Configurable and Sage wording changes #98

Merged
merged 1 commit into from
May 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions BasicRotations/Healer/SGE_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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)]
Expand Down
20 changes: 16 additions & 4 deletions BasicRotations/Healer/WHM_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down Expand Up @@ -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;

Expand Down Expand Up @@ -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;

Expand Down