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

Commit

Permalink
Moving PhysRange Beta to Live
Browse files Browse the repository at this point in the history
  • Loading branch information
Tykku committed Apr 19, 2024
1 parent a7178aa commit ce4dce6
Show file tree
Hide file tree
Showing 6 changed files with 134 additions and 721 deletions.
220 changes: 0 additions & 220 deletions BasicRotations/Ranged/BRD_Beta.cs

This file was deleted.

38 changes: 28 additions & 10 deletions BasicRotations/Ranged/BRD_Default.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() && NextAbilityToNextGCD > PitchPerfectPvE.AnimationLockTime + Ping) return true;
if (Repertoire == 2 && EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD()) return true;
}

if (MagesBalladPvE.CanUse(out act))
Expand All @@ -138,12 +136,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
if (RagingStrikesPvE.Cooldown.IsCoolingDown && !Player.HasStatus(true, StatusID.RagingStrikes)) return true;
}

if (EmpyrealArrowPvE.Cooldown.IsCoolingDown || !EmpyrealArrowPvE.Cooldown.WillHaveOneChargeGCD() || Repertoire != 3 || !EmpyrealArrowPvE.EnoughLevel)
{
if (RainOfDeathPvE.CanUse(out act, usedUp: true)) return true;

if (BloodletterPvE.CanUse(out act, usedUp: true)) return true;
}
if (BloodletterLogic(out act)) return true;

return base.AttackAbility(nextGCD, out act);
}
Expand Down Expand Up @@ -198,5 +191,30 @@ private bool CanUseApexArrow(out IAction act)

return false;
}
private bool BloodletterLogic(out IAction? act)
{
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 (BloodletterPvE.CanUse(out act, usedUp: true))
{
if (isBattleVoice || isRadiantFinale || (isRagingSoon && (isBloodTrait || isNoBloodTrait))) return false;
if (isEmpyrealArrowCD || isEmpyrealSoon || isEmpyrealLevel || isRepertoire) return true;
}
return false;
}
#endregion
}
}
Loading

0 comments on commit ce4dce6

Please sign in to comment.