Пример #1
0
        public static async Task <bool> ForcePepsisEukrasianPrognosis()
        {
            if (!SageSettings.Instance.ForcePepsisEukrasianPrognosis)
            {
                return(false);
            }

            if (!IsEukrasiaReady())
            {
                return(false);
            }

            if (!Spells.Pepsis.IsKnownAndReady())
            {
                return(false);
            }

            if (!await UseEukrasianPrognosisIfNeeded(Group.CastableAlliesWithin15.Count(), Spells.Pepsis, Core.Me))
            {
                return(false);
            }

            if (!await Spells.Pepsis.Heal(Core.Me))
            {
                return(false);
            }

            SageSettings.Instance.ForcePepsisEukrasianPrognosis = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #2
0
        public static async Task <bool> ForceRaise()
        {
            if (!SummonerSettings.Instance.ForceResuSwift)
            {
                return(false);
            }

            if (!ActionManager.HasSpell(Spells.Swiftcast.Id))
            {
                return(false);
            }

            if (Spells.Swiftcast.Cooldown != TimeSpan.Zero)
            {
                return(false);
            }

            if (!await ForceRaiseLogic())
            {
                return(false);
            }
            SummonerSettings.Instance.ForceResuSwift = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #3
0
        public static async Task <bool> ForceEukrasianPrognosis()
        {
            if (!SageSettings.Instance.ForceEukrasianPrognosis)
            {
                return(false);
            }

            if (!IsEukrasiaReady())
            {
                return(false);
            }

            if (!await UseEukrasia(Spells.EukrasianPrognosis.Id))
            {
                return(false);
            }

            if (!await Spells.EukrasianPrognosis.HealAura(Core.Me, Auras.EukrasianPrognosis))
            {
                return(false);
            }

            SageSettings.Instance.ForceEukrasianPrognosis = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #4
0
        public static async Task <bool> Tactician()
        {
            if (!MachinistSettings.Instance.ForceTactician)
            {
                return(false);
            }

            if (!await Spells.Tactician.Cast(Core.Me))
            {
                return(false);
            }
            MachinistSettings.Instance.ForceTactician = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #5
0
        public static async Task <bool> ForceHardRaise()
        {
            if (!SummonerSettings.Instance.ForceResu)
            {
                return(false);
            }

            if (!await HardRaise())
            {
                return(false);
            }
            SummonerSettings.Instance.ForceResu = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #6
0
        public static async Task <bool> ForceAfflatusRapture()
        {
            if (!WhiteMageSettings.Instance.ForceAfflatusRapture)
            {
                return(false);
            }

            if (!await Spells.AfflatusRapture.Heal(Core.Me, false))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceAfflatusRapture = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #7
0
        public static async Task <bool> ForceSeraph()
        {
            if (!ScholarSettings.Instance.ForceSeraph)
            {
                return(false);
            }

            if (!await Spells.Summon3.Cast(Core.Me))
            {
                return(false);
            }
            ScholarSettings.Instance.ForceSeraph = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #8
0
        public static async Task <bool> ForceTetra()
        {
            if (!WhiteMageSettings.Instance.ForceTetra)
            {
                return(false);
            }

            if (!await Spells.Tetragrammaton.Heal(Core.Me.CurrentTarget))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceTetra = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #9
0
        public static async Task <bool> ForceAfflatusMisery()
        {
            if (!WhiteMageSettings.Instance.ForceAfflatusMisery)
            {
                return(false);
            }

            if (!await Spells.AfflatusMisery.Cast(Core.Me.CurrentTarget))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceAfflatusMisery = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #10
0
        public static async Task <bool> ArmsLength <T>(T settings) where T : PhysicalDpsSettings
        {
            if (!settings.ForceArmsLength)
            {
                return(false);
            }

            if (!await Spells.ArmsLength.Cast(Core.Me))
            {
                return(false);
            }
            settings.ForceArmsLength = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #11
0
        public static async Task <bool> ForceIndom()
        {
            if (!ScholarSettings.Instance.ForceIndom)
            {
                return(false);
            }

            if (!await Spells.Indomitability.Cast(Core.Me))
            {
                return(false);
            }
            ScholarSettings.Instance.ForceIndom = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #12
0
        public static async Task <bool> TrueNorth()
        {
            if (!NinjaSettings.Instance.ForceTrueNorth)
            {
                return(false);
            }

            if (!await Spells.TrueNorth.Cast(Core.Me))
            {
                return(false);
            }
            NinjaSettings.Instance.ForceTrueNorth = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #13
0
        public static async Task <bool> ForceAdlo()
        {
            if (!ScholarSettings.Instance.ForceAdlo)
            {
                return(false);
            }

            if (!await Spells.Adloquium.Cast(Core.Me.CurrentTarget))
            {
                return(false);
            }
            ScholarSettings.Instance.ForceAdlo = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #14
0
        public static async Task <bool> ForceDragonSight()
        {
            if (!DragoonSettings.Instance.ForceDragonSight)
            {
                return(false);
            }

            if (!await DragonSight())
            {
                return(false);
            }
            DragoonSettings.Instance.ForceDragonSight = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #15
0
        public static async Task <bool> ForceWhispDawn()
        {
            if (!ScholarSettings.Instance.ForceWhispDawn)
            {
                return(false);
            }

            if (!await Spells.WhisperingDawn.Cast(Core.Me))
            {
                return(false);
            }
            ScholarSettings.Instance.ForceWhispDawn = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #16
0
        public static async Task <bool> ShadeShift()
        {
            if (!NinjaSettings.Instance.ForceShadeShift)
            {
                return(false);
            }

            if (!await Spells.ShadeShift.Cast(Core.Me))
            {
                return(false);
            }
            NinjaSettings.Instance.ForceShadeShift = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #17
0
        public static async Task <bool> SecondWind()
        {
            if (!NinjaSettings.Instance.ForceSecondWind)
            {
                return(false);
            }

            if (!await Spells.SecondWind.Cast(Core.Me))
            {
                return(false);
            }
            NinjaSettings.Instance.ForceSecondWind = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #18
0
        public static async Task <bool> Troubadour()
        {
            if (!BardSettings.Instance.ForceTroubadour)
            {
                return(false);
            }

            if (!await Spells.Troubadour.Cast(Core.Me))
            {
                return(false);
            }
            BardSettings.Instance.ForceTroubadour = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #19
0
        public static async Task <bool> Feint()
        {
            if (!NinjaSettings.Instance.ForceFeint)
            {
                return(false);
            }

            if (!await Spells.Feint.Cast(Core.Me.CurrentTarget))
            {
                return(false);
            }
            NinjaSettings.Instance.ForceFeint = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #20
0
        public static async Task <bool> ForceRegen()
        {
            if (!WhiteMageSettings.Instance.ForceRegen)
            {
                return(false);
            }

            if (!await Spells.Regen.HealAura(Core.Me.CurrentTarget, Auras.Regen))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceRegen = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #21
0
        public static async Task <bool> ForceExcog()
        {
            if (!ScholarSettings.Instance.ForceExcog)
            {
                return(false);
            }

            if (!await Spells.Excogitation.Cast(Core.Me))
            {
                return(false);
            }
            ScholarSettings.Instance.ForceExcog = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #22
0
        public static async Task <bool> ForceBenediction()
        {
            if (!WhiteMageSettings.Instance.ForceBenediction)
            {
                return(false);
            }

            if (!await Spells.Benediction.Heal(Core.Me.CurrentTarget, false))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceBenediction = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #23
0
        public static async Task <bool> ForceCureIII()
        {
            if (!WhiteMageSettings.Instance.ForceCureIII)
            {
                return(false);
            }

            if (!await Spells.Cure3.Cast(Core.Me.CurrentTarget))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceCureIII = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #24
0
        public static async Task <bool> ForceMedicaII()
        {
            if (!WhiteMageSettings.Instance.ForceMedicaII)
            {
                return(false);
            }

            if (!await Spells.Medica2.HealAura(Core.Me, Auras.Medica2))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceMedicaII = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #25
0
        public static async Task <bool> ForceMedica()
        {
            if (!WhiteMageSettings.Instance.ForceMedica)
            {
                return(false);
            }

            if (!await Spells.Medica.Heal(Core.Me))
            {
                return(false);
            }
            WhiteMageSettings.Instance.ForceMedica = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #26
0
        public static async Task <bool> ForceHaima()
        {
            if (!SageSettings.Instance.ForceHaima)
            {
                return(false);
            }

            if (!Spells.Haima.IsKnownAndReady())
            {
                return(false);
            }

            if (Globals.InParty)
            {
                var haimaCandidates = Group.CastableAlliesWithin30.Where(r => !r.HasAura(Auras.Weakness));

                if (SageSettings.Instance.HaimaTankForBuff)
                {
                    haimaCandidates = haimaCandidates.Where(r => r.IsTank(SageSettings.Instance.HaimaMainTankForBuff));
                }

                var haimaTarget = haimaCandidates.FirstOrDefault();

                if (haimaTarget == null)
                {
                    return(false);
                }

                if (!await Spells.Haima.CastAura(haimaTarget, Auras.Haimatinon))
                {
                    return(false);
                }
            }
            else
            {
                if (!await Spells.Haima.Cast(Core.Me))
                {
                    return(false);
                }
            }

            SageSettings.Instance.ForceHaima = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #27
0
        public static bool ForceRaiton()
        {
            if (!NinjaSettings.Instance.ForceRaiton)
            {
                return(false);
            }

            if (!ActionManager.HasSpell(Spells.Chi.Id))
            {
                return(false);
            }

            if (Core.Me.ClassLevel < 35)
            {
                return(false);
            }

            if (Casting.SpellCastHistory.Take(5).All(s => s.Spell == Spells.Raiton) /*&& Spells.TenChiJin.Cooldown.TotalMilliseconds < 5000*/)
            {
                return(false);
            }

            if (!SpellDataExtensions.CanCast(Spells.Ten, null))
            {
                return(false);
            }

            SpellQueueLogic.SpellQueue.Clear();
            SpellQueueLogic.Timeout.Start();
            SpellQueueLogic.CancelSpellQueue = () => SpellQueueLogic.Timeout.ElapsedMilliseconds > 5000;
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Ten, TargetSelf = true
            });
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Chi, TargetSelf = true
            });
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Raiton
            });
            NinjaSettings.Instance.ForceRaiton = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #28
0
        public static bool ForceDoton()
        {
            if (!NinjaSettings.Instance.ForceDoton)
            {
                return(false);
            }

            if (Core.Me.HasAura(Auras.Kassatsu))
            {
                return(false);
            }

            if (Core.Me.ClassLevel < 45)
            {
                return(false);
            }

            if (!ActionManager.CanCast(Spells.Ten, null))
            {
                return(false);
            }

            SpellQueueLogic.SpellQueue.Clear();
            SpellQueueLogic.Timeout.Start();
            SpellQueueLogic.CancelSpellQueue = () => SpellQueueLogic.Timeout.ElapsedMilliseconds > 5000;
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Ten, TargetSelf = true
            });
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Jin, TargetSelf = true
            });
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Chi, TargetSelf = true
            });
            SpellQueueLogic.SpellQueue.Enqueue(new QueueSpell {
                Spell = Spells.Doton, TargetSelf = true
            });
            NinjaSettings.Instance.ForceDoton = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #29
0
        public static async Task <bool> ForcePanhaima()
        {
            if (!SageSettings.Instance.ForcePanhaima)
            {
                return(false);
            }

            if (!Spells.Panhaima.IsKnownAndReady())
            {
                return(false);
            }

            if (!await Spells.Panhaima.CastAura(Core.Me, Auras.Panhaimatinon))
            {
                return(false);
            }

            SageSettings.Instance.ForcePanhaima = false;
            TogglesManager.ResetToggles();
            return(true);
        }
Пример #30
0
        public static async Task <bool> ForceZoePneuma()
        {
            if (!SageSettings.Instance.ForceZoePneuma)
            {
                return(false);
            }

            if (Core.Me.CurrentTarget == null)
            {
                return(false);
            }

            if (!Spells.Pneuma.IsKnownAndReady())
            {
                return(false);
            }

            if (!await UseZoe())
            {
                return(false);
            }

            if (!await Coroutine.Wait(1000, () => ActionManager.CanCast(Spells.Pneuma.Id, Core.Me.CurrentTarget)))
            {
                return(false);
            }

            if (!await Spells.Pneuma.Heal(Core.Me.CurrentTarget))
            {
                return(false);
            }

            SageSettings.Instance.ForceZoePneuma = false;
            TogglesManager.ResetToggles();
            return(true);
        }