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

Commit

Permalink
Merge pull request #249 from FFXIV-CombatReborn/astro
Browse files Browse the repository at this point in the history
Add new config options and update logic in AST_Default
  • Loading branch information
LTS-FFXIV authored Sep 22, 2024
2 parents 5d64a9e + 656bcd4 commit c76a64b
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 5 deletions.
20 changes: 16 additions & 4 deletions BasicRotations/Healer/AST_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ public sealed class AST_Default : AstrologianRotation
[RotationConfig(CombatType.PvE, Name = "Enable Swiftcast Restriction Logic to attempt to prevent actions other than Raise when you have swiftcast")]
public bool SwiftLogic { get; set; } = true;

[RotationConfig(CombatType.PvE, Name = "Use both stacks of Lightspeed while moving")]
public bool LightspeedMove { get; set; } = true;

[RotationConfig(CombatType.PvE, Name = "Use experimental card logic to pool for divination buff if possible")]
public bool SmartCard { get; set; } = true;

[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;

Expand All @@ -34,6 +40,8 @@ public sealed class AST_Default : AstrologianRotation
public bool DOTUpkeep { get; set; } = true;
#endregion

private static bool InBurstStatus => !Player.WillStatusEnd(0, true, StatusID.Divination);

#region Countdown Logic
protected override IAction? CountDownAction(float remainTime)
{
Expand Down Expand Up @@ -161,8 +169,8 @@ protected override bool GeneralAbility(IAction nextGCD, out IAction? act)

if (AstralDrawPvE.CanUse(out act)) return true;
if (UmbralDrawPvE.CanUse(out act)) return true;
if (InCombat && TheBalancePvE.CanUse(out act)) return true;
if (InCombat && TheSpearPvE.CanUse(out act)) return true;
if (((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(45) || !DivinationPvE.EnoughLevel || UmbralDrawPvE.Cooldown.WillHaveOneCharge(3)) && SmartCard || (!SmartCard)) && InCombat && TheBalancePvE.CanUse(out act)) return true;
if (((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(45) || !DivinationPvE.EnoughLevel || UmbralDrawPvE.Cooldown.WillHaveOneCharge(3)) && SmartCard || (!SmartCard)) && InCombat && TheSpearPvE.CanUse(out act)) return true;
return base.GeneralAbility(nextGCD, out act);
}

Expand All @@ -171,14 +179,18 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
act = null;
if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false;

if (InCombat && DivinationPvE.Cooldown.ElapsedAfter(115) && LightspeedPvE.CanUse(out act, usedUp: true)) return true;

if (IsBurst && !IsMoving
&& DivinationPvE.CanUse(out act)) return true;

if (AstralDrawPvE.CanUse(out act, usedUp: IsBurst)) return true;

if ((InBurstStatus || DivinationPvE.Cooldown.ElapsedAfter(115)) && InCombat && LightspeedPvE.CanUse(out act, usedUp: true)) return true;

if (InCombat)
{
if (IsMoving && LightspeedPvE.CanUse(out act)) return true;
if (IsMoving && LightspeedPvE.CanUse(out act, usedUp: LightspeedMove)) return true;

if (!IsMoving)
{
Expand All @@ -189,7 +201,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
}

{
if (LordOfCrownsPvE.CanUse(out act)) return true;
if (((Player.HasStatus(true, StatusID.Divination) || !DivinationPvE.Cooldown.WillHaveOneCharge(45) || !DivinationPvE.EnoughLevel || UmbralDrawPvE.Cooldown.WillHaveOneCharge(3)) && SmartCard || (!SmartCard)) && LordOfCrownsPvE.CanUse(out act)) return true;
}
}
return base.AttackAbility(nextGCD, out act);
Expand Down
2 changes: 1 addition & 1 deletion BasicRotations/RebornRotations.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<Compile Include="Duty\EmanationDefault" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.5.109" />
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.5.114" />
</ItemGroup>
<ItemGroup>
<Reference Include="Dalamud">
Expand Down

0 comments on commit c76a64b

Please sign in to comment.