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)); } } }
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)); } } }