示例#1
0
        public static async Task <bool> Execute()
        {
            if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack())
            {
                return(false);
            }

            if (await CustomOpenerLogic.Opener())
            {
                return(true);
            }

            if (await Defensive.ExecuteTankBusters())
            {
                return(true);
            }

            if (BotManager.Current.IsAutonomous)
            {
                Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3);
            }

            if (await SingleTarget.RoughDivide())
            {
                return(true);
            }
            if (await Tank.Interrupt(GunbreakerSettings.Instance))
            {
                return(true);
            }

            if (Utilities.Routines.Gunbreaker.OnGcd)
            {
                if (await Defensive.Execute())
                {
                    return(true);
                }
                if (await Buff.RoyalGuard())
                {
                    return(true);
                }
                if (await Buff.Bloodfest())
                {
                    return(true);
                }
                if (await Buff.NoMercy())
                {
                    return(true);
                }
                if (await SingleTarget.EyeGouge())
                {
                    return(true);
                }
                if (await SingleTarget.AbdomenTear())
                {
                    return(true);
                }
                if (await SingleTarget.JugularRip())
                {
                    return(true);
                }
                if (await SingleTarget.DangerZone())
                {
                    return(true);
                }
                if (await SingleTarget.BlastingZone())
                {
                    return(true);
                }
                if (await Aoe.BowShock())
                {
                    return(true);
                }
            }

            if (await Aoe.FatedCircle())
            {
                return(true);
            }
            if (await Aoe.DemonSlaughter())
            {
                return(true);
            }
            if (await Aoe.DemonSlice())
            {
                return(true);
            }

            if (await SingleTarget.LightningShot())
            {
                return(true);
            }
            if (await SingleTarget.WickedTalon())
            {
                return(true);
            }
            if (await SingleTarget.SavageClaw())
            {
                return(true);
            }
            if (await SingleTarget.GnashingFang())
            {
                return(true);
            }
            if (await SingleTarget.SonicBreak())
            {
                return(true);
            }
            if (await SingleTarget.BurstStrike())
            {
                return(true);
            }
            if (await SingleTarget.SolidBarrel())
            {
                return(true);
            }
            if (await SingleTarget.BrutalShell())
            {
                return(true);
            }
            return(await SingleTarget.KeenEdge());
        }
示例#2
0
        public static async Task <bool> Execute()
        {
            if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack())
            {
                return(false);
            }

            if (await CustomOpenerLogic.Opener())
            {
                return(true);
            }

            if (BotManager.Current.IsAutonomous)
            {
                Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 4);
            }

            if (await SingleTarget.LowBlow())
            {
                return(true);
            }
            if (await SingleTarget.Interject())
            {
                return(true);
            }
            if (await Buff.Defiance())
            {
                return(true);
            }

            if (Utilities.Routines.Warrior.OnGcd)
            {
                if (await Defensive.ExecuteTankBusters())
                {
                    return(true);
                }
                if (await Defensive.Defensives())
                {
                    return(true);
                }
                if (await Buff.Beserk())
                {
                    return(true);
                }
                if (await Buff.InnerRelease())
                {
                    return(true);
                }
                if (await Buff.Infuriate())
                {
                    return(true);
                }
                if (await Buff.Equilibrium())
                {
                    return(true);
                }
                if (await SingleTarget.Onslaught())
                {
                    return(true);
                }
                if (await SingleTarget.Upheaval())
                {
                    return(true);
                }
            }

            if (WarriorSettings.Instance.UseDefiance)
            {
                if (await Tank.Provoke(WarriorSettings.Instance))
                {
                    return(true);
                }
                if (await SingleTarget.TomahawkOnLostAggro())
                {
                    return(true);
                }
            }

            if (await Aoe.SteelCyclone())
            {
                return(true);
            }
            if (await Aoe.Decimate())
            {
                return(true);
            }
            if (await Aoe.InnerReleaseDecimateSpam())
            {
                return(true);
            }
            if (await Aoe.Overpower())
            {
                return(true);
            }
            if (await SingleTarget.InnerBeast())
            {
                return(true);
            }
            if (await SingleTarget.FellCleave())
            {
                return(true);
            }
            if (await SingleTarget.InnerReleaseFellCleaveSpam())
            {
                return(true);
            }

            // Main Rotation Part

            if (await SingleTarget.StormsEye())
            {
                return(true);
            }
            if (await SingleTarget.StormsPath())
            {
                return(true);
            }
            if (await SingleTarget.Maim())
            {
                return(true);
            }
            if (await SingleTarget.HeavySwing())
            {
                return(true);
            }
            return(await SingleTarget.Tomahawk());
        }
示例#3
0
        public static async Task <bool> Execute()
        {
            if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack())
            {
                return(false);
            }

            if (await CustomOpenerLogic.Opener())
            {
                return(true);
            }

            if (!SpellQueue.Any())
            {
                InSpellQueue = false;
            }

            if (SpellQueue.Any())
            {
                if (await SpellQueueMethod())
                {
                    return(true);
                }
            }

            if (await Defensive.ExecuteTankBusters())
            {
                return(true);
            }

            if (BotManager.Current.IsAutonomous)
            {
                Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3);
            }

            if (await Buff.Grit())
            {
                return(true);
            }
            if (await Defensive.TheBlackestNight())
            {
                return(true);
            }
            if (await Buff.Delirium())
            {
                return(true);
            }
            if (await Buff.BloodWeapon())
            {
                return(true);
            }

            if (Utilities.Routines.DarkKnight.OnGcd)
            {
                if (await Tank.Provoke(DarkKnightSettings.Instance))
                {
                    return(true);
                }
                if (await Defensive.Execute())
                {
                    return(true);
                }
                if (await Buff.LivingShadow())
                {
                    return(true);
                }
                if (await SingleTarget.CarveAndSpit())
                {
                    return(true);
                }

                if (AoeCheck)
                {
                    if (await Aoe.SaltedEarth())
                    {
                        return(true);
                    }
                    if (await Aoe.AbyssalDrain())
                    {
                        return(true);
                    }
                    if (await Aoe.FloodofDarknessShadow())
                    {
                        return(true);
                    }
                }

                if (await SingleTarget.EdgeofDarknessShadow())
                {
                    return(true);
                }
                if (await SingleTarget.Plunge())
                {
                    return(true);
                }
                if (await SingleTarget.Reprisal())
                {
                    return(true);
                }
            }

            if (await SingleTarget.Unmend())
            {
                return(true);
            }

            if (AoeCheck)
            {
                if (await Aoe.Quietus())
                {
                    return(true);
                }
                if (await Aoe.StalwartSoul())
                {
                    return(true);
                }
                if (await Aoe.Unleash())
                {
                    return(true);
                }
            }

            if (await SingleTarget.Bloodspiller())
            {
                return(true);
            }
            if (await SingleTarget.SoulEater())
            {
                return(true);
            }
            if (await SingleTarget.SyphonStrike())
            {
                return(true);
            }
            return(await SingleTarget.HardSlash());
        }
示例#4
0
        public static async Task <bool> Combat()
        {
            if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack())
            {
                return(false);
            }

            if (await CustomOpenerLogic.Opener())
            {
                return(true);
            }

            if (BotManager.Current.IsAutonomous)
            {
                Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 4);
            }

            if (await Tank.Interrupt(WarriorSettings.Instance))
            {
                return(true);
            }
            if (await Buff.Defiance())
            {
                return(true);
            }

            if (Weaving.GetCurrentWeavingCounter() < 2 && Spells.HeavySwing.Cooldown.TotalMilliseconds > 800 + BaseSettings.Instance.UserLatencyOffset)
            {
                if (await Defensive.ExecuteTankBusters())
                {
                    return(true);
                }
                if (await Defensive.Defensives())
                {
                    return(true);
                }
                if (await Buff.Beserk())
                {
                    return(true);
                }
                if (await Buff.InnerRelease())
                {
                    return(true);
                }
                if (await Buff.Infuriate())
                {
                    return(true);
                }
                if (await Buff.Equilibrium())
                {
                    return(true);
                }
                if (await SingleTarget.Onslaught())
                {
                    return(true);
                }
                if (await SingleTarget.Upheaval())
                {
                    return(true);
                }
            }

            if (WarriorSettings.Instance.UseDefiance)
            {
                if (await Tank.Provoke(WarriorSettings.Instance))
                {
                    return(true);
                }
                if (await SingleTarget.TomahawkOnLostAggro())
                {
                    return(true);
                }
            }

            if (await Aoe.SteelCyclone())
            {
                return(true);
            }
            if (await Aoe.Decimate())
            {
                return(true);
            }
            if (await Aoe.InnerReleaseDecimateSpam())
            {
                return(true);
            }
            if (await Aoe.Overpower())
            {
                return(true);
            }
            if (await SingleTarget.InnerBeast())
            {
                return(true);
            }
            if (await SingleTarget.FellCleave())
            {
                return(true);
            }
            if (await SingleTarget.InnerReleaseFellCleaveSpam())
            {
                return(true);
            }

            // Main Rotation Part

            if (await SingleTarget.StormsEye())
            {
                return(true);
            }
            if (await SingleTarget.StormsPath())
            {
                return(true);
            }
            if (await SingleTarget.Maim())
            {
                return(true);
            }
            if (await SingleTarget.HeavySwing())
            {
                return(true);
            }
            return(await SingleTarget.Tomahawk());
        }
示例#5
0
        public static async Task <bool> Execute()
        {
            if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack())
            {
                return(false);
            }

            if (await CustomOpenerLogic.Opener())
            {
                return(true);
            }

            if (await Defensive.ExecuteTankBusters())
            {
                return(true);
            }

            if (BotManager.Current.IsAutonomous)
            {
                Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3);
            }

            if (await Buff.Grit())
            {
                return(true);
            }
            if (await Tank.Interrupt(DarkKnightSettings.Instance))
            {
                return(true);
            }

            if (Weaving.GetCurrentWeavingCounter() < 2 && Spells.HardSlash.Cooldown.TotalMilliseconds > 650 + BaseSettings.Instance.UserLatencyOffset)
            {
                if (await Tank.Provoke(DarkKnightSettings.Instance))
                {
                    return(true);
                }
                if (await Defensive.Execute())
                {
                    return(true);
                }
                if (await Defensive.TheBlackestNight())
                {
                    return(true);
                }
                if (await SingleTarget.Reprisal())
                {
                    return(true);
                }
                if (await SingleTarget.CarveAndSpit())
                {
                    return(true);
                }
                if (await Aoe.SaltedEarth())
                {
                    return(true);
                }
                if (await Aoe.AbyssalDrain())
                {
                    return(true);
                }
                if (await Aoe.FloodofDarknessShadow())
                {
                    return(true);
                }
                if (await SingleTarget.EdgeofDarknessShadow())
                {
                    return(true);
                }
                if (await SingleTarget.Plunge())
                {
                    return(true);
                }
                if (await Buff.Delirium())
                {
                    return(true);
                }
                if (await Buff.BloodWeapon())
                {
                    return(true);
                }
                if (await Buff.LivingShadow())
                {
                    return(true);
                }
            }

            if (await SingleTarget.Unmend())
            {
                return(true);
            }
            if (await Aoe.Quietus())
            {
                return(true);
            }
            if (await Aoe.StalwartSoul())
            {
                return(true);
            }
            if (await Aoe.Unleash())
            {
                return(true);
            }

            if (await SingleTarget.Bloodspiller())
            {
                return(true);
            }
            if (await SingleTarget.SoulEater())
            {
                return(true);
            }
            if (await SingleTarget.SyphonStrike())
            {
                return(true);
            }
            return(await SingleTarget.HardSlash());
        }
示例#6
0
        public static async Task <bool> Execute()
        {
            if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack())
            {
                return(false);
            }

            if (await CustomOpenerLogic.Opener())
            {
                return(true);
            }

            if (!SpellQueue.Any())
            {
                InSpellQueue = false;
            }

            if (SpellQueue.Any())
            {
                if (await SpellQueueMethod())
                {
                    return(true);
                }
            }

            if (await Defensive.ExecuteTankBusters())
            {
                return(true);
            }

            if (BotManager.Current.IsAutonomous)
            {
                Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3);
            }

            Logger.Write($"Blood: {ActionResourceManager.DarkKnight.BlackBlood}, Darkside: {ActionResourceManager.DarkKnight.Darkside.TotalMilliseconds}, DarkArts: {ActionResourceManager.DarkKnight.DarkArts}");

            if (await Buff.Grit())
            {
                return(true);
            }
            if (await Defensive.TheBlackestNight())
            {
                return(true);
            }
            if (await Buff.Delirium())
            {
                return(true);
            }
            if (await Buff.BloodWeapon())
            {
                return(true);
            }

            if (Utilities.Routines.DarkKnight.OnGcd)
            {
                if (await Tank.Provoke(DarkKnightSettings.Instance))
                {
                    return(true);
                }
                if (await Defensive.Execute())
                {
                    return(true);
                }
                if (await SingleTarget.LowBlow())
                {
                    return(true);
                }
                if (await SingleTarget.Reprisal())
                {
                    return(true);
                }
                if (await Aoe.SaltedEarth())
                {
                    return(true);
                }
                if (await SingleTarget.CarveAndSpit())
                {
                    return(true);
                }
                if (await SingleTarget.Plunge())
                {
                    return(true);
                }
            }

            if (await Aoe.AbyssalDrain())
            {
                return(true);
            }
            if (await Aoe.Unleash())
            {
                return(true);
            }
            if (await SingleTarget.Unmend())
            {
                return(true);
            }
            if (await Aoe.Quietus())
            {
                return(true);
            }
            if (await SingleTarget.Bloodspiller())
            {
                return(true);
            }
            if (await SingleTarget.SoulEater())
            {
                return(true);
            }
            if (await SingleTarget.SyphonStrike())
            {
                return(true);
            }
            return(await SingleTarget.HardSlash());
        }