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

Commit

Permalink
Merge pull request #100 from FFXIV-CombatReborn/The-gang-beats-up-Alp…
Browse files Browse the repository at this point in the history
…hinaud-again

SCH configurable, and GCDHeal setting on WHM and AST, missed those
  • Loading branch information
LTS-FFXIV authored May 29, 2024
2 parents 093330c + a64e948 commit c57e549
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
9 changes: 9 additions & 0 deletions BasicRotations/Healer/AST_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ namespace DefaultRotations.Healer;
public sealed class AST_Default : AstrologianRotation
{
#region Config Options
[RotationConfig(CombatType.PvE, Name = "Use spells with cast times to heal. (Ignored if you are the only healer in party)")]
public bool GCDHeal { get; set; } = false;

[Range(4, 20, ConfigUnitType.Seconds)]
[RotationConfig(CombatType.PvE, Name = "Use Earthly Star during countdown timer.")]
public float UseEarthlyStarTime { get; set; } = 15;
Expand Down Expand Up @@ -206,4 +209,10 @@ protected override bool HealAreaAbility(IAction nextGCD, out IAction? act)
return base.HealAreaAbility(nextGCD, out act);
}
#endregion

#region Extra Methods
public override bool CanHealSingleSpell => base.CanHealSingleSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2);
public override bool CanHealAreaSpell => base.CanHealAreaSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2);

#endregion
}
10 changes: 7 additions & 3 deletions BasicRotations/Healer/SCH_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,18 @@ namespace DefaultRotations.Healer;
public sealed class SCH_Default : ScholarRotation
{
#region Config Options
[RotationConfig(CombatType.PvE, Name = "Use spells with cast times to heal.")]
[RotationConfig(CombatType.PvE, Name = "Use spells with cast times to heal. (Ignored if you are the only healer in party)")]
public bool GCDHeal { get; set; } = false;

[RotationConfig(CombatType.PvE, Name = "Recitation at 15 seconds remaining on Countdown.")]
public bool PrevDUN { get; set; } = false;

[RotationConfig(CombatType.PvE, Name = "Give Recitation to Tank")]
[RotationConfig(CombatType.PvE, Name = "Give Adloquium/Galvanize to Tank during Countdown (Requires above enabled)")]
public bool GiveT { get; set; } = false;

[Range(0, 1, ConfigUnitType.Percent)]
[RotationConfig(CombatType.PvE, Name = "Remove Aetherpact to conserve resources if party member is above this percentage")]
public float AetherpactRemove { get; set; } = 0.9f;
#endregion

#region Countdown Logic
Expand Down Expand Up @@ -97,7 +101,7 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
//Remove Aetherpact
foreach (var item in PartyMembers)
{
if (item.GetHealthRatio() < 0.9) continue;
if (item.GetHealthRatio() < AetherpactRemove) continue;
if (item.HasStatus(true, StatusID.FeyUnion_1223))
{
act = AetherpactPvE;
Expand Down
7 changes: 6 additions & 1 deletion BasicRotations/Healer/WHM_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ namespace DefaultRotations.Healer;
public sealed class WHM_Default :WhiteMageRotation
{
#region Config Options
[RotationConfig(CombatType.PvE, Name = "Use spells with cast times to heal. (Ignored if you are the only healer in party)")]
public bool GCDHeal { get; set; } = false;

[RotationConfig(CombatType.PvE, Name = "Use Lily at max stacks.")]
public bool UseLilyWhenFull { get; set; } = true;

Expand Down Expand Up @@ -182,8 +185,10 @@ public WHM_Default()
AfflatusRapturePvE.Setting.RotationCheck = () => BloodLily < 3;
AfflatusSolacePvE.Setting.RotationCheck = () => BloodLily < 3;
}
public override bool CanHealSingleSpell => base.CanHealSingleSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2);
public override bool CanHealAreaSpell => base.CanHealAreaSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2);

private bool UseLily(out IAction? act)
private bool UseLily(out IAction? act)
{
if (AfflatusRapturePvE.CanUse(out act, skipAoeCheck: true)) return true;
if (AfflatusSolacePvE.CanUse(out act)) return true;
Expand Down

0 comments on commit c57e549

Please sign in to comment.