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 #144 from FFXIV-CombatReborn/dargon
Browse files Browse the repository at this point in the history
Dragoon Gierscogola or whatever its called fixed
  • Loading branch information
LTS-FFXIV authored Jul 26, 2024
2 parents 1186b26 + 54e892c commit 2edba7f
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 36 deletions.
85 changes: 50 additions & 35 deletions BasicRotations/Melee/DRG_Default.cs
Original file line number Diff line number Diff line change
@@ -1,79 +1,91 @@
namespace DefaultRotations.Melee;

[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[Rotation("Default", CombatType.PvE, GameVersion = "7.01")]
[SourceCode(Path = "main/DefaultRotations/Melee/DRG_Default.cs")]
[Api(2)]

public sealed class DRG_Default : DragoonRotation
{
#region Config Options
[RotationDesc(ActionID.WingedGlidePvE, ActionID.DragonfireDivePvE)]

[RotationConfig(CombatType.PvE, Name = "Break Single Target Combo to AOE when time to AOE")]
[RotationConfig(CombatType.PvE, Name = "Use Doom Spike for damage uptime if out of melee range even if it breaks combo")]
public bool DoomSpikeWhenever { get; set; } = true;
#endregion

#region Move Logic
protected override bool MoveForwardAbility(IAction nextGCD, out IAction act)
{
if (DragonfireDivePvE.CanUse(out act, skipAoeCheck: true)) return true;

return false;
}

#endregion
#region Additional oGCD Logic

#region oGCD Logic
[RotationDesc]
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
if (nextGCD.IsTheSameTo(true, FullThrustPvE, CoerthanTormentPvE)
|| Player.HasStatus(true, StatusID.LanceCharge) && nextGCD.IsTheSameTo(false, FangAndClawPvE))
{
{
if (LifeSurgePvE.CanUse(out act, usedUp: true)) return true;
}

return base.EmergencyAbility(nextGCD, out act);
}

[RotationDesc(ActionID.WingedGlidePvE)]
protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
if (WingedGlidePvE.CanUse(out act)) return true;

return false;
}

[RotationDesc(ActionID.ElusiveJumpPvE)]
protected override bool MoveBackAbility(IAction nextGCD, out IAction? act)
{
if (ElusiveJumpPvE.CanUse(out act)) return true;

protected override bool AttackAbility(IAction nextGCD, out IAction? act)
return false;
}

[RotationDesc(ActionID.FeintPvE)]
protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
{
if (FeintPvE.CanUse(out act)) return true;
return false;
}
#endregion

#region oGCD Logic
protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
{
if (IsBurst && InCombat)
{
if (LanceChargePvE.CanUse(out act, skipAoeCheck: true) && Player.HasStatus(true, StatusID.PowerSurge)) return true;
if (LanceChargePvE.CanUse(out act, skipAoeCheck: true) && !Player.HasStatus(true, StatusID.PowerSurge)) return true;
if (LanceChargePvE.CanUse(out act)) return true;

if (BattleLitanyPvE.CanUse(out act, skipAoeCheck: true)) return true;
if (BattleLitanyPvE.CanUse(out act)) return true;
}

if (NastrondPvE.CanUse(out act, skipAoeCheck: true)) return true;
if (StardiverPvE.CanUse(out act, skipAoeCheck: true)) return true;
return base.GeneralAbility(nextGCD, out act);
}

if (HighJumpPvE.EnoughLevel)
{
if (HighJumpPvE.CanUse(out act)) return true;
}
else
{
if (JumpPvE.CanUse(out act)) return true;
}
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
if (StarcrossPvE.CanUse(out act)) return true;
if (NastrondPvE.CanUse(out act)) return true;
if (StardiverPvE.CanUse(out act)) return true;

if (HighJumpPvE.CanUse(out act)) return true;
if (JumpPvE.CanUse(out act)) return true;

if (GeirskogulPvE.CanUse(out act, skipAoeCheck: true)) return true;

if (Player.HasStatus(true, StatusID.LanceCharge) && LanceChargePvE.Cooldown.ElapsedOneChargeAfterGCD(3))
{
if (Player.HasStatus(true, StatusID.LanceCharge) && LanceChargePvE.Cooldown.ElapsedOneChargeAfterGCD(3)) return true;
if (GeirskogulPvE.CanUse(out act)) return true;
}

if (MirageDivePvE.CanUse(out act)) return true;

if (DragonfireDivePvE.CanUse(out act, skipAoeCheck: true))
if (Player.HasStatus(true, StatusID.LanceCharge) && LanceChargePvE.Cooldown.ElapsedOneChargeAfterGCD(3))
{
if (Player.HasStatus(true, StatusID.LanceCharge) && LanceChargePvE.Cooldown.ElapsedOneChargeAfterGCD(3)) return true;
if (DragonfireDivePvE.CanUse(out act)) return true;
}

if (WyrmwindThrustPvE.CanUse(out act, skipAoeCheck: true)) return true;
if (MergedStatus.HasFlag(AutoStatus.MoveForward) && MoveForwardAbility(nextGCD, out act)) return true;
if (WyrmwindThrustPvE.CanUse(out act)) return true;
if (RiseOfTheDragonPvE.CanUse(out act)) return true;

return base.AttackAbility(nextGCD, out act);
}
Expand Down Expand Up @@ -104,6 +116,9 @@ protected override bool GeneralGCD(out IAction? act)

if (VorpalThrustPvE.CanUse(out act)) return true;
if (TrueThrustPvE.CanUse(out act)) return true;
if (RaidenThrustPvE.CanUse(out act)) return true;
if (LanceBarragePvE.CanUse(out act)) return true;
if (SpiralBlowPvE.CanUse(out act)) return true;
if (PiercingTalonPvE.CanUse(out act)) return true;

return base.GeneralGCD(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 @@ -9,7 +9,7 @@
<None Remove="Duty\PVPRotations\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.1.27" />
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.1.30" />
</ItemGroup>
<ItemGroup>
<Reference Include="Dalamud">
Expand Down

0 comments on commit 2edba7f

Please sign in to comment.