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

Commit

Permalink
Final Fix For FloodFletter
Browse files Browse the repository at this point in the history
  • Loading branch information
Tykku committed Apr 15, 2024
1 parent 1adadee commit 0ffa4cf
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 15 deletions.
5 changes: 0 additions & 5 deletions BasicRotations/Magical/BLM_Beta.cs
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,6 @@ private bool MaintainIce(out IAction? act)

private bool DoIce(out IAction? act)
{
act = null;

if (IsLastAction(ActionID.UmbralSoulPvE, ActionID.TransposePvE)
&& IsParadoxActive && BlizzardPvE.CanUse(out act)) return true;

Expand Down Expand Up @@ -256,7 +254,6 @@ private bool MaintainFire(out IAction? act)

private bool DoFire(out IAction? act)
{
act = null;
if (UsePolyglot(out act)) return true;

// Add thunder only at combat start.
Expand Down Expand Up @@ -293,7 +290,6 @@ private bool DoFire(out IAction? act)

private bool UseInstanceSpell(out IAction? act)
{
act = null;
if (UsePolyglot(out act)) return true;
if (HasThunder && AddThunder(out act, 1)) return true;
if (UsePolyglot(out act, 0)) return true;
Expand All @@ -319,7 +315,6 @@ private bool AddThunder(out IAction? act, uint gcdCount = 3)

private bool AddElementBase(out IAction? act)
{
act = null;
if (CurrentMp >= 7200)
{
if (FireIiPvE.CanUse(out act)) return true;
Expand Down
32 changes: 22 additions & 10 deletions BasicRotations/Ranged/BRD_Beta.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,9 +111,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)

if (Repertoire == 3) return true;

// if (Repertoire == 2 && EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD(1) && NextAbilityToNextGCD < PitchPerfectPvE.AnimationLockTime + Ping) return true;

if (Repertoire == 2 && EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD()) return true; // && NextAbilityToNextGCD > PitchPerfectPvE.AnimationLockTime + Ping) return true;
if (Repertoire == 2 && EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD()) return true;
}

if (MagesBalladPvE.CanUse(out act))
Expand All @@ -137,7 +135,8 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)

if (RagingStrikesPvE.Cooldown.IsCoolingDown && !Player.HasStatus(true, StatusID.RagingStrikes)) return true;
}
if (BloodletterLogic(out act, Player.HasStatus(true, StatusID.RagingStrikes))) return true;

if (BloodletterLogic(out act)) return true;

return base.AttackAbility(nextGCD, out act);
}
Expand Down Expand Up @@ -192,15 +191,28 @@ private bool CanUseApexArrow(out IAction act)

return false;
}
private bool BloodletterLogic(out IAction? act, bool burst)
private bool BloodletterLogic(out IAction? act)
{
act = null;
if (!burst && RagingStrikesPvE.Cooldown.WillHaveOneCharge(30) && !(BloodletterPvE.Cooldown.CurrentCharges >= 3)) return false;
bool isBattleVoice = BattleVoicePvE.CanUse(out _);
bool isRadiantFinale = RadiantFinalePvE.CanUse(out _);
bool isRagingNow = Player.HasStatus(true, StatusID.RagingStrikes);
bool isRagingSoon = RagingStrikesPvE.Cooldown.WillHaveOneCharge(30);
bool isBloodTrait = EnhancedBloodletterTrait.EnoughLevel && BloodletterPvE.Cooldown.CurrentCharges < 3;
bool isNoBloodTrait = !EnhancedBloodletterTrait.EnoughLevel && BloodletterPvE.Cooldown.CurrentCharges < 2;
bool isEmpyrealArrowCD = EmpyrealArrowPvE.Cooldown.IsCoolingDown;
bool isEmpyrealSoon = !EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD();
bool isEmpyrealLevel = !EmpyrealArrowPvE.EnoughLevel;
bool isRepertoire = Repertoire != 3;

if (RainOfDeathPvE.CanUse(out act, usedUp: true))
{
if (isEmpyrealArrowCD || isEmpyrealSoon || isEmpyrealLevel || isRepertoire) return true;
}

if (burst && EmpyrealArrowPvE.Cooldown.IsCoolingDown || !EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD() || Repertoire != 3 || !EmpyrealArrowPvE.EnoughLevel)
if (BloodletterPvE.CanUse(out act, usedUp: true))
{
if (RainOfDeathPvE.CanUse(out act, usedUp: true)) return true;
if (BloodletterPvE.CanUse(out act, usedUp: true)) return true;
if (isBattleVoice || isRadiantFinale || (isRagingSoon && (isBloodTrait || isNoBloodTrait))) return false;
if (isEmpyrealArrowCD || isEmpyrealSoon || isEmpyrealLevel || isRepertoire) return true;
}
return false;
}
Expand Down

0 comments on commit 0ffa4cf

Please sign in to comment.