private bool doKicks() { Vector3 lastPos = ObjectManager.Me.Position; if (OutlawSettings.CurrentSetting.EnableInterrupt) { WoWUnit toInterrupt = MyHelpers.InterruptableUnits(); if (toInterrupt != null) { ObjectManager.Me.FocusGuid = toInterrupt.Guid; if (Kick.IsSpellUsable && Kick.KnownSpell && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange()) { MovementManager.Face(toInterrupt.Position); Kick.Launch(false, false, false, "focus"); MovementManager.Face(ObjectManager.Target.Position); Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return(true); } if (Blind.IsSpellUsable && Blind.KnownSpell && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange()) { MovementManager.Face(toInterrupt.Position); Blind.Launch(false, false, false, "focus"); MovementManager.Face(ObjectManager.Target.Position); Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return(true); } } } return(false); }
private bool doBuilders() { if (OutlawSettings.CurrentSetting.EnablePistolShot && PistolShot.KnownSpell && PistolShot.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getDistanceRange() && ((MyHelpers.haveBuff("Opportunity") && MyHelpers.getComboPoint() <= 4) || (MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() && !(BetweenTheEyes.IsSpellUsable && MyHelpers.getComboPoint() == 6)) || (MyHelpers.haveBuff("Deadshot") && MyHelpers.haveBuff("Seething Rage") && !BetweenTheEyes.IsSpellUsable) ) ) { MyHelpers.castSpell(PistolShot.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Pistol Shot"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableSinisterStrike && SinisterStrike.KnownSpell && SinisterStrike.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getComboPoint() <= 5) { MyHelpers.castSpell(SinisterStrike.Name); Lua.LuaDoString("dRotationFrame.text:SetText(\"Sinister Strike " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return(true); } return(false); }
private bool doFinishers() { if (OutlawSettings.CurrentSetting.EnableBetweenTheEyes && BetweenTheEyes.KnownSpell && BetweenTheEyes.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getDistanceRange() && MyHelpers.getComboPoint() >= 6) { MyHelpers.castSpell(BetweenTheEyes.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Between the Eyes"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableRolltheBones && RolltheBones.KnownSpell && RolltheBones.IsSpellUsable && !BetweenTheEyes.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getComboPoint() >= 6 && MyHelpers.rtbReroll() ) { MyHelpers.castSpell(RolltheBones.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Roll the Bones"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableDispatch && Dispatch.KnownSpell && Dispatch.IsSpellUsable && !BetweenTheEyes.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getComboPoint() >= 6 - MyHelpers.cpReduction()) { MyHelpers.castSpell(Dispatch.Name); Lua.LuaDoString("dRotationFrame.text:SetText(\"Dispatch " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return(true); } return(false); }
public void Damage() { if (Meteor.IsSpellUsable && MyHelpers.haveBuff(RuneofPower.Name) && (MyHelpers.haveBuffStack("Blaster Master") == 3 || (!MyHelpers.haveBuff(Combustion.Name) || MyHelpers.spellCharges(FireBlast.Name) == 0)) && MyHelpers.getTargetDistance() <= 40.0f ) { MyHelpers.castSpell(Meteor.Name); ClickOnTerrain.Pulse(ObjectManager.Target.Position); return; } if (MyHelpers.haveBuff("Hot Streak!") && !buffTime) { while (MyHelpers.haveBuff(Combustion.Name)) { if (MyHelpers.haveBuff("Hot Streak!")) { Pyroblast.Launch(); Thread.Sleep(200); if (MyHelpers.spellCharges(FireBlast.Name) == 0) { Thread.Sleep(200); } canBlast = true; continue; } if (!ObjectManager.Me.IsCast && MyHelpers.spellCharges(FireBlast.Name) > 0 && MyHelpers.haveBuff("Heating Up")) { canBlast = false; MyHelpers.castSpell(FireBlast.Name); continue; } if (MyHelpers.itemIsUsable("Hyperthread Wristwraps") && MyHelpers.spellCharges(FireBlast.Name) == 0 && !ObjectManager.Me.IsCast) { ItemsManager.UseItem(ItemsManager.GetIdByName("Hyperthread Wristwraps")); continue; } if (MyHelpers.spellCharges(FireBlast.Name) == 0 && !MyHelpers.haveBuff("Hot Streak!") && !ObjectManager.Me.IsCast) { Thread.Sleep(400); if (MyHelpers.spellCharges(FireBlast.Name) == 0 && !MyHelpers.haveBuff("Hot Streak!") && !ObjectManager.Me.IsCast) { MyHelpers.castSpell(Scorch.Name); while (ObjectManager.Me.IsCast) { Thread.Sleep(50); } continue; } else { continue; } } } if (MyHelpers.haveBuff("Hot Streak!")) { MyHelpers.castSpell(Pyroblast.Name); } return; } if (MyHelpers.spellCharges(FireBlast.Name) > 0 && !buffTime && MyHelpers.haveBuff("Heating Up") && !MyHelpers.haveBuff(Combustion.Name)) { MyHelpers.castSpell(FireBlast.Name); return; } if (BlazingBarrier.IsSpellUsable) { MyHelpers.castSpell(BlazingBarrier.Name); } if (!MyHelpers.haveBuff("Hot Streak!") && Scorch.IsSpellUsable && !buffTime && (ObjectManager.Me.SpeedMoving > 0 || ObjectManager.Target.HealthPercent < 30)) { Thread.Sleep(100); if (!MyHelpers.haveBuff("Hot Streak!") && Scorch.IsSpellUsable && !buffTime && (ObjectManager.Me.SpeedMoving > 0 || ObjectManager.Target.HealthPercent < 30)) { MyHelpers.castSpell(Scorch.Name); } return; } if (!MyHelpers.haveBuff("Hot Streak!") && !buffTime && !MyHelpers.haveBuff(Combustion.Name) && !(ObjectManager.Me.SpeedMoving > 0 || ObjectManager.Target.HealthPercent < 30)) { MyHelpers.castSpell(Fireball.Name); return; } }
/* * CombatRotation() */ public void CombatRotation() { if (lastTarget != ObjectManager.Target) { lastTarget = ObjectManager.Target; isCheap = true; } if (OutlawSettings.CurrentSetting.EnableInterrupt) { WoWUnit toInterrupt = MyHelpers.InterruptableUnits(); if (toInterrupt != null) { ObjectManager.Me.FocusGuid = toInterrupt.Guid; if (Kick.IsSpellUsable && Kick.KnownSpell) { MovementManager.Face(toInterrupt.Position); Kick.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (Gouge.IsSpellUsable && Gouge.KnownSpell) { MovementManager.Face(toInterrupt.Position); Gouge.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Gouge " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (Blind.IsSpellUsable && Blind.KnownSpell) { MovementManager.Face(toInterrupt.Position); Blind.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } } } if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.7) { if (CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable) { CrimsonVial.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")"); return; } if (Feint.KnownSpell && Feint.IsSpellUsable) { Feint.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")"); return; } } if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.3) { if (Evasion.KnownSpell && Evasion.IsSpellUsable) { Evasion.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Evasion"")"); return; } if (EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(167378)) != null && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && Lua.LuaDoString("result = \"\"; local cooldown = GetItemCooldown(167378) if (cooldown == 0 ) then result = true else result = false end ", "result") == "true") { ItemsManager.UseItem(167378); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Emblem"")"); return; } } if (ObjectManager.Me.IsStunned || ObjectManager.Me.Rooted || ObjectManager.Me.Confused) { if (GladiatorsMedallion.KnownSpell && GladiatorsMedallion.IsSpellUsable) { GladiatorsMedallion.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Gladiators Medallion"")"); return; } } if (MyHelpers.sealthed() && ColdBlood.KnownSpell && ColdBlood.IsSpellUsable && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { ColdBlood.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""ColdBlood"")"); return; } if (Sealth.KnownSpell && Sealth.IsSpellUsable ) { Sealth.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Sealth"")"); return; } if (MyHelpers.sealthed() && ShadowBlades.KnownSpell && ShadowBlades.IsSpellUsable && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { ShadowBlades.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowBlades"")"); return; } if (SymbolsofDeath.KnownSpell && SymbolsofDeath.IsSpellUsable && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { SymbolsofDeath.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""SymbolsofDeath"")"); return; } if (MyHelpers.sealthed() && isCheap && CheapShot.KnownSpell && CheapShot.IsSpellUsable && !ObjectManager.Target.HaveBuff("Cheap Shot") && !ObjectManager.Target.HaveBuff("Kidney Shot") && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { CheapShot.Launch(); Thread newThread = new Thread(runCheap); newThread.Start(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""CheapShot"")"); return; } if (EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(167383)) != null && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && Lua.LuaDoString("result = \"\"; local cooldown = GetItemCooldown(167383) if (cooldown == 0 ) then result = true else result = false end ", "result") == "true" ) { ItemsManager.UseItem(167383); Lua.LuaDoString(@"dRotationFrame.text:SetText(""maledict"")"); return; } if (MarkedforDeath.KnownSpell && MarkedforDeath.IsSpellUsable && MyHelpers.getComboPoint() == 0 && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { MarkedforDeath.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""MarkedforDeath"")"); return; } if (MyHelpers.sealthed() && Nightblade.KnownSpell && Nightblade.IsSpellUsable && MyHelpers.getComboPoint() >= 4 && !ObjectManager.Target.HaveBuff("Nightblade") && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { Nightblade.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Nightblade"")"); return; } if (MyHelpers.sealthed() && Shadowstrike.KnownSpell && Shadowstrike.IsSpellUsable && MyHelpers.getComboPoint() < 4 && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { Shadowstrike.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Shadowstrike"")"); return; } if (ShadowStep.KnownSpell && ShadowStep.IsSpellUsable && MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() && MyHelpers.getTargetDistance() < 25.0f ) { ShadowStep.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowStep"")"); return; } if (!MyHelpers.sealthed() && ShadowDance.KnownSpell && ShadowDance.IsSpellUsable && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { ShadowDance.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowDance"")"); return; } if (!MyHelpers.sealthed() && KidneyShot.KnownSpell && KidneyShot.IsSpellUsable && MyHelpers.getComboPoint() >= 4 && !ObjectManager.Target.HaveBuff("Cheap Shot") && !ObjectManager.Target.HaveBuff("Kidney Shot") && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { KidneyShot.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowDance"")"); return; } if (Eviscerate.KnownSpell && Eviscerate.IsSpellUsable && MyHelpers.getComboPoint() >= 4 && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { Eviscerate.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Eviscerate"")"); return; } if (ConcentratedFlame.KnownSpell && ConcentratedFlame.IsSpellUsable ) { ConcentratedFlame.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Concentrated Flame"")"); return; } if (!MyHelpers.sealthed() && Backstab.KnownSpell && Backstab.IsSpellUsable && MyHelpers.getComboPoint() < 4 && MyHelpers.getTargetDistance() < MyHelpers.getMeleeRange() ) { Backstab.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""ShadowDance"")"); return; } }
/* * CombatRotation() */ public void CombatRotation() { if (OutlawSettings.CurrentSetting.EnableInterrupt) { WoWUnit toInterrupt = MyHelpers.InterruptableUnits(); if (toInterrupt != null) { ObjectManager.Me.FocusGuid = toInterrupt.Guid; if (Kick.IsSpellUsable && Kick.KnownSpell) { MovementManager.Face(toInterrupt.Position); Kick.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (Gouge.IsSpellUsable && Gouge.KnownSpell) { MovementManager.Face(toInterrupt.Position); Gouge.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Gouge " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (Blind.IsSpellUsable && Blind.KnownSpell) { MovementManager.Face(toInterrupt.Position); Blind.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } } } if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.6) { if (CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable) { CrimsonVial.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")"); return; } if (Feint.KnownSpell && Feint.IsSpellUsable) { Feint.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")"); return; } } if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.3) { if (SmokeBomb.KnownSpell && SmokeBomb.IsSpellUsable) { SmokeBomb.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Smoke Bomb"")"); return; } if (Riposte.KnownSpell && Riposte.IsSpellUsable) { Riposte.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Riposte"")"); return; } } if (ObjectManager.Me.IsStunned || ObjectManager.Me.Rooted || ObjectManager.Me.Confused) { if (GladiatorsMedallion.KnownSpell && GladiatorsMedallion.IsSpellUsable) { GladiatorsMedallion.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Gladiators Medallion"")"); return; } } if (ObjectManager.Me.SpeedMoving < 8.05 && ObjectManager.Me.SpeedMoving > 0) { if (OutlawSettings.CurrentSetting.EnableCloakOfShadows && CloakOfShadows.KnownSpell && CloakOfShadows.IsSpellUsable) { CloakOfShadows.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Cloak Of Shadows"")"); return; } } if (OutlawSettings.CurrentSetting.EnableRazorCoral && EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(169311)) != null && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && Lua.LuaDoString("result = \"\"; local cooldown = GetItemCooldown(169311) if (cooldown == 0 ) then result = true else result = false end ", "result") == "true" && (!ObjectManager.Target.BuffCastedByAll("Razor Coral").Contains(ObjectManager.Me.Guid) || ObjectManager.Target.BuffStack("Razor Coral") >= 10)) { ItemsManager.UseItem(169311); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Razor Coral"")"); return; } if (OutlawSettings.CurrentSetting.EnableSprint && !ObjectManager.Me.IsMounted && Sprint.KnownSpell && Sprint.IsSpellUsable && MyHelpers.getTargetDistance() > 20.0f ) { Sprint.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Sprint"")"); return; } if (OutlawSettings.CurrentSetting.EnableAdrenalineRush && AdrenalineRush.KnownSpell && AdrenalineRush.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && (ObjectManager.Target.IsBoss || ObjectManager.Target.IsElite || ObjectManager.Target.IsLocalPlayer || ObjectManager.Target.Type == WoWObjectType.Player || MyHelpers.getAttackers(10) > 3)) { AdrenalineRush.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Adrenaline Rush"")"); return; } if (Garrote.KnownSpell && Garrote.IsSpellUsable && !ObjectManager.Target.HaveBuff("Garrote")) { Garrote.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Garrote"")"); return; } if (Rupture.KnownSpell && Rupture.IsSpellUsable && MyHelpers.getComboPoint() >= 4 && !ObjectManager.Target.HaveBuff("Rupture")) { Rupture.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Rupture"")"); return; } if (ToxicBlade.KnownSpell && ToxicBlade.IsSpellUsable && ObjectManager.Target.HaveBuff("Rupture")) { ToxicBlade.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Toxic Blade"")"); return; } if (Vendetta.KnownSpell && Vendetta.IsSpellUsable && ObjectManager.Target.HaveBuff("Rupture")) { Vendetta.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Vendetta"")"); return; } if (Envenom.KnownSpell && Envenom.IsSpellUsable && MyHelpers.getComboPoint() >= 4 && ObjectManager.Target.HaveBuff("Rupture")) { Envenom.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Envenom"")"); return; } if (Mutilate.KnownSpell && Mutilate.IsSpellUsable && MyHelpers.getComboPoint() < 4) { Mutilate.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Mutilate"")"); return; } }
/* * CombatRotation() */ public void CombatRotation() { if (OutlawSettings.CurrentSetting.EnableInterrupt) { WoWUnit toInterrupt = MyHelpers.InterruptableUnits(); if (toInterrupt != null) { ObjectManager.Me.FocusGuid = toInterrupt.Guid; if (Kick.IsSpellUsable && Kick.KnownSpell) { MovementManager.Face(toInterrupt.Position); Kick.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Kick " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (Gouge.IsSpellUsable && Gouge.KnownSpell) { MovementManager.Face(toInterrupt.Position); Gouge.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Gouge " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (Blind.IsSpellUsable && Blind.KnownSpell) { MovementManager.Face(toInterrupt.Position); Blind.Launch(false, false, false, "focus"); Lua.LuaDoString("dRotationFrame.text:SetText(\"Blind " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } } } if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.7) { if (CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable) { CrimsonVial.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")"); return; } if (Feint.KnownSpell && Feint.IsSpellUsable) { Feint.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")"); return; } } if (ObjectManager.Me.Health < ObjectManager.Me.MaxHealth * 0.3) { if (SmokeBomb.KnownSpell && SmokeBomb.IsSpellUsable) { SmokeBomb.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Smoke Bomb"")"); return; } if (Riposte.KnownSpell && Riposte.IsSpellUsable) { Riposte.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Riposte"")"); return; } } if (ObjectManager.Me.IsStunned || ObjectManager.Me.Rooted || ObjectManager.Me.Confused) { if (GladiatorsMedallion.KnownSpell && GladiatorsMedallion.IsSpellUsable) { GladiatorsMedallion.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Gladiators Medallion"")"); return; } } if (ObjectManager.Me.SpeedMoving < 8.05 && ObjectManager.Me.SpeedMoving > 0) { if (OutlawSettings.CurrentSetting.EnableCloakOfShadows && CloakOfShadows.KnownSpell && CloakOfShadows.IsSpellUsable) { CloakOfShadows.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Cloak Of Shadows"")"); return; } } if (OutlawSettings.CurrentSetting.EnableRazorCoral && EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(169311)) != null && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && Lua.LuaDoString("result = \"\"; local cooldown = GetItemCooldown(169311) if (cooldown == 0 ) then result = true else result = false end ", "result") == "true" && (!ObjectManager.Target.BuffCastedByAll("Razor Coral").Contains(ObjectManager.Me.Guid) || ObjectManager.Target.BuffStack("Razor Coral") >= 10)) { ItemsManager.UseItem(169311); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Razor Coral"")"); return; } if (OutlawSettings.CurrentSetting.EnableBladeFlurry && BladeFlurry.KnownSpell && !MyHelpers.haveBuff("Blade Flurry") && BladeFlurry.IsSpellUsable && (MyHelpers.getAttackers(10) > 1)) { BladeFlurry.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Blade Flurry"")"); return; } if (OutlawSettings.CurrentSetting.EnableBloodoftheEnemy && BloodoftheEnemy.KnownSpell && BloodoftheEnemy.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && !MyHelpers.rtbReroll() && BetweenTheEyes.IsSpellUsable && (ObjectManager.Target.IsLocalPlayer || ObjectManager.Target.Type == WoWObjectType.Player) ) { BloodoftheEnemy.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Bloodof the Enemy"")"); return; } if (OutlawSettings.CurrentSetting.EnableGrapplingHook && !ObjectManager.Me.IsMounted && GrapplingHook.KnownSpell && GrapplingHook.IsSpellUsable && MyHelpers.getTargetDistance() <= 20.0f && MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() ) { ClickOnTerrain.Spell(195457, ObjectManager.Target.Position); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Grappling Hook"")"); return; } if (OutlawSettings.CurrentSetting.EnableSprint && !ObjectManager.Me.IsMounted && Sprint.KnownSpell && Sprint.IsSpellUsable && MyHelpers.getTargetDistance() > 20.0f ) { Sprint.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Sprint"")"); return; } if (OutlawSettings.CurrentSetting.EnableRolltheBones && RolltheBones.KnownSpell && RolltheBones.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getComboPoint() >= 4 && MyHelpers.rtbReroll() ) { RolltheBones.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Roll the Bones"")"); return; } if (OutlawSettings.CurrentSetting.EnableAdrenalineRush && AdrenalineRush.KnownSpell && AdrenalineRush.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && (ObjectManager.Target.IsBoss || ObjectManager.Target.IsElite || ObjectManager.Target.IsLocalPlayer || ObjectManager.Target.Type == WoWObjectType.Player || MyHelpers.getAttackers(10) > 3)) { AdrenalineRush.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Adrenaline Rush"")"); return; } if (BladeRush.KnownSpell && BladeRush.IsSpellUsable && MyHelpers.getTargetDistance() <= 20.0f && MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() && !ObjectManager.Me.IsMounted ) { BladeRush.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Blade Rush"")"); return; } if (OutlawSettings.CurrentSetting.EnablePistolShot && PistolShot.KnownSpell && PistolShot.IsSpellUsable && MyHelpers.getTargetDistance() <= 20.0f && ((MyHelpers.haveBuff("Opportunity") && MyHelpers.getComboPoint() <= 4) || (MyHelpers.getTargetDistance() > MyHelpers.getMeleeRange() && !(BetweenTheEyes.IsSpellUsable && MyHelpers.getComboPoint() == 6)) || (MyHelpers.haveBuff("Deadshot") && MyHelpers.haveBuff("Seething Rage") && !BetweenTheEyes.IsSpellUsable) )) { PistolShot.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Pistol Shot"")"); return; } if (OutlawSettings.CurrentSetting.EnableSinisterStrike && SinisterStrike.KnownSpell && SinisterStrike.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getComboPoint() <= 5) { SinisterStrike.Launch(); Lua.LuaDoString("dRotationFrame.text:SetText(\"Sinister Strike " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } if (OutlawSettings.CurrentSetting.EnableBetweenTheEyes && BetweenTheEyes.KnownSpell && BetweenTheEyes.IsSpellUsable && MyHelpers.getTargetDistance() <= 20.0f && MyHelpers.getComboPoint() == 6) { BetweenTheEyes.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Between the Eyes"")"); return; } if (OutlawSettings.CurrentSetting.EnableDispatch && Dispatch.KnownSpell && Dispatch.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getComboPoint() == 6) { Dispatch.Launch(); Lua.LuaDoString("dRotationFrame.text:SetText(\"Dispatch " + MyHelpers.getTargetDistance() + " / " + MyHelpers.GetMeleeRangeWithTarget() + "\")"); return; } }
/* * CombatRotation() */ public void CombatRotation() { if (doKicks()) { return; } if (doResist()) { return; } if (Garrote.KnownSpell && Garrote.IsSpellUsable && (!ObjectManager.Target.HaveBuff("Garrote") || MyHelpers.TargetDebuffTimeLeft("Garrote") < 2)) { MyHelpers.castSpell(Garrote.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Garrote"")"); return; } if (EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(169311)) != null && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && ObjectManager.Target.IsAttackable && Lua.LuaDoString <bool>(@"if GetItemCooldown(169311) == 0 then return true; else return false; end") && (!ObjectManager.Target.BuffCastedByAll("Razor Coral").Contains(ObjectManager.Me.Guid) || ObjectManager.Target.BuffCastedByAll("Vendetta").Contains(ObjectManager.Me.Guid))) { ItemsManager.UseItem(169311); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Razor Coral"")"); return; } if (Rupture.KnownSpell && Rupture.IsSpellUsable && MyHelpers.getComboPoint() > 4 && (!ObjectManager.Target.HaveBuff("Rupture") || MyHelpers.TargetDebuffTimeLeft("Rupture") < 2)) { MyHelpers.castSpell(Rupture.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Rupture"")"); return; } if (Vendetta.KnownSpell && Vendetta.IsSpellUsable && (MyHelpers.haveOP() > 20 || MyHelpers.haveBL())) { MyHelpers.castSpell(Vendetta.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Vendetta"")"); return; } if (Berserking.KnownSpell && Berserking.IsSpellUsable && ObjectManager.Target.BuffCastedByAll("Vendetta").Contains(ObjectManager.Me.Guid)) { MyHelpers.castSpell(Berserking.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""GuardianofAzeroth"")"); return; } if (GuardianofAzeroth.KnownSpell && GuardianofAzeroth.IsSpellUsable && ObjectManager.Target.BuffCastedByAll("Vendetta").Contains(ObjectManager.Me.Guid)) { MyHelpers.castSpell(GuardianofAzeroth.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""GuardianofAzeroth"")"); return; } if (ToxicBlade.KnownSpell && ToxicBlade.IsSpellUsable && ((!Vendetta.IsSpellUsable && ObjectManager.Target.HaveBuff("Rupture") && MyHelpers.haveBuff("Envenom")) || ObjectManager.Target.BuffCastedByAll("Vendetta").Contains(ObjectManager.Me.Guid))) { MyHelpers.castSpell(ToxicBlade.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Toxic Blade"")"); return; } if (Vanish.KnownSpell && Vanish.IsSpellUsable && Garrote.IsSpellUsable && ObjectManager.Target.BuffCastedByAll("Vendetta").Contains(ObjectManager.Me.Guid)) { MyHelpers.castSpell(Vanish.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Garrote"")"); return; } if (Envenom.KnownSpell && Envenom.IsSpellUsable && MyHelpers.getComboPoint() > 4) { MyHelpers.castSpell(Envenom.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Envenom"")"); return; } if (Mutilate.KnownSpell && Mutilate.IsSpellUsable && MyHelpers.getComboPoint() <= 4) { MyHelpers.castSpell(Mutilate.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Mutilate"")"); return; } }
private bool doBuffs() { if (ObjectManager.Me.HealthPercent < 30) { if (OutlawSettings.CurrentSetting.EnableCrimsonVial && CrimsonVial.KnownSpell && CrimsonVial.IsSpellUsable) { MyHelpers.castSpell(CrimsonVial.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Crimson Vial"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableFeint && Feint.KnownSpell && Feint.IsSpellUsable) { MyHelpers.castSpell(Feint.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Feint"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableRiposte && Riposte.KnownSpell && Riposte.IsSpellUsable) { MyHelpers.castSpell(Riposte.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Riposte"")"); return(true); } } if (OutlawSettings.CurrentSetting.EnableRazorCoral && EquippedItems.GetEquippedItems().Find(x => x.GetItemInfo.ItemName == ItemsManager.GetNameById(169311)) != null && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && ObjectManager.Target.IsAttackable && Lua.LuaDoString("result = \"\"; local cooldown = GetItemCooldown(169311) if (cooldown == 0 ) then result = true else result = false end ", "result") == "true" && (!ObjectManager.Target.BuffCastedByAll("Razor Coral").Contains(ObjectManager.Me.Guid) || ObjectManager.Target.BuffStack("Razor Coral") >= 10)) { ItemsManager.UseItem(169311); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Razor Coral"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableBladeFlurry && BladeFlurry.KnownSpell && !MyHelpers.haveBuff("Blade Flurry") && BladeFlurry.IsSpellUsable && !MyHelpers.rtbReroll() && (MyHelpers.getAttackers(18) > 2)) { MyHelpers.castSpell(BladeFlurry.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Blade Flurry"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableAdrenalineRush && AdrenalineRush.KnownSpell && AdrenalineRush.IsSpellUsable && !MyHelpers.rtbReroll() && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange()) { MyHelpers.castSpell(AdrenalineRush.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Adrenaline Rush"")"); return(true); } if (Berserking.KnownSpell && Berserking.IsSpellUsable && !MyHelpers.rtbReroll() && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange()) { MyHelpers.castSpell(Berserking.Name); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Berserking"")"); return(true); } if (OutlawSettings.CurrentSetting.EnableBloodoftheEnemy && BloodoftheEnemy.KnownSpell && BloodoftheEnemy.IsSpellUsable && BetweenTheEyes.IsSpellUsable && MyHelpers.haveBuff(MyHelpers.RuthlessPrecision) && MyHelpers.getComboPoint() >= 6 && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && (ObjectManager.Target.IsBoss || ObjectManager.Target.IsElite || MyHelpers.getAttackers(18) > 3 || ObjectManager.Target.Name.Contains("Training")) ) { BloodoftheEnemy.Launch(); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Bloodof the Enemy"")"); return(true); } if (FocusedAzeriteBeam.KnownSpell && FocusedAzeriteBeam.IsSpellUsable && MyHelpers.getTargetDistance() <= MyHelpers.getMeleeRange() && MyHelpers.getAttackers(10) > 3 ) { FocusedAzeriteBeam.Launch(false, true, false, "target"); Thread.Sleep(3000); Lua.LuaDoString(@"dRotationFrame.text:SetText(""Bloodof the Enemy"")"); return(true); } return(false); }