diff --git a/BasicRotations/Healer/AST_Archive b/BasicRotations/Healer/AST_Archive deleted file mode 100644 index 93c6b3e..0000000 --- a/BasicRotations/Healer/AST_Archive +++ /dev/null @@ -1,218 +0,0 @@ -namespace DefaultRotations.Healer; - -[Rotation("Default", CombatType.PvE, GameVersion = "7.00")] -[SourceCode(Path = "main/DefaultRotations/Healer/AST_Default.cs")] -[Api(1)] -public sealed class AST_Default : AstrologianRotation -{/* - #region Config Options - [RotationConfig(CombatType.PvE, Name = "Use spells with cast times to heal. (Ignored if you are the only healer in party)")] - public bool GCDHeal { get; set; } = false; - - [Range(4, 20, ConfigUnitType.Seconds)] - [RotationConfig(CombatType.PvE, Name = "Use Earthly Star during countdown timer.")] - public float UseEarthlyStarTime { get; set; } = 15; - - [Range(0, 1, ConfigUnitType.Percent)] - [RotationConfig(CombatType.PvE, Name = "Minimum HP threshold party member needs to be to use Aspected Benefic")] - public float AspectedBeneficHeal { get; set; } = 0.4f; - - [Range(0, 1, ConfigUnitType.Percent)] - [RotationConfig(CombatType.PvE, Name = "Minimum HP threshold among party member needed to use Horoscope")] - public float HoroscopeHeal { get; set; } = 0.3f; - #endregion - - #region Countdown Logic - protected override IAction? CountDownAction(float remainTime) - { - if (remainTime < MaleficPvE.Info.CastTime + CountDownAhead - && MaleficPvE.CanUse(out var act)) return act; - if (remainTime < 3 && UseBurstMedicine(out act)) return act; - if (remainTime is < 4 and > 3 && AspectedBeneficPvE.CanUse(out act)) return act; - if (remainTime < UseEarthlyStarTime - && EarthlyStarPvE.CanUse(out act)) return act; - if (remainTime < 30 && DrawPvE.CanUse(out act)) return act; - - return base.CountDownAction(remainTime); - } - #endregion - - #region Defensive Logic - [RotationDesc(ActionID.CelestialIntersectionPvE, ActionID.ExaltationPvE)] - protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act) - { - if (CelestialIntersectionPvE.CanUse(out act, usedUp:true)) return true; - if (ExaltationPvE.CanUse(out act)) return true; - return base.DefenseSingleAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.MacrocosmosPvE)] - protected override bool DefenseAreaGCD(out IAction? act) - { - act = null; - if (MacrocosmosPvE.Cooldown.IsCoolingDown && !MacrocosmosPvE.Cooldown.WillHaveOneCharge(150) - || CollectiveUnconsciousPvE.Cooldown.IsCoolingDown && !CollectiveUnconsciousPvE.Cooldown.WillHaveOneCharge(40)) return false; - - if (MacrocosmosPvE.CanUse(out act)) return true; - return base.DefenseAreaGCD(out act); - } - - [RotationDesc(ActionID.CollectiveUnconsciousPvE)] - protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act) - { - act = null; - if (MacrocosmosPvE.Cooldown.IsCoolingDown && !MacrocosmosPvE.Cooldown.WillHaveOneCharge(150) - || CollectiveUnconsciousPvE.Cooldown.IsCoolingDown && !CollectiveUnconsciousPvE.Cooldown.WillHaveOneCharge(40)) return false; - - if (CollectiveUnconsciousPvE.CanUse(out act)) return true; - return base.DefenseAreaAbility(nextGCD, out act); - } - #endregion - - #region GCD Logic - protected override bool GeneralGCD(out IAction? act) - { - if (GravityPvE.CanUse(out act)) return true; - - if (CombustPvE.CanUse(out act)) return true; - if (MaleficPvE.CanUse(out act)) return true; - if (CombustPvE.CanUse(out act, skipStatusProvideCheck: true)) return true; - - return base.GeneralGCD(out act); - } - - [RotationDesc(ActionID.AspectedBeneficPvE, ActionID.BeneficIiPvE, ActionID.BeneficPvE)] - protected override bool HealSingleGCD(out IAction? act) - { - if (AspectedBeneficPvE.CanUse(out act) - && (IsMoving - || AspectedBeneficPvE.Target.Target?.GetHealthRatio() > AspectedBeneficHeal)) return true; - - if (BeneficIiPvE.CanUse(out act)) return true; - if (BeneficPvE.CanUse(out act)) return true; - - return base.HealSingleGCD(out act); - } - - [RotationDesc(ActionID.AspectedHeliosPvE, ActionID.HeliosPvE)] - protected override bool HealAreaGCD(out IAction? act) - { - if (AspectedHeliosPvE.CanUse(out act)) return true; - if (HeliosPvE.CanUse(out act)) return true; - return base.HealAreaGCD(out act); - } - #endregion - - #region oGCD Logic - protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) - { - if (base.EmergencyAbility(nextGCD, out act)) return true; - - if (!InCombat) return false; - - if (nextGCD.IsTheSameTo(true, AspectedHeliosPvE, HeliosPvE)) - { - if (HoroscopePvE.CanUse(out act)) return true; - if (NeutralSectPvE.CanUse(out act)) return true; - } - - if (nextGCD.IsTheSameTo(true, BeneficPvE, BeneficIiPvE, AspectedBeneficPvE)) - { - if (SynastryPvE.CanUse(out act)) return true; - } - return base.EmergencyAbility(nextGCD, out act); - } - - protected override bool GeneralAbility(IAction nextGCD, out IAction? act) - { - if (DrawPvE.CanUse(out act)) return true; - if (RedrawPvE.CanUse(out act)) return true; - return base.GeneralAbility(nextGCD, out act); - } - - protected override bool AttackAbility(IAction nextGCD, out IAction? act) - { - if (IsBurst && !IsMoving - && DivinationPvE.CanUse(out act)) return true; - - if (MinorArcanaPvE.CanUse(out act, usedUp:true)) return true; - - if (DrawPvE.CanUse(out act, usedUp: IsBurst)) return true; - - if (InCombat) - { - if (IsMoving && LightspeedPvE.CanUse(out act)) return true; - - if (!IsMoving) - { - if (!Player.HasStatus(true, StatusID.EarthlyDominance, StatusID.GiantDominance)) - { - if (EarthlyStarPvE.CanUse(out act)) return true; - } - if (AstrodynePvE.CanUse(out act)) return true; - } - - if (DrawnCrownCard == CardType.LORD || MinorArcanaPvE.Cooldown.WillHaveOneChargeGCD(1, 0)) - { - if (MinorArcanaPvE.CanUse(out act)) return true; - } - } - - if (RedrawPvE.CanUse(out act)) return true; - if (InCombat && PlayCard(out act)) return true; - - return base.AttackAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.EssentialDignityPvE, ActionID.CelestialIntersectionPvE, ActionID.CelestialOppositionPvE, - ActionID.EarthlyStarPvE, ActionID.HoroscopePvE)] - protected override bool HealSingleAbility(IAction nextGCD, out IAction? act) - { - if (EssentialDignityPvE.CanUse(out act)) return true; - if (CelestialIntersectionPvE.CanUse(out act, usedUp:true)) return true; - - if (DrawnCrownCard == CardType.LADY - && MinorArcanaPvE.CanUse(out act)) return true; - - if (CelestialOppositionPvE.CanUse(out act)) return true; - - if (Player.HasStatus(true, StatusID.GiantDominance)) - { - act = EarthlyStarPvE; - return true; - } - - if (!Player.HasStatus(true, StatusID.HoroscopeHelios, StatusID.Horoscope) && HoroscopePvE.CanUse(out act)) return true; - - if ((Player.HasStatus(true, StatusID.HoroscopeHelios) - || PartyMembersMinHP < HoroscopeHeal) - && HoroscopePvE.CanUse(out act)) return true; - - return base.HealSingleAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.CelestialOppositionPvE, ActionID.EarthlyStarPvE, ActionID.HoroscopePvE)] - protected override bool HealAreaAbility(IAction nextGCD, out IAction? act) - { - if (CelestialOppositionPvE.CanUse(out act)) return true; - - if (Player.HasStatus(true, StatusID.GiantDominance)) - { - act = EarthlyStarPvE; - return true; - } - - if (Player.HasStatus(true, StatusID.HoroscopeHelios) && HoroscopePvE.CanUse(out act)) return true; - - if (DrawnCrownCard == CardType.LADY && MinorArcanaPvE.CanUse(out act)) return true; - - return base.HealAreaAbility(nextGCD, out act); - } - #endregion - - #region Extra Methods - public override bool CanHealSingleSpell => base.CanHealSingleSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2); - public override bool CanHealAreaSpell => base.CanHealAreaSpell && (GCDHeal || PartyMembers.GetJobCategory(JobRole.Healer).Count() < 2); - - #endregion -*/} diff --git a/BasicRotations/Healer/AST_Default.cs b/BasicRotations/Healer/AST_Default.cs index 47f55dc..7db0874 100644 --- a/BasicRotations/Healer/AST_Default.cs +++ b/BasicRotations/Healer/AST_Default.cs @@ -46,7 +46,28 @@ public sealed class AST_Default : AstrologianRotation } #endregion - #region Defensive Logic + #region oGCD Logic + protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) + { + act = null; + if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; + if (MicroPrio && Player.HasStatus(true, StatusID.Macrocosmos)) return false; + + if (!InCombat) return false; + + if (OraclePvE.CanUse(out act)) return true; + if (nextGCD.IsTheSameTo(true, AspectedHeliosPvE, HeliosPvE)) + { + if (HoroscopePvE.CanUse(out act)) return true; + if (NeutralSectPvE.CanUse(out act)) return true; + } + + if (nextGCD.IsTheSameTo(true, BeneficPvE, BeneficIiPvE, AspectedBeneficPvE)) + { + if (SynastryPvE.CanUse(out act)) return true; + } + return base.EmergencyAbility(nextGCD, out act); + } [RotationDesc(ActionID.ExaltationPvE, ActionID.TheArrowPvE, ActionID.TheSpirePvE, ActionID.TheBolePvE, ActionID.TheEwerPvE)] protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act) @@ -88,31 +109,46 @@ protected override bool DefenseAreaAbility(IAction nextGCD, out IAction? act) if (CollectiveUnconsciousPvE.CanUse(out act)) return true; return base.DefenseAreaAbility(nextGCD, out act); } - #endregion - #region oGCD Logic - protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) + [RotationDesc(ActionID.TheArrowPvE, ActionID.TheEwerPvE, ActionID.EssentialDignityPvE, + ActionID.CelestialIntersectionPvE)] + protected override bool HealSingleAbility(IAction nextGCD, out IAction? act) { act = null; if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; if (MicroPrio && Player.HasStatus(true, StatusID.Macrocosmos)) return false; - if (base.EmergencyAbility(nextGCD, out act)) return true; + if (InCombat && TheArrowPvE.CanUse(out act)) return true; + if (InCombat && TheEwerPvE.CanUse(out act)) return true; - if (!InCombat) return false; + if (EssentialDignityPvE.CanUse(out act, usedUp: true)) return true; - if (OraclePvE.CanUse(out act)) return true; - if (nextGCD.IsTheSameTo(true, AspectedHeliosPvE, HeliosPvE)) - { - if (HoroscopePvE.CanUse(out act)) return true; - if (NeutralSectPvE.CanUse(out act)) return true; - } + if (CelestialIntersectionPvE.CanUse(out act, usedUp: true)) return true; - if (nextGCD.IsTheSameTo(true, BeneficPvE, BeneficIiPvE, AspectedBeneficPvE)) - { - if (SynastryPvE.CanUse(out act)) return true; - } - return base.EmergencyAbility(nextGCD, out act); + return base.HealSingleAbility(nextGCD, out act); + } + + [RotationDesc(ActionID.CelestialOppositionPvE, ActionID.StellarDetonationPvE, ActionID.HoroscopePvE, ActionID.HoroscopePvE_16558, ActionID.LadyOfCrownsPvE, ActionID.HeliosConjunctionPvE)] + protected override bool HealAreaAbility(IAction nextGCD, out IAction? act) + { + act = null; + if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; + + if (MicrocosmosPvE.CanUse(out act)) return true; + if (MicroPrio && Player.HasStatus(true, StatusID.Macrocosmos)) return false; + + if (CelestialOppositionPvE.CanUse(out act)) return true; + + if (StellarDetonationPvE.CanUse(out act)) return true; + + if (HoroscopePvE.CanUse(out act)) return true; + + if (HoroscopePvE_16558.CanUse(out act)) return true; + + if (LadyOfCrownsPvE.CanUse(out act)) return true; + + if (HeliosConjunctionPvE.CanUse(out act)) return true; + return base.HealAreaAbility(nextGCD, out act); } protected override bool GeneralAbility(IAction nextGCD, out IAction? act) @@ -155,64 +191,9 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) } return base.AttackAbility(nextGCD, out act); } - - [RotationDesc(ActionID.TheArrowPvE, ActionID.TheEwerPvE, ActionID.EssentialDignityPvE, - ActionID.CelestialIntersectionPvE)] - protected override bool HealSingleAbility(IAction nextGCD, out IAction? act) - { - act = null; - if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; - if (MicroPrio && Player.HasStatus(true, StatusID.Macrocosmos)) return false; - - if (InCombat && TheArrowPvE.CanUse(out act)) return true; - if (InCombat && TheEwerPvE.CanUse(out act)) return true; - - if (EssentialDignityPvE.CanUse(out act)) return true; - - if (CelestialIntersectionPvE.CanUse(out act, usedUp: true)) return true; - - return base.HealSingleAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.CelestialOppositionPvE, ActionID.StellarDetonationPvE, ActionID.HoroscopePvE, ActionID.HoroscopePvE_16558, ActionID.LadyOfCrownsPvE, ActionID.HeliosConjunctionPvE)] - protected override bool HealAreaAbility(IAction nextGCD, out IAction? act) - { - act = null; - if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; - - if (MicrocosmosPvE.CanUse(out act)) return true; - if (MicroPrio && Player.HasStatus(true, StatusID.Macrocosmos)) return false; - - if (CelestialOppositionPvE.CanUse(out act)) return true; - - if (StellarDetonationPvE.CanUse(out act)) return true; - - if (HoroscopePvE.CanUse(out act)) return true; - - if (HoroscopePvE_16558.CanUse(out act)) return true; - - if (LadyOfCrownsPvE.CanUse(out act)) return true; - - if (HeliosConjunctionPvE.CanUse(out act)) return true; - return base.HealAreaAbility(nextGCD, out act); - } #endregion #region GCD Logic - protected override bool GeneralGCD(out IAction? act) - { - act = null; - if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; - - if (GravityPvE.CanUse(out act)) return true; - - if (CombustPvE.CanUse(out act)) return true; - if (MaleficPvE.CanUse(out act)) return true; - if (CombustPvE.CanUse(out act, skipStatusProvideCheck: DOTUpkeep)) return true; - - return base.GeneralGCD(out act); - } - [RotationDesc(ActionID.AspectedBeneficPvE, ActionID.BeneficIiPvE, ActionID.BeneficPvE)] protected override bool HealSingleGCD(out IAction? act) { @@ -241,6 +222,20 @@ protected override bool HealAreaGCD(out IAction? act) if (HeliosPvE.CanUse(out act)) return true; return base.HealAreaGCD(out act); } + + protected override bool GeneralGCD(out IAction? act) + { + act = null; + if (BubbleProtec && Player.HasStatus(true, StatusID.CollectiveUnconscious_848)) return false; + + if (GravityPvE.CanUse(out act)) return true; + + if (CombustPvE.CanUse(out act)) return true; + if (MaleficPvE.CanUse(out act)) return true; + if (CombustPvE.CanUse(out act, skipStatusProvideCheck: DOTUpkeep)) return true; + + return base.GeneralGCD(out act); + } #endregion #region Extra Methods diff --git a/BasicRotations/Healer/zAST_BETA.cs b/BasicRotations/Healer/zAST_BETA.cs deleted file mode 100644 index e9a09f0..0000000 --- a/BasicRotations/Healer/zAST_BETA.cs +++ /dev/null @@ -1,187 +0,0 @@ -namespace DefaultRotations.Healer; - -[Rotation("zAST Beta", CombatType.PvE, GameVersion = "7.05")] -[SourceCode(Path = "main/DefaultRotations/Healer/zAST_BETA.cs")] -[Api(3)] -public sealed class zAST_BETA : AstrologianRotation -{ - #region Config Options - - [Range(4, 20, ConfigUnitType.Seconds)] - [RotationConfig(CombatType.PvE, Name = "Use Earthly Star during countdown timer.")] - public float UseEarthlyStarTime { get; set; } = 15; - - [RotationConfig(CombatType.PvE, Name = "Use DOT while moving even if it does not need refresh (disabling is a damage down)")] - public bool DOTUpkeep { get; set; } = true; - #endregion - - #region Countdown Logic - protected override IAction? CountDownAction(float remainTime) - { - if (remainTime < MaleficPvE.Info.CastTime + CountDownAhead - && MaleficPvE.CanUse(out var act)) return act; - if (remainTime < 3 && UseBurstMedicine(out act)) return act; - if (remainTime is < 4 and > 3 && AspectedBeneficPvE.CanUse(out act)) return act; - if (remainTime < UseEarthlyStarTime - && EarthlyStarPvE.CanUse(out act)) return act; - if (remainTime < 30 && AstralDrawPvE.CanUse(out act)) return act; - - return base.CountDownAction(remainTime); - } - #endregion - - #region Additional oGCD Logic - - [RotationDesc(ActionID.HoroscopePvE, ActionID.NeutralSectPvE, ActionID.SynastryPvE)] - protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) - { - if (base.EmergencyAbility(nextGCD, out act)) return true; - - if (!InCombat) return false; - - if (nextGCD.IsTheSameTo(true, AspectedHeliosPvE, HeliosPvE, HeliosConjunctionPvE)) - { - if (HoroscopePvE.CanUse(out act)) return true; - if (NeutralSectPvE.CanUse(out act)) return true; - } - - if (nextGCD.IsTheSameTo(true, BeneficPvE, BeneficIiPvE, AspectedBeneficPvE)) - { - if (SynastryPvE.CanUse(out act)) return true; - } - return base.EmergencyAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.SunSignPvE)] - protected sealed override bool DefenseAreaAbility(IAction nextGCD, out IAction? act) - { - if (SunSignPvE.CanUse(out act)) return true; - return base.DefenseAreaAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.ExaltationPvE, ActionID.TheSpirePvE, ActionID.TheBolePvE)] - protected override bool DefenseSingleAbility(IAction nextGCD, out IAction? act) - { - if (InCombat && TheSpirePvE.CanUse(out act)) return true; - if (InCombat && TheBolePvE.CanUse(out act)) return true; - - if (ExaltationPvE.CanUse(out act)) return true; - return base.DefenseSingleAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.CelestialOppositionPvE, ActionID.StellarDetonationPvE, ActionID.HoroscopePvE, ActionID.HoroscopePvE_16558, ActionID.LadyOfCrownsPvE, ActionID.HeliosConjunctionPvE)] - protected override bool HealAreaAbility(IAction nextGCD, out IAction? act) - { - if (CelestialOppositionPvE.CanUse(out act)) return true; - - if (StellarDetonationPvE.CanUse(out act)) return true; - - if (HoroscopePvE.CanUse(out act)) return true; - - if (HoroscopePvE_16558.CanUse(out act)) return true; - - if (LadyOfCrownsPvE.CanUse(out act)) return true; - - if (HeliosConjunctionPvE.CanUse(out act)) return true; - return base.HealAreaAbility(nextGCD, out act); - } - - [RotationDesc(ActionID.TheArrowPvE, ActionID.TheEwerPvE, ActionID.EssentialDignityPvE, - ActionID.CelestialIntersectionPvE)] - protected override bool HealSingleAbility(IAction nextGCD, out IAction? act) - { - if (MicrocosmosPvE.CanUse(out act)) return true; - - if (InCombat && TheArrowPvE.CanUse(out act)) return true; - - if (InCombat && TheEwerPvE.CanUse(out act)) return true; - - if (EssentialDignityPvE.CanUse(out act)) return true; - - if (CelestialIntersectionPvE.CanUse(out act, usedUp: true)) return true; - - return base.HealSingleAbility(nextGCD, out act); - } - #endregion - - #region oGCD Logic - - protected override bool GeneralAbility(IAction nextGCD, out IAction? act) - { - if (InCombat && TheBalancePvE.CanUse(out act)) return true; - if (InCombat && TheSpearPvE.CanUse(out act)) return true; - if (AstralDrawPvE.CanUse(out act)) return true; - if (UmbralDrawPvE.CanUse(out act)) return true; - if (MinorArcanaPvE.CanUse(out act)) return true; - return base.GeneralAbility(nextGCD, out act); - } - - protected override bool AttackAbility(IAction nextGCD, out IAction? act) - { - if (IsBurst && !IsMoving - && DivinationPvE.CanUse(out act)) return true; - - if (AstralDrawPvE.CanUse(out act, usedUp: IsBurst)) return true; - - if (InCombat) - { - if (IsMoving && LightspeedPvE.CanUse(out act)) return true; - - if (!IsMoving) - { - if (!Player.HasStatus(true, StatusID.EarthlyDominance, StatusID.GiantDominance)) - { - if (EarthlyStarPvE.CanUse(out act)) return true; - } - } - - { - if (LordOfCrownsPvE.CanUse(out act)) return true; - } - } - - if (OraclePvE.CanUse(out act, skipAoeCheck: true)) return true; - return base.AttackAbility(nextGCD, out act); - } - #endregion - - #region GCD Logic - - [RotationDesc(ActionID.AspectedHeliosPvE, ActionID.HeliosPvE)] - protected override bool HealAreaGCD(out IAction? act) - { - if (HeliosConjunctionPvE.CanUse(out act)) return true; - - if (HeliosPvE.CanUse(out act)) return true; - return base.HealAreaGCD(out act); - } - - [RotationDesc(ActionID.AspectedBeneficPvE, ActionID.BeneficIiPvE, ActionID.BeneficPvE)] - protected override bool HealSingleGCD(out IAction? act) - { - if (AspectedBeneficPvE.CanUse(out act) && (IsMoving)) return true; - - if (BeneficIiPvE.CanUse(out act)) return true; - - if (BeneficPvE.CanUse(out act)) return true; - - return base.HealSingleGCD(out act); - } - - protected override bool GeneralGCD(out IAction? act) - { - if (MacrocosmosPvE.CanUse(out act)) return true; - - if (GravityIiPvE.CanUse(out act)) return true; - - if (CombustIiiPvE.CanUse(out act)) return true; - - if (FallMaleficPvE.CanUse(out act)) return true; - - if (CombustIiiPvE.CanUse(out act, skipStatusProvideCheck: DOTUpkeep)) return true; - - return base.GeneralGCD(out act); - } - - #endregion -} diff --git a/BasicRotations/Magical/zPCT_TESTING.cs b/BasicRotations/Magical/zPCT_TESTING.cs index 35d83d0..ae03de7 100644 --- a/BasicRotations/Magical/zPCT_TESTING.cs +++ b/BasicRotations/Magical/zPCT_TESTING.cs @@ -16,10 +16,10 @@ public sealed class zPCT_TESTING : PictomancerRotation public bool RainbowDripSwift { get; set; } = true; [RotationConfig(CombatType.PvE, Name = "Use swiftcast on Motif")] - public bool MotifSwiftCastSwift { get; set; } = false; + public bool MotifSwiftCastSwift { get; set; } = true; [RotationConfig(CombatType.PvE, Name = "Which Motif")] - public CanvasFlags MotifSwiftCast { get; set; } = CanvasFlags.Pom; + public CanvasFlags MotifSwiftCast { get; set; } = CanvasFlags.Weapon; #region Countdown logic // Defines logic for actions to take during the countdown before combat starts. @@ -174,29 +174,28 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) protected override bool GeneralGCD(out IAction? act) { // Weapon Painting Burst - if (HammerStampPvE.CanUse(out act, skipCastingCheck: true, skipComboCheck: true)) return true; + if (HammerStampPvE.CanUse(out act, skipComboCheck: true)) return true; if (HolyCometMoving && IsMoving) { - if (HolyInWhitePvE.CanUse(out act, skipCastingCheck: true)) return true; + if (HolyInWhitePvE.CanUse(out act)) return true; } //Use up paint if in Hyperphantasia if (Player.HasStatus(true, StatusID.Hyperphantasia)) { - if (CometInBlackPvE.CanUse(out act, skipCastingCheck: true)) return true; + if (CometInBlackPvE.CanUse(out act)) return true; } //Paint overcap protection if (Paint == HolyCometMax) { - if (CometInBlackPvE.CanUse(out act, skipCastingCheck: true)) return true; - if (HolyInWhitePvE.CanUse(out act, skipCastingCheck: true)) return true; + if (HolyInWhitePvE.CanUse(out act)) return true; } // Landscape Paining Burst if (RainbowDripPvE.CanUse(out act)) return true; - if (StarPrismPvE.CanUse(out act, skipCastingCheck: true)) return true; + if (StarPrismPvE.CanUse(out act)) return true; //Advanced Paintings if (StarrySkyMotifPvE.CanUse(out act)) return true; diff --git a/BasicRotations/RebornRotations.csproj b/BasicRotations/RebornRotations.csproj index ede4df2..09516cb 100644 --- a/BasicRotations/RebornRotations.csproj +++ b/BasicRotations/RebornRotations.csproj @@ -16,7 +16,7 @@ - +