Beispiel #1
0
        /***************************************************************************
        *                           Combo 1
        * *************************************************************************/
        public static async Task <bool> Disembowel()
        {
            if (!DragoonRoutine.CanContinueComboAfter(Spells.TrueThrust) && !DragoonRoutine.CanContinueComboAfter(Spells.RaidenThrust))
            {
                return(false);
            }

            return(await Spells.Disembowel.Cast(Core.Me.CurrentTarget));
        }
Beispiel #2
0
        public static async Task <bool> ChaoticSpring()
        {
            if (!DragoonRoutine.CanContinueComboAfter(Spells.Disembowel))
            {
                return(false);
            }

            return(await DragoonRoutine.ChaoticSpring.Cast(Core.Me.CurrentTarget));
        }
Beispiel #3
0
        public static async Task <bool> HeavensThrust()
        {
            if (!DragoonRoutine.CanContinueComboAfter(Spells.VorpalThrust))
            {
                return(false);
            }

            return(await DragoonRoutine.HeavensThrust.Cast(Core.Me.CurrentTarget));
        }
Beispiel #4
0
        /***************************************************************************
        *                           Combo 2
        * *************************************************************************/
        public static async Task <bool> VorpalThrust()
        {
            if (!DragoonRoutine.CanContinueComboAfter(Spells.TrueThrust) && !DragoonRoutine.CanContinueComboAfter(Spells.RaidenThrust))
            {
                return(false);
            }

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

            Aura PowerSurgeAura = (Core.Me as Character).Auras.FirstOrDefault(x => x.Id == Auras.PowerSurge);

            if (Core.Me.HasAura(Auras.PowerSurge) && PowerSurgeAura.TimespanLeft.TotalMilliseconds <= 6000)
            {
                return(false);
            }

            if (Spells.ChaoticSpring.IsKnown())
            {
                if (!Core.Me.CurrentTarget.HasAura(Auras.ChaoticSpring))
                {
                    return(false);
                }

                Aura ChaoticSpringAura = (Core.Me.CurrentTarget as Character).Auras.FirstOrDefault(x => x.Id == Auras.ChaoticSpring);
                if (Core.Me.CurrentTarget.HasAura(Auras.ChaoticSpring) && ChaoticSpringAura.TimespanLeft.TotalMilliseconds <= 6000)
                {
                    return(false);
                }
            }
            else
            {
                if (!Core.Me.CurrentTarget.HasAura(Auras.ChaosThrust))
                {
                    return(false);
                }

                Aura ChaosThrustAura = (Core.Me.CurrentTarget as Character).Auras.FirstOrDefault(x => x.Id == Auras.ChaosThrust);
                if (Core.Me.CurrentTarget.HasAura(Auras.ChaosThrust) && ChaosThrustAura.TimespanLeft.TotalMilliseconds <= 6000)
                {
                    return(false);
                }
            }

            return(await Spells.VorpalThrust.Cast(Core.Me.CurrentTarget));
        }
Beispiel #5
0
        public static async Task <bool> CoerthanTorment()
        {
            if (!DragoonSettings.Instance.UseAoe)
            {
                return(false);
            }

            if (!DragoonRoutine.CanContinueComboAfter(Spells.SonicThrust))
            {
                return(false);
            }

            if (Combat.Enemies.Count(x => x.Distance(Core.Me) <= 10 + x.CombatReach) < DragoonSettings.Instance.AoeEnemies)
            {
                return(false);
            }

            return(await Spells.CoerthanTorment.Cast(Core.Me.CurrentTarget));
        }