Example #1
0
        public static async Task <bool> StormsEye()
        {
            if (!WarriorRoutine.CanContinueComboAfter(Spells.Maim))
            {
                return(false);
            }

            // If Inner Release has less than 8 seconds on cooldown
            if (Spells.InnerRelease.IsKnownAndReady(10000))
            {
                int  refreshTime        = 20000 + (int)Spells.InnerRelease.Cooldown.TotalMilliseconds;
                Aura SurgingTempestAura = (Core.Me as Character).Auras.FirstOrDefault(x => x.Id == Auras.SurgingTempest);
                if (Core.Me.HasAura(Auras.SurgingTempest) && SurgingTempestAura.TimespanLeft.TotalMilliseconds > refreshTime)
                {
                    return(false);
                }
                else
                {
                    return(await Spells.StormsEye.Cast(Core.Me.CurrentTarget));
                }
            }

            //No need to refresh SurgingTempest
            if (Core.Me.HasAura(Auras.SurgingTempest, true, 6500))
            {
                return(false);
            }

            return(await Spells.StormsEye.Cast(Core.Me.CurrentTarget));
        }
Example #2
0
        public static async Task <bool> Maim()
        {
            if (!WarriorRoutine.CanContinueComboAfter(Spells.HeavySwing))
            {
                return(false);
            }

            return(await Spells.Maim.Cast(Core.Me.CurrentTarget));
        }
Example #3
0
        /*************************************************************************************
        *                                    Combo
        * ***********************************************************************************/
        public static async Task <bool> StormsPath()
        {
            if (!WarriorRoutine.CanContinueComboAfter(Spells.Maim))
            {
                return(false);
            }

            return(await Spells.StormsPath.Cast(Core.Me.CurrentTarget));
        }
Example #4
0
        public static async Task <bool> MythrilTempest()
        {
            if (!WarriorSettings.Instance.UseAoe)
            {
                return(false);
            }

            if (!WarriorRoutine.CanContinueComboAfter(Spells.Overpower))
            {
                return(false);
            }

            if (Combat.Enemies.Count(r => r.Distance(Core.Me) <= 5 + r.CombatReach) < WarriorSettings.Instance.MythrilTempestMinimumEnemies)
            {
                return(false);
            }

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