Skip to content

Commit

Permalink
Merge pull request #455 from FFXIV-CombatReborn/ttk+ability-timer-tes…
Browse files Browse the repository at this point in the history
…ting-stuff

Additional changed and new config
  • Loading branch information
LTS-FFXIV authored Dec 1, 2024
2 parents b8a9360 + cb3839e commit d080efb
Show file tree
Hide file tree
Showing 6 changed files with 353 additions and 55 deletions.
138 changes: 122 additions & 16 deletions BasicRotations/Limited Jobs/BLU_Default.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace DefaultRotations.Magical;

[Rotation("DOES NOT WORK", CombatType.PvE, GameVersion = "7.05")]
[Rotation("DOES NOT WORK", CombatType.PvE, GameVersion = "7.11")]
[SourceCode(Path = "main/BasicRotations/Limited Jobs/BLU_Default.cs")]
[Api(4)]
public sealed class Blue_Default : BlueMageRotation
Expand All @@ -24,47 +24,153 @@ protected override bool EmergencyAbility(IAction nextGCD, out IAction? act)
}
#endregion

#region Move oGCD Logic
protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
{
act = null;


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

protected override bool MoveBackAbility(IAction nextGCD, out IAction? act)
{
act = null;


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

protected override bool SpeedAbility(IAction nextGCD, out IAction? act)
{
act = null;


return base.SpeedAbility(nextGCD, out act);
}
#endregion

#region Heal/Defense oGCD Logic
protected override bool HealSingleAbility(IAction nextGCD, out IAction? act)
{
act = null;


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

protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act)
{
act = null;


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

protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act)
{
act = null;


return base.DefenseSingleAbility(nextGCD, out act);
}
#endregion

#region oGCD Logic
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
act = null;

if (JKickPvE.CanUse(out act))
{
if (Player.HasStatus(true, StatusID.Harmonized)) return true;
}

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

protected override bool MoveForwardAbility(IAction nextGCD, out IAction? act)
protected override bool GeneralAbility(IAction nextGCD, out IAction? act)
{
act = null;


return base.MoveForwardAbility(nextGCD, out act);
if (AethericMimicryPvE_19239.CanUse(out act)) return true;
return base.GeneralAbility(nextGCD, out act);
}
#endregion

#region GCD Logic

protected override bool EmergencyGCD(out IAction? act)
{
act = null;

return base.EmergencyGCD(out act);
}

protected override bool MyInterruptGCD(out IAction? act)
{
if (FlyingSardinePvE.CanUse(out act)) return true;
return base.MyInterruptGCD(out act);
}

protected override bool DefenseAreaGCD(out IAction? act)
{
if (ColdFogPvE.CanUse(out act)) return true;
return base.DefenseAreaGCD(out act);
}

protected override bool DefenseSingleGCD(out IAction? act)
{
act = null;

return base.DefenseSingleGCD(out act);
}

protected override bool HealAreaGCD(out IAction? act)
{
if (WhiteWindPvE.CanUse(out act)) return true;
return base.HealAreaGCD(out act);
}

protected override bool HealSingleGCD(out IAction? act)
{
if (WhiteWindPvE.CanUse(out act)) return true;
return base.HealSingleGCD(out act);
}

protected override bool MoveForwardGCD(out IAction? act)
{
act = null;

return base.MoveForwardGCD(out act);
}

protected override bool GeneralGCD(out IAction? act)
protected override bool DispelGCD(out IAction? act)
{
act = null;
if (TinglePvE.CanUse(out act)) return true;
if (WaterCannonPvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);

return base.DispelGCD(out act);
}
#endregion

#region Extra Methods
// Extra private helper methods for determining the usability of specific abilities under certain conditions.
// These methods simplify the main logic by encapsulating specific checks related to abilities' cooldowns and prerequisites.
//private bool CanUseExamplePvE(out IAction? act)
//{
protected override bool RaiseGCD(out IAction? act)
{
if (AngelWhisperPvE.CanUse(out act)) return true;
return base.RaiseGCD(out act);
}

protected override bool GeneralGCD(out IAction? act)
{
if (WhiteDeathPvE.CanUse(out act)) return true;

//}
if (BreathOfMagicPvE.CanUse(out act)) return true;
if (SongOfTormentPvE.CanUse(out act)) return true;

if (MatraMagicPvE.CanUse(out act)) return true;
if (TheRoseOfDestructionPvE.CanUse(out act)) return true;

if (TripleTridentPvE.CanUse(out act) && IsLastGCD(ActionID.TinglePvE)) return true;
if (TinglePvE.CanUse(out act)) return true;
if (SonicBoomPvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);
}
#endregion
}
5 changes: 5 additions & 0 deletions RotationSolver.Basic/Configuration/Configs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,11 @@ public const string
PvEFilter = JobFilterType.Raise, PvPFilter = JobFilterType.NoJob)]
private static readonly bool _raisePlayerBySwift = true;

[JobConfig, UI("Prioritize raising dead players over Healing/Defense.",
Filter = HealingActionCondition, Section = 2,
PvEFilter = JobFilterType.Raise, PvPFilter = JobFilterType.NoJob)]
private static readonly bool _raisePlayerFirst = false;

[JobConfig, UI("Raise styles",
Filter = HealingActionCondition, Section = 2,
PvEFilter = JobFilterType.Raise, PvPFilter = JobFilterType.NoJob)]
Expand Down
Loading

0 comments on commit d080efb

Please sign in to comment.