Skip to content

Commit

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

Refactor BlueMage abilities and add new conditions
  • Loading branch information
LTS-FFXIV authored Dec 1, 2024
2 parents d080efb + 15fb3c2 commit 8c159ae
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
22 changes: 13 additions & 9 deletions BasicRotations/Limited Jobs/BLU_Default.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,19 @@ protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act)
protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
act = null;
if (JKickPvE.CanUse(out act))
{
if (Player.HasStatus(true, StatusID.Harmonized)) return true;
}
if (JKickPvE.CanUse(out act)) return true;
if (BeingMortalPvE.CanUse(out act)) return true;
if (NightbloomPvE.CanUse(out act)) return true;
if (FeatherRainPvE.CanUse(out act)) return true;
if (ShockStrikePvE.CanUse(out act)) return true;

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

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

if (Player.CurrentMp < 6000 && InCombat && LucidDreamingPvE.CanUse(out act)) return true;
if (AethericMimicryPvE_19239.CanUse(out act)) return true;
return base.GeneralAbility(nextGCD, out act);
}
Expand Down Expand Up @@ -161,15 +162,18 @@ 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 (BreathOfMagicPvE.CanUse(out act) && (BreathOfMagicPvE.Target.Target?.WillStatusEnd(2, true, BreathOfMagicPvE.Setting.TargetStatusProvide ?? []) ?? false)) return true;
if (SongOfTormentPvE.CanUse(out act) && !IsLastAbility(ActionID.NightbloomPvE)) 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 (TinglePvE.CanUse(out act) && TripleTridentPvE.Cooldown.WillHaveOneChargeGCD(2) && !Player.HasStatus(true, StatusID.Tingling) && !IsLastGCD(ActionID.TinglePvE)) return true;
if (WhistlePvE.CanUse(out act) && Player.HasStatus(true, StatusID.Tingling)) return true;
if (TripleTridentPvE.CanUse(out act) && IsLastGCD(ActionID.WhistlePvE) && Player.HasStatus(true, StatusID.Tingling)) return true;

if (SonicBoomPvE.CanUse(out act)) return true;
if (FlyingSardinePvE.CanUse(out act)) return true;
return base.GeneralGCD(out act);
}
#endregion
Expand Down
12 changes: 11 additions & 1 deletion RotationSolver.Basic/Rotations/Basic/BlueMageRotation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,16 @@ static partial void ModifyNightbloomPvE(ref ActionSetting setting)
};
}

static partial void ModifyBreathOfMagicPvE(ref ActionSetting setting)
{
setting.TargetStatusProvide = [StatusID.BreathOfMagic];
setting.IsFriendly = false;
setting.CreateConfig = () => new ActionConfig()
{
AoeCount = 1,
};
}

static partial void ModifyWingedReprobationPvE(ref ActionSetting setting)
{
setting.StatusProvide = [StatusID.WingedReprobation, StatusID.WingedRedemption];
Expand Down Expand Up @@ -217,7 +227,7 @@ static partial void ModifyBeingMortalPvE(ref ActionSetting setting)
//Optional
static partial void ModifyFlyingSardinePvE(ref ActionSetting setting)
{
setting.TargetType = TargetType.Interrupt;

}

static partial void ModifyWhiteWindPvE(ref ActionSetting setting)
Expand Down

0 comments on commit 8c159ae

Please sign in to comment.