From c7db149fc1f8ba463cc528174d4058e7338d909f Mon Sep 17 00:00:00 2001 From: IncognitoWater Date: Sat, 20 Jul 2024 16:58:18 +0200 Subject: [PATCH] Updated smn for <100 aether issue and updated timing on burst because sometimes it could lead to weave. --- BasicRotations/Magical/SMN_Default.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/BasicRotations/Magical/SMN_Default.cs b/BasicRotations/Magical/SMN_Default.cs index c6dec06..904b3f8 100644 --- a/BasicRotations/Magical/SMN_Default.cs +++ b/BasicRotations/Magical/SMN_Default.cs @@ -65,10 +65,16 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) bool isTargetDying = HostileTarget?.IsDying() ?? false; bool targetIsBossAndDying = isTargetBoss && isTargetDying; bool inBigInvocation = InBahamut || InPhoenix || InSolarBahamut; - bool inSolarUnique = !InBahamut && !InPhoenix && InSolarBahamut; + bool inSolarUnique = Player.Level == 100 ? !InBahamut && !InPhoenix && InSolarBahamut : InBahamut && !InPhoenix; bool elapsed0ChargeAfterInvocation = SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD() || SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD() || SummonPhoenixPvE.Cooldown.ElapsedOneChargeAfterGCD(); bool elapsed1ChargeAfterInvocation = SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD(1) || SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD(1) || SummonPhoenixPvE.Cooldown.ElapsedOneChargeAfterGCD(1); bool elapsed2ChargeAfterInvocation = SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD() || SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD(3) || SummonPhoenixPvE.Cooldown.ElapsedOneChargeAfterGCD(2); + bool burstInSolar = Player.Level == 100 ? InSolarBahamut : InBahamut; + + if (!Player.HasStatus(false, StatusID.SearingLight) && burstInSolar && elapsed0ChargeAfterInvocation) + { + if (SearingLightPvE.CanUse(out act, skipAoeCheck: true)) return true; + } if (inBigInvocation && (elapsed0ChargeAfterInvocation || targetIsBossAndDying) && EnergySiphonPvE.CanUse(out act)) return true; if (inBigInvocation && (elapsed0ChargeAfterInvocation || targetIsBossAndDying) && EnergyDrainPvE.CanUse(out act)) return true; @@ -94,14 +100,6 @@ protected override bool AttackAbility(IAction nextGCD, out IAction? act) protected override bool EmergencyAbility(IAction nextGCD, out IAction? act) { bool anyBigInvocationIsCoolingDown = SummonBahamutPvE.Cooldown.IsCoolingDown || SummonSolarBahamutPvE.Cooldown.IsCoolingDown || SummonPhoenixPvE.Cooldown.IsCoolingDown; - bool elapsed0ChargeAfterInvocation = SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD() || SummonSolarBahamutPvE.Cooldown.ElapsedOneChargeAfterGCD() || SummonPhoenixPvE.Cooldown.ElapsedOneChargeAfterGCD(); - bool burstInSolar = Player.Level == 100 ? InSolarBahamut : InBahamut; - - if (!Player.HasStatus(false, StatusID.SearingLight) && burstInSolar && elapsed0ChargeAfterInvocation) - { - if (SearingLightPvE.CanUse(out act, skipAoeCheck: true)) return true; - } - if (AddSwiftcastOnGaruda && nextGCD == SlipstreamPvE && Player.Level > 86 && !InBahamut && !InPhoenix && !InSolarBahamut) { if (SwiftcastPvE.CanUse(out act)) return true;