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 #204 from FFXIV-CombatReborn/do-you-remember
Browse files Browse the repository at this point in the history
Various fixes
  • Loading branch information
LTS-FFXIV authored Sep 1, 2024
2 parents 195f862 + c0a9722 commit 9c7107f
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 38 deletions.
32 changes: 11 additions & 21 deletions BasicRotations/Healer/SCH_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ public sealed class SCH_Default : ScholarRotation
[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 = "Recitation during Countdown.")]
public bool PrevDUN { get; set; } = true;

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

[RotationConfig(CombatType.PvE, Name = "Use Sacred Soil while moving")]
public bool SacredMove { get; set; } = false;
Expand All @@ -29,25 +29,15 @@ public sealed class SCH_Default : ScholarRotation
#region Countdown Logic
protected override IAction? CountDownAction(float remainTime)
{
var tank = PartyMembers.GetJobCategory(JobRole.Tank);

if (remainTime < RuinPvE.Info.CastTime + CountDownAhead
&& RuinPvE.CanUse(out var act)) return act;
if (remainTime < 3 && UseBurstMedicine(out act)) return act;
if (remainTime is < 4 and > 3 && DeploymentTacticsPvE.CanUse(out act)) return act;
if (remainTime is < 7 and > 6 && GiveT && AdloquiumPvE.CanUse(out act)) return act;
if (remainTime <= 15 && PrevDUN && RecitationPvE.CanUse(out act)) return act;

if (PrevDUN && remainTime <= 15 && !DeploymentTacticsPvE.Cooldown.IsCoolingDown && PartyMembers.Count() > 1)
{

if (!RecitationPvE.Cooldown.IsCoolingDown) return RecitationPvE;
if (!PartyMembers.Any((n) => n.HasStatus(true, StatusID.Galvanize)))
{
if (GiveT)
{
return AdloquiumPvE;
}
}
else
{
return DeploymentTacticsPvE;
}
}
return base.CountDownAction(remainTime);
}
#endregion
Expand Down Expand Up @@ -224,4 +214,4 @@ protected override bool GeneralGCD(out IAction? act)
public override bool CanHealAreaSpell => base.CanHealAreaSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2);

#endregion
}
}
3 changes: 2 additions & 1 deletion BasicRotations/Healer/SGE_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ public sealed class SGE_Default : SageRotation
#region Countdown Logic
protected override IAction? CountDownAction(float remainTime)
{
if (remainTime <= 1.5 && DosisPvE.CanUse(out var act)) return act;
if (remainTime < DosisPvE.Info.CastTime + CountDownAhead
&& DosisPvE.CanUse(out var act)) return act;
if (remainTime <= 3 && UseBurstMedicine(out act)) return act;
return base.CountDownAction(remainTime);
}
Expand Down
20 changes: 8 additions & 12 deletions BasicRotations/Melee/DRG_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,9 @@ public sealed class DRG_Default : DragoonRotation
public bool DoomSpikeWhenever { get; set; } = true;
#endregion

#region Additional oGCD Logic
private static bool InBurstStatus => !Player.WillStatusEnd(0, true, StatusID.BattleLitany);

[RotationDesc]
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
return base.EmergencyAbility(nextGCD, out act);
}
#region Additional oGCD Logic

[RotationDesc(ActionID.WingedGlidePvE)]
protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
Expand All @@ -44,23 +40,23 @@ protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction?
#endregion

#region oGCD Logic
protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
{
if (IsBurst && InCombat)
{
if ((!BattleLitanyPvE.Cooldown.ElapsedAfter(60) || !BattleLitanyPvE.EnoughLevel) && LanceChargePvE.CanUse(out act)) return true;

if (Player.HasStatus(true, StatusID.LanceCharge) && BattleLitanyPvE.CanUse(out act)) return true;

if ((Player.HasStatus(true, StatusID.BattleLitany) || Player.HasStatus(true, StatusID.LanceCharge) || LOTDEndAfter(1000)) && nextGCD.IsTheSameTo(true, HeavensThrustPvE, DrakesbanePvE)
|| (Player.HasStatus(true, StatusID.BattleLitany) && Player.HasStatus(true, StatusID.LanceCharge) && LOTDEndAfter(1000) && nextGCD.IsTheSameTo(true, ChaoticSpringPvE, LanceBarragePvE, WheelingThrustPvE, FangAndClawPvE))
|| (nextGCD.IsTheSameTo(true, HeavensThrustPvE, DrakesbanePvE) && (LanceChargePvE.IsInCooldown || BattleLitanyPvE.IsInCooldown)))
{
if (LifeSurgePvE.CanUse(out act, usedUp: true)) return true;
}

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

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

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

protected override bool AttackAbility(IAction nextGCD, out IAction? act)
Expand Down
1 change: 0 additions & 1 deletion BasicRotations/Ranged/BRD_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ public sealed class BRD_Default : BardRotation
// Defines logic for actions to take during the countdown before combat starts.
protected override IAction? CountDownAction(float remainTime)
{
// tincture needs to be used on -2s exactly
if (remainTime <= 0.7f && UseBurstMedicine(out var act)) return act;
return base.CountDownAction(remainTime);
}
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.43" />
<PackageReference Include="RotationSolverReborn.Basic" Version="7.0.5.45" />
</ItemGroup>
<ItemGroup>
<Reference Include="Dalamud">
Expand Down
8 changes: 6 additions & 2 deletions BasicRotations/Tank/DRK_Default.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace DefaultRotations.Tank;

[Rotation("Default", CombatType.PvE, GameVersion = "7.00")]
[Rotation("Default", CombatType.PvE, GameVersion = "7.05")]
[SourceCode(Path = "main/DefaultRotations/Tank/DRK_Balance.cs")]
[Api(3)]
public sealed class DRK_Default : DarkKnightRotation
Expand Down Expand Up @@ -77,9 +77,11 @@ protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act)

//30
if ((!RampartPvE.Cooldown.IsCoolingDown || RampartPvE.Cooldown.ElapsedAfter(60)) && ShadowWallPvE.CanUse(out act)) return true;
if ((!RampartPvE.Cooldown.IsCoolingDown || RampartPvE.Cooldown.ElapsedAfter(60)) && ShadowedVigilPvE.CanUse(out act)) return true;

//20
if (ShadowWallPvE.Cooldown.IsCoolingDown && ShadowWallPvE.Cooldown.ElapsedAfter(60) && RampartPvE.CanUse(out act)) return true;
if (ShadowedVigilPvE.Cooldown.IsCoolingDown && ShadowedVigilPvE.Cooldown.ElapsedAfter(60) && RampartPvE.CanUse(out act)) return true;

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

Expand Down Expand Up @@ -142,6 +144,8 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
#region GCD Logic
protected override bool GeneralGCD(out IAction? act)
{
if (DisesteemPvE.CanUse(out act)) return true;

//Use Blood
if (UseBlood)
{
Expand Down Expand Up @@ -175,7 +179,7 @@ private bool UseBlood
{
// Conditions based on player statuses and ability cooldowns.
if (!DeliriumPvE.EnoughLevel || !LivingShadowPvE.EnoughLevel) return true;
if (Player.HasStatus(true, StatusID.Delirium_1972) && LivingShadowPvE.Cooldown.IsCoolingDown) return true;
if ((Player.HasStatus(true, StatusID.Delirium_1972) || Player.HasStatus(true, StatusID.Delirium_3836)) && LivingShadowPvE.Cooldown.IsCoolingDown) return true;
if ((DeliriumPvE.Cooldown.WillHaveOneChargeGCD(1) && !LivingShadowPvE.Cooldown.WillHaveOneChargeGCD(3)) || Blood >= 90 && !LivingShadowPvE.Cooldown.WillHaveOneChargeGCD(1)) return true;

return false;
Expand Down

0 comments on commit 9c7107f

Please sign in to comment.