From 5a35521aeedccba787a409b22060f28f12af584f Mon Sep 17 00:00:00 2001 From: Karaha-Baruha Date: Wed, 25 Sep 2024 11:02:17 -0500 Subject: [PATCH] Correct Drill cooldown condition in wildfire/hypercharge logic --- BasicRotations/Ranged/zMCH_Beta.cs | 34 ++++++++++++++-------------- BasicRotations/Ranged/zMCH_Beta_2.cs | 28 +++++++++++------------ 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/BasicRotations/Ranged/zMCH_Beta.cs b/BasicRotations/Ranged/zMCH_Beta.cs index 1636bac..81a2587 100644 --- a/BasicRotations/Ranged/zMCH_Beta.cs +++ b/BasicRotations/Ranged/zMCH_Beta.cs @@ -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; @@ -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; @@ -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; diff --git a/BasicRotations/Ranged/zMCH_Beta_2.cs b/BasicRotations/Ranged/zMCH_Beta_2.cs index d9fad0a..0ab3d0b 100644 --- a/BasicRotations/Ranged/zMCH_Beta_2.cs +++ b/BasicRotations/Ranged/zMCH_Beta_2.cs @@ -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;