private static void Mixed() { var target = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Physical); if (target == null && !Menus._menu.Item("Leplank.harass.toggle").GetValue <KeyBind>().Active) { LastHit(); } if ((!BarrelsManager.savedBarrels.Any() || BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) > Program.E.Range) && Program.Q.IsInRange(target) && Program.Q.IsReady() && Menus.GetBool("Leplank.harass.q") && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.harass.qmana")) { Program.Q.CastOnUnit(target); } var pred = Prediction.GetPrediction(target, 1f).CastPosition; if (BarrelsManager.savedBarrels.Any() && Program.Q.IsReady() && Program.E.IsReady() && Program.Q.IsInRange(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) && Menus.GetBool("Leplank.harass.extendedeq") && !Menus.GetBool("Leplank.misc.barrelmanager.edisabled") && target != null && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.harass.qmana") && BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Health < 3) { Program.E.Cast(pred); ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition)); } }
//Quickscope : Attempt to cast QE quickcombo to target position, pos : target position (use correctThisPos for optimal results), targettarget (1hp required) : the initial barrel to use, if the target barrel is within E range and distance to player is greater than 500 (avoid long backward walking) it will move to it before casting the combo public static void quickscope(BarrelsManager.Barrel target, Vector2 pos) { bool canconnect = false; bool shouldmove = false; bool inposition = false; bool done = false; //Verify if the wanted position is within range if (Program.Player.Position.Distance(pos.To3D()) < Program.E.Range) { canconnect = true; } else { canconnect = false; } //Verify if we should move in order to get the combo if ((Program.Player.Distance(target.barrel) > 610 && Program.Player.Distance(target.barrel) < 1000) || (Program.Player.Distance(target.barrel) < 590 && Program.Player.Distance(target.barrel) > 500)) shouldmove = true; else if (Program.Player.Distance(target.barrel) >= 590 && Program.Player.Distance(target.barrel) <= 610) { shouldmove = false; inposition = true; } else shouldmove = false; //If requirements are K we move if (shouldmove && canconnect) { Vector3 position = Program.Player.Position; double vX = position.X - target.barrel.Position.X; double vY = position.Y - target.barrel.Position.Y; double magV = Math.Sqrt(vX * vX + vY * vY); double aX = Math.Round(target.barrel.Position.X + vX / magV * 600); double aY = Math.Round(target.barrel.Position.Y + vY / magV * 600); Vector2 newPosition = new Vector2(Convert.ToInt32(aX), Convert.ToInt32(aY)); if (position.Distance(target.barrel.Position) - 580 >= 50) //If correction is far from hero Program.Player.IssueOrder(GameObjectOrder.MoveTo, newPosition.To3D()); else //If correction is within hero hitbox (wont move cauz distance too small) { Program.Player.IssueOrder(GameObjectOrder.MoveTo, new Vector2(Program.Player.Position.X - 200, Program.Player.Position.Y - 200).To3D()); Utility.DelayAction.Add(50, () => Program.Player.IssueOrder(GameObjectOrder.MoveTo, newPosition.To3D())); } } //If all is K we quickscope if (inposition && target.barrel.Health == 1 && !done) { Program.Q.CastOnUnit(target.barrel); Program.E.Cast(pos); done = true; } }
public static float GetQtime(BarrelsManager.Barrel targetBarrel) { float time; if (Program.Player.Level < 7) time = 4f * 1000; else if (Program.Player.Level >= 7 && Program.Player.Level < 13) time = 2f * 1000; else time = 1f * 1000; var qq = Environment.TickCount - targetBarrel.time + (Program.Player.Distance(targetBarrel.barrel) / 2800f + Program.Q.Delay) * 700; var result = time - qq; return result; }
public static void autoAttack(BarrelsManager.Barrel targetBarrel) { float time; if (Program.Player.Level < 7) time = 4f * 1000; else if (Program.Player.Level >= 7 && Program.Player.Level < 13) time = 2f * 1000; else time = 1f * 1000; var qq = Environment.TickCount - targetBarrel.time + Program.Player.AttackDelay; if (targetBarrel.barrel.Distance(Program.Player) <= Program.Player.AttackRange) { if (Utility.DelayAction.ActionList.Count == 0) Utility.DelayAction.Add(Convert.ToInt32(time - qq), () => Program.Player.IssueOrder(GameObjectOrder.AttackUnit, targetBarrel.barrel)); } }
public static void castQ(BarrelsManager.Barrel targetBarrel) { float time; if(Program.Player.Level<7) time = 4f * 1000; else if(Program.Player.Level >=7 && Program.Player.Level < 13) time = 2f * 1000; else time = 1f * 1000; var qq = Environment.TickCount - targetBarrel.time + (Program.Player.Distance(targetBarrel.barrel) / 2800f + Program.Q.Delay) * 700; if (targetBarrel.barrel.Distance(Program.Player) <= Program.Q.Range) { if (Utility.DelayAction.ActionList.Count==0) Utility.DelayAction.Add(Convert.ToInt32(time - qq), () => Program.Q.CastOnUnit(targetBarrel.barrel)); } }
private static void WaveClear() { var minionswc = MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.NotAlly) .Where(mwc => mwc.SkinName != "GangplankBarrel") .OrderByDescending(mlh => mlh.Distance(Program.Player)).ToList(); if (!minionswc.Any()) { return; } #region Items // Items if (Menus.GetBool("Leplank.item.hydra") && (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Ravenous_Hydra_Melee_Only.GetItem().Range).Count > 2 || MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Ravenous_Hydra_Melee_Only.GetItem().Range, MinionTypes.All, MinionTeam.Neutral) .Count >= 1) && Items.HasItem(3074) && Items.CanUseItem(3074) && !Orbwalking.CanAttack()) { Items.UseItem(3074); //hydra, range of active = 400 } if (Menus.GetBool("Leplank.item.tiamat") && (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Tiamat_Melee_Only.GetItem().Range).Count > 2 || MinionManager.GetMinions(ObjectManager.Player.ServerPosition, LeagueSharp.Common.Data.ItemData.Tiamat_Melee_Only.GetItem().Range, MinionTypes.All, MinionTeam.Neutral) .Count >= 1) && Items.HasItem(3077) && Items.CanUseItem(3077) && !Orbwalking.CanAttack()) { Items.UseItem(3077); } #endregion Items if (Menus.GetBool("Leplank.misc.barrelmanager.edisabled") == false && Menus.GetBool("Leplank.lc.e") && Program.E.IsReady()) { var posE = Program.E.GetCircularFarmLocation(minionswc, Program.EexplosionRange); if (posE.MinionsHit >= Menus.GetSlider("Leplank.lc.emin") && (!BarrelsManager.savedBarrels.Any() || BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) > Program.Q.Range) && Program.E.Instance.Ammo > Menus.GetSlider("Leplank.misc.barrelmanager.estacks")) { Program.E.Cast(posE.Position); } } if (BarrelsManager.savedBarrels.Any() || BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) < Program.Q.Range + 100) // Extra range { var minionsInERange = MinionManager.GetMinions( BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Position, Program.EexplosionRange, MinionTypes.All, MinionTeam.NotAlly); if (Menus.GetBool("Leplank.lc.qone") && Program.Q.IsInRange(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) && Program.Q.IsReady() && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lc.qonemana")) { if ((Program.Q.Level >= 3 && minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 3) || (Program.Q.Level == 2 && minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 2) || (Program.Q.Level == 1 && minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Any()) || (Program.Q.Level == 1 && minionsInERange.Count < 2)) { ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition)); } } if ((!Program.Q.IsReady() || !Menus.GetBool("Leplank.lc.qone") || Program.Player.ManaPercent < Menus.GetSlider("Leplank.lc.qonemana")) && Program.Player.Distance(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) < Program.Player.AttackRange) { ExplosionPrediction.autoAttack(BarrelsManager.closestToPosition(Program.Player.ServerPosition)); } } }
// GOD DAMN F*****G ADVANCED COMBO SWAGG GOD LORD L O G I C, bitch please #kappa public static void BarrelLord() { #region BarrelLord var enemies = Program.Player.GetEnemiesInRange(Program.E.Range); var target = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Physical); #region R if (Menus.GetBool("Leplank.combo.r") && Program.R.IsReady()) { var rfocus = HeroManager.Enemies.FirstOrDefault( e => e.Health <DamageLib.GetRDamages(e) && e.GetEnemiesInRange(300).Count> (Menus.GetSlider("Leplank.combo.rmin") - 1) && e.Distance(Program.Player) < 1200); if (rfocus != null) { Program.R.Cast(Prediction.GetPrediction(rfocus, Program.R.Delay, 300, float.MaxValue).CastPosition); } } #endregion R switch (enemies.Count) { case 0: return; case 1: // 1v1 //QE when enemy is in E range & when the nearest barrel is in Q range and can be connected with a barrel where target can be hit if (Program.Q.IsReady() && Program.E.IsReady() && Program.E.Instance.Ammo == 1 && BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) < Program.Q.Range && target != null && BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(target) > Program.EexplosionRange) { var pred = Prediction.GetPrediction(target, Program.E.Delay + Program.Q.Delay).CastPosition; if (BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(pred) < Program.Econnection && Menus.GetBool("Leplank.combo.e") && !Menus.GetBool("Leplank.misc.barrelmanager.edisabled")) { ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition)); Program.E.Cast(pred); } } // if (Program.E.Insance.Ammo == 1 && Program.E.Instance.CooldownExpires > (Program.Q.Cooldown/2)) // { // } if (Menus.GetBool("Leplank.combo.q") && Program.E.Instance.Ammo == 0 && Program.Q.IsReady() && Program.Q.IsInRange(target) && Program.E.Instance.CooldownExpires > Program.Q.Instance.Cooldown) { Program.Q.CastOnUnit(target); } break; case 2: break; case 3: break; case 4: break; case 5: break; } #endregion BarrelLord }
private static void WaveClear() { var minionswc = MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.NotAlly) .Where(mwc => mwc.SkinName != "GangplankBarrel") .OrderByDescending(mlh => mlh.Distance(Program.Player)).ToList(); if (!minionswc.Any()) { return; } // Items if (Menus.GetBool("Leplank.item.hydra") && (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390).Count > 2 || MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390, MinionTypes.All, MinionTeam.Neutral) .Count >= 1) && Items.HasItem(3074) && Items.CanUseItem(3074)) { Items.UseItem(3074); //hydra, range of active = 400 } if (Menus.GetBool("Leplank.item.tiamat") && (MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390).Count > 2 || MinionManager.GetMinions(ObjectManager.Player.ServerPosition, 390, MinionTypes.All, MinionTeam.Neutral) .Count >= 1) && Items.HasItem(3077) && Items.CanUseItem(3077)) { Items.UseItem(3077); //tiamat, range of active = 400 } #region LasthitquntillE if (Program.E.Level < 1 && Menus.GetBool("Leplank.lh.q") && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lh.qmana") && Program.Q.IsReady()) { var minionlhtarget = MinionManager.GetMinions(Program.Q.Range, MinionTypes.All, MinionTeam.NotAlly) .Where( mlh => mlh.SkinName != "GangplankBarrel" && // It makes the program check if it's not a barrel because Powder Kegs mlh.Health < DamageLib.GetQDamages(mlh)) // are considered as Obj ai minions so it may cause some bugs if not checked .OrderByDescending(mlh => mlh.Distance(Program.Player)) // Prioritize minions that's are far from the player .FirstOrDefault(); if (Menus.GetBool("Leplank.lh.q") && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lh.qmana") && Program.Q.IsReady() && minionlhtarget != null) // Check config { Program.Q.CastOnUnit(minionlhtarget); } } #endregion LasthituntillE if (Menus.GetBool("Leplank.misc.barrelmanager.edisabled") == false && Menus.GetBool("Leplank.lc.e") && Program.E.IsReady()) { var posE = Program.E.GetCircularFarmLocation(minionswc, Program.EexplosionRange); if (posE.MinionsHit >= Menus.GetSlider("Leplank.lc.emin") && (!BarrelsManager.savedBarrels.Any() || BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) > Program.Q.Range) && Program.E.Instance.Ammo > Menus.GetSlider("Leplank.misc.barrelmanager.estacks")) { Program.E.Cast(posE.Position); } } if (BarrelsManager.savedBarrels.Any() || BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Distance(Program.Player) < Program.Q.Range + 100) // Extra range { var minionsInERange = MinionManager.GetMinions( BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel.Position, Program.EexplosionRange, MinionTypes.All, MinionTeam.NotAlly); if (Menus.GetBool("Leplank.lc.qone") && Program.Q.IsInRange(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) && Program.Q.IsReady() && Program.Player.ManaPercent >= Menus.GetSlider("Leplank.lc.qonemana")) { if ((Program.Q.Level >= 3 && minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 3) || (Program.Q.Level == 2 && minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Count >= 2) || (Program.Q.Level == 1 && minionsInERange.Where(m => m.Health < DamageLib.GetEDamages(m, true)).ToList().Any()) || (Program.Q.Level == 1 && minionsInERange.Count < 2)) { ExplosionPrediction.castQ(BarrelsManager.closestToPosition(Program.Player.ServerPosition)); } } if ((!Program.Q.IsReady() || !Menus.GetBool("Leplank.lc.qone") || Program.Player.ManaPercent < Menus.GetSlider("Leplank.lc.qonemana")) && Program.Player.Distance(BarrelsManager.closestToPosition(Program.Player.ServerPosition).barrel) < Program.Player.AttackRange) { ExplosionPrediction.autoAttack(BarrelsManager.closestToPosition(Program.Player.ServerPosition)); } } }
public static void _OnDraw(EventArgs args) { if (Menus.GetBool("Leplank.drawing.enabled")) { #region SpellsDrawings if (Menus.GetBool("Leplank.drawing.onlyReady")) { if (Menus.GetColorBool("Leplank.drawing.q") && (Program.Q.IsReady() && Program.Q.Level > 0)) { Render.Circle.DrawCircle(Program.Player.Position, Program.Q.Range, Menus.GetColor("Leplank.drawing.q")); } if (Menus.GetColorBool("Leplank.drawing.e") && (Program.E.IsReady() && Program.E.Level > 0)) { Render.Circle.DrawCircle(Program.Player.Position, Program.E.Range, Menus.GetColor("Leplank.drawing.e")); } if (Menus.GetColorBool("Leplank.drawing.w") && Program.W.IsReady() && Program.Player.HealthPercent < 95) { float Heal = new int[] { 50, 75, 100, 125, 150 }[Program.W.Level - 1] + (Program.Player.MaxHealth - Program.Player.Health) * 0.15f + Program.Player.FlatMagicDamageMod * 0.9f; float mod = Math.Max(100f, Program.Player.Health + Heal) / Program.Player.MaxHealth; float xPos = (float)((double)Program.Player.HPBarPosition.X + 36 + 103.0 * mod); Drawing.DrawLine( xPos, Program.Player.HPBarPosition.Y + 8, xPos, (float)((double)Program.Player.HPBarPosition.Y + 17), 2f, Menus.GetColor("Leplank.drawing.w")); } if (Menus.GetColorBool("Leplank.drawing.r") && (Program.R.IsReady() && Program.R.Level > 0)) { Render.Circle.DrawCircle(Game.CursorPos, Program.Rzone, Menus.GetColor("Leplank.drawing.r")); if (Program.Player.HasBuff("GangplankRUpgrade2")) { Render.Circle.DrawCircle(Game.CursorPos, Program.RdeathDaughter, Menus.GetColor("Leplank.drawing.r")); } } } else { if (Menus.GetColorBool("Leplank.drawing.q")) { Render.Circle.DrawCircle(Program.Player.Position, Program.Q.Range, Menus.GetColor("Leplank.drawing.q")); } if (Menus.GetColorBool("Leplank.drawing.e")) { Render.Circle.DrawCircle(Program.Player.Position, Program.E.Range, Menus.GetColor("Leplank.drawing.e")); } if (Menus.GetColorBool("Leplank.drawing.w") && Program.Player.HealthPercent < 95) { float Heal = new int[] { 50, 75, 100, 125, 150 }[Program.W.Level - 1] + (Program.Player.MaxHealth - Program.Player.Health) * 0.15f + Program.Player.FlatMagicDamageMod * 0.9f; float mod = Math.Max(100f, Program.Player.Health + Heal) / Program.Player.MaxHealth; float xPos = (float)((double)Program.Player.HPBarPosition.X + 36 + 103.0 * mod); Drawing.DrawLine( xPos, Program.Player.HPBarPosition.Y + 8, xPos, (float)((double)Program.Player.HPBarPosition.Y + 17), 2f, Menus.GetColor("Leplank.drawing.w")); } if (Menus.GetColorBool("Leplank.drawing.r")) { Render.Circle.DrawCircle(Game.CursorPos, Program.Rzone, Menus.GetColor("Leplank.drawing.r")); if (Program.Player.HasBuff("GangplankRUpgrade2")) { Render.Circle.DrawCircle(Game.CursorPos, Program.RdeathDaughter, Menus.GetColor("Leplank.drawing.r")); } } } #endregion SpellsDrawings #region barrelsAssistantTM if (Menus.GetBool("Leplank.assistant.enabled")) { //Draw E zone if (Menus.GetColorBool("Leplank.assistant.DrawEZone") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && !Assisting) { Render.Circle.DrawCircle(Game.CursorPos, Program.Ezone, Menus.GetColor("Leplank.assistant.DrawEZone"), Menus.GetSlider("Leplank.assistant.Thickness")); } //Connection Circle helper if (Menus.GetBool("Leplank.assistant.DrawECircle") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && Game.CursorPos.Distance(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position) <= Program.Econnection + 200 && BarrelsManager.savedBarrels.Count > 0) { Assisting = true; if (BarrelsManager.closestToPosition(Game.CursorPos).barrel.Distance(Game.CursorPos) <= Program.Econnection) { Render.Circle.DrawCircle(Game.CursorPos, Program.Ezone, Color.LawnGreen, Menus.GetSlider("Leplank.assistant.Thickness")); } else { Render.Circle.DrawCircle(Game.CursorPos, Program.Ezone, Color.Red, Menus.GetSlider("Leplank.assistant.Thickness")); } } else { Assisting = false; } //Connection Line helper if (Menus.GetBool("Leplank.assistant.DrawEConnection") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && Game.CursorPos.Distance(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position) <= Program.Econnection + 200 && BarrelsManager.savedBarrels.Count > 0) { Assisting = true; if (BarrelsManager.closestToPosition(Game.CursorPos).barrel.Distance(Game.CursorPos) <= Program.Econnection) { Drawing.DrawLine(Drawing.WorldToScreen(Game.CursorPos), Drawing.WorldToScreen(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position), Menus.GetSlider("Leplank.assistant.Thickness"), Color.LawnGreen); } else { Drawing.DrawLine(Drawing.WorldToScreen(Game.CursorPos), Drawing.WorldToScreen(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position), Menus.GetSlider("Leplank.assistant.Thickness"), Color.Red); } } //E extension if (Menus.GetColorBool("Leplank.assistant.DrawExtended") && Program.Player.Distance(Game.CursorPos) <= Menus.GetSlider("Leplank.assistant.MaxRange") && Game.CursorPos.Distance(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position) <= Program.Econnection + 200 && BarrelsManager.savedBarrels.Count > 0) { Render.Circle.DrawCircle(BarrelsManager.closestToPosition(Game.CursorPos).barrel.Position, Program.Econnection + Program.Ezone, Menus.GetColor("Leplank.assistant.DrawExtended"), Menus.GetSlider("Leplank.assistant.Thickness")); } //Re-draw barrels connections if (Menus.GetColorBool("Leplank.assistant.DrawEBConnection") && BarrelsManager.barrelChains.Count > 0 && BarrelsManager.savedBarrels.Count > 0) { for (int i = 0; i < BarrelsManager.barrelChains.Count; i++) { if (BarrelsManager.barrelChains[i].Count > 1) { for (int k = 0; k < BarrelsManager.barrelChains[i].Count; k++) { Render.Circle.DrawCircle(BarrelsManager.barrelChains[i][k].barrel.Position, Program.Ezone, Menus.GetColor("Leplank.assistant.DrawEBConnection")); } } } } } #endregion barrelsAssistantTM } }
//to rework, fcked up with new common update :( public static void BarrelLord() { #region BarrelLord var enemies = HeroManager.Enemies.Where(e => e.Distance(Program.Player) < Program.E.Range && !e.IsDead).ToList(); var target = TargetSelector.GetTarget(Program.E.Range, TargetSelector.DamageType.Physical); var bar = BarrelsManager.closestToPosition(Program.Player.ServerPosition); if (target == null) { return; } //ok #region R if (Menus.GetBool("Leplank.combo.r") && Program.R.IsReady()) { var rfocus = HeroManager.Enemies.FirstOrDefault(e => e.Health < DamageLib.GetRDamages(e) * 2 && e.Distance(Program.Player) <= 2000 && (e.GetAlliesInRange(850).Count > 0)); if (rfocus != null) { Program.R.CastIfWillHit(rfocus, Menus.GetSlider("Leplank.combo.rmin")); } } #endregion R #region Qks var ksQTarget = HeroManager.Enemies.FirstOrDefault(ks => ks.Health < DamageLib.GetQDamages(ks) && !ks.IsDead); if (ksQTarget != null && Menus.GetBool("Leplank.misc.events.qks")) { if (Program.Q.IsReady() && Program.Q.IsInRange(ksQTarget)) { Program.Q.CastOnUnit(ksQTarget); } } #endregion Qks //itemsok #region items if (Menus.GetBool("Leplank.item.hydra") && target != null && Items.HasItem(3074)) { if (!Orbwalking.CanAttack() && Items.CanUseItem(3074) && Program.Player.Distance(target) < LeagueSharp.Common.Data.ItemData.Ravenous_Hydra_Melee_Only.GetItem().Range) { Utility.DelayAction.Add(30, () => { Items.UseItem(3074); } ); } } if (Menus.GetBool("Leplank.item.tiamat") && target != null && Items.HasItem(3077)) { if (!Orbwalking.CanAttack() && Items.CanUseItem(3077) && Program.Player.Distance(target) < LeagueSharp.Common.Data.ItemData.Tiamat_Melee_Only.GetItem().Range) { Utility.DelayAction.Add(30, () => { Items.UseItem(3077); } ); } } if (Menus.GetBool("Leplank.item.youmuu") && target != null && Items.HasItem(3142)) { if (Items.CanUseItem(3142) && Program.Player.Distance(target) < Program.Player.AttackRange) { Items.UseItem(3142); } } #endregion items if (Program.E.IsReady() && (!BarrelsManager.savedBarrels.Any() || bar.barrel.Distance(Program.Player) > Program.E.Range) && target != null) { if (Menus.GetBool("Leplank.combo.e") && !Menus.GetBool("Leplank.misc.barrelmanager.edisabled")) { Program.E.Cast(Prediction.GetPrediction(target, 1f).CastPosition); } } var coolbar = BarrelsManager.savedBarrels.FirstOrDefault(b => b.barrel.GetEnemiesInRange(Program.EexplosionRange - 20).Count > 0 && b.barrel.Health < 3); if (Menus.GetBool("Leplank.combo.q") && coolbar != null) { if (Program.Q.IsReady() && Program.Q.IsInRange(coolbar.barrel) && target != null) { ExplosionPrediction.castQ(coolbar); } } //aabarrelsok if (Orbwalking.CanAttack() && coolbar != null) { if ((!Program.Q.IsReady() || Menus.GetBool("Leplank.combo.q")) && coolbar.barrel.Distance(Program.Player) <= Program.Player.AttackRange && target != null) { ExplosionPrediction.autoAttack(coolbar); } } var focusbar = BarrelsManager.savedBarrels[BarrelsManager.savedBarrels.Count - 1]; //QE when enemy is in E range & when the nearest barrel is in Q range and can be connected with a barrel where target can be hit if (Program.Q.IsReady() && Program.E.IsReady() && focusbar.barrel.Distance(Program.Player) < Program.Q.Range && target != null && focusbar.barrel.Distance(target) > Program.EexplosionRange) { var pred = Prediction.GetPrediction(target, 1f).CastPosition; if (focusbar.barrel.Distance(pred) <= Program.Econnection && Menus.GetBool("Leplank.combo.e") && Menus.GetBool("Leplank.combo.q") && !Menus.GetBool("Leplank.misc.barrelmanager.edisabled") && focusbar.barrel.Health < 3) { ExplosionPrediction.castQ(BarrelsManager.savedBarrels[BarrelsManager.savedBarrels.Count - 1]); Utility.DelayAction.Add((int)(Program.Q.Delay), () => { Program.E.Cast(BarrelsManager.correctThisPosition(Prediction.GetPrediction(target, 1f).CastPosition.To2D(), focusbar)); } ); } } #region Q on enemy if (Menus.GetBool("Leplank.combo.q") && (Program.E.Instance.Ammo == 0 || !Program.E.IsReady()) && Program.Q.IsReady() && Program.Q.IsInRange(target) && (!BarrelsManager.savedBarrels.Any() || bar.barrel.Distance(Program.Player.ServerPosition) > 1200)) { Program.Q.CastOnUnit(target); } #endregion Q on enemy #region R if (Menus.GetBool("Leplank.combo.r") && Program.R.IsReady() && Menus.GetSlider("Leplank.combo.rmin") == 1) { if (target.HealthPercent < 50) { if (target.IsMoving) { Program.R.Cast(Prediction.GetPrediction(target, 1f).CastPosition); } else { Program.R.Cast(target.Position); } } } #endregion R #endregion BarrelLord }