public static async Task <bool> Combat() { await CombatBuff(); if (BotManager.Current.IsAutonomous) { if (Core.Me.HasTarget) { Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3 + Core.Me.CurrentTarget.CombatReach); } } if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack()) { return(false); } if (Core.Me.CurrentTarget.HasAnyAura(Auras.Invincibility)) { return(false); } if (await CustomOpenerLogic.Opener()) { return(true); } //Utility if (await Tank.Interrupt(GunbreakerSettings.Instance)) { return(true); } //if (await Buff.RoyalGuard()) return true; if (GunbreakerRoutine.GlobalCooldown.CanWeave()) { //Defensive Buff if (await Defensive.Superbolide()) { return(true); } if (await Healing.Aurora()) { return(true); } if (await Defensive.Nebula()) { return(true); } if (await Defensive.Rampart()) { return(true); } if (await Defensive.Camouflage()) { return(true); } if (await Defensive.Reprisal()) { return(true); } if (await Defensive.HeartofLight()) { return(true); } if (await Defensive.HeartofCorundum()) { return(true); } } //oGCD to use with BurstStrike if (await SingleTarget.Hypervelocity()) { return(true); } //oGCD to use inside Combo 2 if (await SingleTarget.EyeGouge()) { return(true); } if (await SingleTarget.AbdomenTear()) { return(true); } if (await SingleTarget.JugularRip()) { return(true); } if (GunbreakerRoutine.GlobalCooldown.CanWeave()) { //oGCD - Buffs if (await Buff.NoMercy()) { return(true); } if (await Buff.Bloodfest()) { return(true); } //oGCD - Damage if (await SingleTarget.RoughDivide()) { return(true); } if (await SingleTarget.BlastingZone()) { return(true); } if (await Aoe.BowShock()) { return(true); } } //Pull or get back aggro with LightningShot if (await SingleTarget.LightningShotToPullOrAggro()) { return(true); } if (await SingleTarget.LightningShotToDps()) { return(true); } //Apply DOT / Burst if (await Aoe.DoubleDown()) { return(true); } if (await SingleTarget.SonicBreak()) { return(true); } //Combo 2 if (await SingleTarget.SavageClaw()) { return(true); } if (await SingleTarget.WickedTalon()) { return(true); } if (await SingleTarget.GnashingFang()) { return(true); } //Combo 3 if (await SingleTarget.BurstStrike()) { return(true); } //AOE if (await Aoe.FatedCircle()) { return(true); } if (await Aoe.DemonSlaughter()) { return(true); } if (await Aoe.DemonSlice()) { return(true); } //Combo 1 Filler if (await SingleTarget.SolidBarrel()) { return(true); } if (await SingleTarget.BrutalShell()) { return(true); } return(await SingleTarget.KeenEdge()); }
public static async Task <bool> Combat() { if (BotManager.Current.IsAutonomous) { if (Core.Me.HasTarget) { Movement.NavigateToUnitLos(Core.Me.CurrentTarget, 3 + Core.Me.CurrentTarget.CombatReach); } } if (!Core.Me.HasTarget || !Core.Me.CurrentTarget.ThoroughCanAttack()) { return(false); } if (await CustomOpenerLogic.Opener()) { return(true); } //Utility if (await Tank.Interrupt(WarriorSettings.Instance)) { return(true); } if (await Buff.Defiance()) { return(true); } if (WarriorRoutine.GlobalCooldown.CanWeave()) { //Defensive Buff if (await Defensive.Holmgang()) { return(true); } if (await Healing.Equilibrium()) { return(true); } if (await Healing.ThrillOfBattle()) { return(true); } if (await Defensive.BloodWhetting()) { return(true); } if (await Defensive.Reprisal()) { return(true); } if (await Defensive.Rampart()) { return(true); } if (await Defensive.Vengeance()) { return(true); } if (await Defensive.ShakeItOff()) { return(true); } if (await Buff.NascentFlash()) { return(true); } //Cooldowns if (await Buff.InnerRelease()) { return(true); } if (await Buff.Infuriate()) { return(true); } //oGCD if (await Aoe.Orogeny()) { return(true); } if (await SingleTarget.Upheaval()) { return(true); } if (await SingleTarget.Onslaught()) { return(true); } } //Spell to use with Nascent Chaos if (await Aoe.ChaoticCyclone()) { return(true); } if (await SingleTarget.InnerChaos()) { return(true); } //Spell to spam inside Inner Release if (await Aoe.PrimalRend()) { return(true); } if (await Aoe.Decimate()) { return(true); } if (await SingleTarget.FellCleave()) { return(true); } //Use On CD if (await SingleTarget.TomahawkOnLostAggro()) { return(true); } if (await Aoe.MythrilTempest()) { return(true); } if (await Aoe.Overpower()) { return(true); } //Storm Eye Combo + Filler 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()); }