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 #260 from Karaha-Baruha/main
Browse files Browse the repository at this point in the history
now with 100% less broken wildfire/hypercharge!
  • Loading branch information
LTS-FFXIV authored Sep 25, 2024
2 parents 065689e + 5a35521 commit 26d1c50
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 32 deletions.
37 changes: 19 additions & 18 deletions BasicRotations/Ranged/zMCH_Beta.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
{
// Keeps Ricochet and Gauss cannon Even
bool isRicochetMore = RicochetPvE.EnoughLevel && GaussRoundPvE.Cooldown.RecastTimeElapsed <= RicochetPvE.Cooldown.RecastTimeElapsed;

// If Wildfire is active, use Hypercharge.....Period
if (Player.HasStatus(true, StatusID.Wildfire_1946) && HyperchargePvE.CanUse(out act)) return true;

// Start Ricochet/Gauss cooldowns rolling
if (!RicochetPvE.Cooldown.IsCoolingDown && RicochetPvE.CanUse(out act, skipAoeCheck: true)) return true;
Expand All @@ -65,9 +68,6 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act)
// Check for not burning Hypercharge below level 52 on AOE
bool LowLevelHyperCheck = !AutoCrossbowPvE.EnoughLevel && SpreadShotPvE.CanUse(out _);

// If Wildfire is active, use Hypercharge.....Period
if (Player.HasStatus(true, StatusID.Wildfire_1946) && HyperchargePvE.CanUse(out act)) return true;

// Rook Autoturret/Queen Logic
if (CanUseQueenMeow(out act, nextGCD)) return true;

Expand Down Expand Up @@ -152,20 +152,20 @@ private bool ToolChargeSoon(out IAction? act)
{
float REST_TIME = 8f;
if
//Cannot AOE
(!SpreadShotPvE.CanUse(out _)
&&
// AirAnchor Enough Level % AirAnchor
((AirAnchorPvE.EnoughLevel && AirAnchorPvE.Cooldown.WillHaveOneCharge(REST_TIME))
||
// HotShot Charge Detection
(!AirAnchorPvE.EnoughLevel && HotShotPvE.EnoughLevel && HotShotPvE.Cooldown.WillHaveOneCharge(REST_TIME))
||
// Drill Charge Detection
(DrillPvE.EnoughLevel && (!DrillPvE.Cooldown.WillHaveXCharges(DrillPvE.Cooldown.MaxCharges, REST_TIME)))
||
// Chainsaw Charge Detection
(ChainSawPvE.EnoughLevel && ChainSawPvE.Cooldown.WillHaveOneCharge(REST_TIME))))
//Cannot AOE
(!SpreadShotPvE.CanUse(out _)
&&
// AirAnchor Enough Level % AirAnchor
((AirAnchorPvE.EnoughLevel && AirAnchorPvE.Cooldown.WillHaveOneCharge(REST_TIME))
||
// HotShot Charge Detection
(!AirAnchorPvE.EnoughLevel && HotShotPvE.EnoughLevel && HotShotPvE.Cooldown.WillHaveOneCharge(REST_TIME))
||
// Drill Charge Detection
(DrillPvE.EnoughLevel && DrillPvE.Cooldown.WillHaveXCharges(DrillPvE.Cooldown.MaxCharges, REST_TIME))
||
// Chainsaw Charge Detection
(ChainSawPvE.EnoughLevel && ChainSawPvE.Cooldown.WillHaveOneCharge(REST_TIME))))
{
act = null;
return false;
Expand Down Expand Up @@ -197,7 +197,8 @@ private bool CanUseQueenMeow(out IAction? act, IAction nextGCD)

if (
(NewQueenLogic &&
(WildfirePvE.Cooldown.WillHaveOneChargeGCD(4)
(!CombatElapsedLess(610f)
|| WildfirePvE.Cooldown.WillHaveOneChargeGCD(4)
|| !WildfirePvE.Cooldown.ElapsedAfter(10)
|| (nextGCD.IsTheSameTo(true, CleanShotPvE) && Battery == 100)
|| (nextGCD.IsTheSameTo(true, HotShotPvE, AirAnchorPvE, ChainSawPvE, ExcavatorPvE) && (Battery == 90 || Battery == 100)))
Expand Down
28 changes: 14 additions & 14 deletions BasicRotations/Ranged/zMCH_Beta_2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -175,20 +175,20 @@ protected override bool GeneralGCD(out IAction? act)
private bool ToolChargeSoon(out IAction? act)
{
if
//Cannot AOE
(!SpreadShotPvE.CanUse(out _)
&&
// AirAnchor Enough Level % AirAnchor
((AirAnchorPvE.EnoughLevel && AirAnchorPvE.Cooldown.WillHaveOneCharge(HYPERCHARGE_DURATION))
||
// HotShot Charge Detection
(!AirAnchorPvE.EnoughLevel && HotShotPvE.EnoughLevel && HotShotPvE.Cooldown.WillHaveOneCharge(HYPERCHARGE_DURATION))
||
// Drill Charge Detection
(DrillPvE.EnoughLevel && !DrillPvE.Cooldown.WillHaveXCharges(DrillPvE.Cooldown.MaxCharges, HYPERCHARGE_DURATION))
||
// Chainsaw Charge Detection
(ChainSawPvE.EnoughLevel && ChainSawPvE.Cooldown.WillHaveOneCharge(HYPERCHARGE_DURATION))))
//Cannot AOE
(!SpreadShotPvE.CanUse(out _)
&&
// AirAnchor Enough Level % AirAnchor
((AirAnchorPvE.EnoughLevel && AirAnchorPvE.Cooldown.WillHaveOneCharge(HYPERCHARGE_DURATION))
||
// HotShot Charge Detection
(!AirAnchorPvE.EnoughLevel && HotShotPvE.EnoughLevel && HotShotPvE.Cooldown.WillHaveOneCharge(HYPERCHARGE_DURATION))
||
// Drill Charge Detection
(DrillPvE.EnoughLevel && DrillPvE.Cooldown.WillHaveXCharges(DrillPvE.Cooldown.MaxCharges, HYPERCHARGE_DURATION))
||
// Chainsaw Charge Detection
(ChainSawPvE.EnoughLevel && ChainSawPvE.Cooldown.WillHaveOneCharge(HYPERCHARGE_DURATION))))
{
act = null;
return false;
Expand Down

0 comments on commit 26d1c50

Please sign in to comment.