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

Commit

Permalink
Add new config options and update logic in AST_Default
Browse files Browse the repository at this point in the history
Updated AST_Default.cs with new config options LightspeedMove and SmartCard, and adjusted logic in CountDownAction and AttackAbility methods. Modified conditions for TheBalancePvE, TheSpearPvE, and LordOfCrownsPvE abilities. Added logic for LightspeedPvE usage. Updated RebornRotations.csproj to reference RotationSolverReborn.Basic package version 7.0.5.114.
  • Loading branch information
LTS-FFXIV committed Sep 22, 2024
1 parent 5d64a9e commit 656bcd4
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 656bcd4

Please sign in to comment.