From af3dfe267e22d2f5c84c264a0ae7e4f1673595a8 Mon Sep 17 00:00:00 2001 From: Karaha-Baruha Date: Tue, 24 Sep 2024 09:13:57 -0500 Subject: [PATCH 1/3] fix wf/hc bugs in mch beta 1 --- BasicRotations/Ranged/zMCH_Beta.cs | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/BasicRotations/Ranged/zMCH_Beta.cs b/BasicRotations/Ranged/zMCH_Beta.cs index 67ee268..09df4c4 100644 --- a/BasicRotations/Ranged/zMCH_Beta.cs +++ b/BasicRotations/Ranged/zMCH_Beta.cs @@ -81,20 +81,12 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) // Use Hypercharge if wildfire will not be up in 30 seconds or if you hit 100 heat if (!LowLevelHyperCheck && !Player.HasStatus(true, StatusID.Reassembled) && (!WildfirePvE.Cooldown.WillHaveOneCharge(30) || (Heat == 100))) { - if (ToolChargeSoon(out act)) return true; + if (!HoldHCForCombo || !(LiveComboTime <= 8f) && ToolChargeSoon(out act)) return true; } // Use Ricochet and Gauss if have pooled charges or is burst window - if (isRicochetMore) - { - if (IsLastGCD(true, BlazingShotPvE, HeatBlastPvE) - && RicochetPvE.CanUse(out act, skipAoeCheck: true, usedUp: true)) - return true; - } - - if (IsLastGCD(true, BlazingShotPvE, HeatBlastPvE) - && GaussRoundPvE.CanUse(out act, usedUp: true, skipAoeCheck: true)) - return true; + if (isRicochetMore && RicochetPvE.CanUse(out act, skipAoeCheck: true, usedUp: true)) return true; + if (GaussRoundPvE.CanUse(out act, usedUp: true, skipAoeCheck: true)) return true; if (IsBurst) { @@ -177,8 +169,6 @@ private bool ToolChargeSoon(out IAction? act) || // Chainsaw Charge Detection (ChainSawPvE.EnoughLevel && ChainSawPvE.Cooldown.WillHaveOneCharge(REST_TIME))) - || - (!HoldHCForCombo || !(LiveComboTime <= REST_TIME))) { act = null; return false; From efa3fe69aab87f3f1929685115163c9766c7f298 Mon Sep 17 00:00:00 2001 From: Karaha-Baruha Date: Tue, 24 Sep 2024 09:21:13 -0500 Subject: [PATCH 2/3] don't hold drill/hypercharge if combo time is 0 --- BasicRotations/Ranged/zMCH_Beta.cs | 2 +- BasicRotations/Ranged/zMCH_Beta_2.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/BasicRotations/Ranged/zMCH_Beta.cs b/BasicRotations/Ranged/zMCH_Beta.cs index 09df4c4..f8958bc 100644 --- a/BasicRotations/Ranged/zMCH_Beta.cs +++ b/BasicRotations/Ranged/zMCH_Beta.cs @@ -81,7 +81,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) // Use Hypercharge if wildfire will not be up in 30 seconds or if you hit 100 heat if (!LowLevelHyperCheck && !Player.HasStatus(true, StatusID.Reassembled) && (!WildfirePvE.Cooldown.WillHaveOneCharge(30) || (Heat == 100))) { - if (!HoldHCForCombo || !(LiveComboTime <= 8f) && ToolChargeSoon(out act)) return true; + if (!HoldHCForCombo || !(LiveComboTime <= 8f && LiveComboTime > 0f) && ToolChargeSoon(out act)) return true; } // Use Ricochet and Gauss if have pooled charges or is burst window diff --git a/BasicRotations/Ranged/zMCH_Beta_2.cs b/BasicRotations/Ranged/zMCH_Beta_2.cs index 30d3f3c..733889e 100644 --- a/BasicRotations/Ranged/zMCH_Beta_2.cs +++ b/BasicRotations/Ranged/zMCH_Beta_2.cs @@ -90,7 +90,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) if (!LowLevelHyperCheck && !Player.HasStatus(true, StatusID.Reassembled) && (!WildfirePvE.Cooldown.WillHaveOneCharge(30) || Heat == 100) - && !(LiveComboTime <= HYPERCHARGE_DURATION) + && !(LiveComboTime <= HYPERCHARGE_DURATION && LiveComboTime > 0f) && ToolChargeSoon(out act)) return true; // Use Ricochet and Gauss if have pooled charges or is burst window From 5028572e6b5d1cfe2fa3fbdf7f8652721561cda5 Mon Sep 17 00:00:00 2001 From: Karaha-Baruha Date: Tue, 24 Sep 2024 09:21:13 -0500 Subject: [PATCH 3/3] don't hold drill/hypercharge if combo time is 0 --- BasicRotations/Ranged/zMCH_Beta.cs | 4 ++-- BasicRotations/Ranged/zMCH_Beta_2.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BasicRotations/Ranged/zMCH_Beta.cs b/BasicRotations/Ranged/zMCH_Beta.cs index 09df4c4..1832bca 100644 --- a/BasicRotations/Ranged/zMCH_Beta.cs +++ b/BasicRotations/Ranged/zMCH_Beta.cs @@ -81,7 +81,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) // Use Hypercharge if wildfire will not be up in 30 seconds or if you hit 100 heat if (!LowLevelHyperCheck && !Player.HasStatus(true, StatusID.Reassembled) && (!WildfirePvE.Cooldown.WillHaveOneCharge(30) || (Heat == 100))) { - if (!HoldHCForCombo || !(LiveComboTime <= 8f) && ToolChargeSoon(out act)) return true; + if (!HoldHCForCombo || !(LiveComboTime <= 8f && LiveComboTime > 0f) && ToolChargeSoon(out act)) return true; } // Use Ricochet and Gauss if have pooled charges or is burst window @@ -168,7 +168,7 @@ private bool ToolChargeSoon(out IAction? act) (DrillPvE.EnoughLevel && (!DrillPvE.Cooldown.IsCoolingDown)) || // Chainsaw Charge Detection - (ChainSawPvE.EnoughLevel && ChainSawPvE.Cooldown.WillHaveOneCharge(REST_TIME))) + (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 30d3f3c..733889e 100644 --- a/BasicRotations/Ranged/zMCH_Beta_2.cs +++ b/BasicRotations/Ranged/zMCH_Beta_2.cs @@ -90,7 +90,7 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) if (!LowLevelHyperCheck && !Player.HasStatus(true, StatusID.Reassembled) && (!WildfirePvE.Cooldown.WillHaveOneCharge(30) || Heat == 100) - && !(LiveComboTime <= HYPERCHARGE_DURATION) + && !(LiveComboTime <= HYPERCHARGE_DURATION && LiveComboTime > 0f) && ToolChargeSoon(out act)) return true; // Use Ricochet and Gauss if have pooled charges or is burst window