private static void LaneClear() { if (ObjectManager.Player.ManaPercent < main_menu["taliyah.laneclear"]["taliyah.laneclear.manaperc"].GetValue <MenuSlider>().Value) { return; } if (main_menu["taliyah.laneclear"]["taliyah.laneclear.useq"].GetValue <MenuBool>().Value&& Q.IsReady()) { var farm = Q.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < Q.Range).ToList()); if (farm.MinionsHit >= main_menu["taliyah.laneclear"]["taliyah.laneclear.minq"].GetValue <MenuSlider>().Value) { Q.Cast(farm.Position); } } if (main_menu["taliyah.laneclear"]["taliyah.laneclear.useew"].GetValue <MenuBool>().Value&& W.IsReady() && E.IsReady()) { var farm = W.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < W.Range).ToList()); if (farm.MinionsHit >= main_menu["taliyah.laneclear"]["taliyah.laneclear.minew"].GetValue <MenuSlider>().Value) { E.Cast(farm.Position); lastE = ObjectManager.Player.ServerPosition; if (W.Instance.Name == "TaliyahW") { W.Cast(farm.Position, lastE.ToVector2()); } } } }
private static void LaneClear() { if (ObjectManager.Player.ManaPercent < getSliderItem(laneclearMenu, "taliyah.laneclear.manaperc")) { return; } if (getCheckBoxItem(laneclearMenu, "taliyah.laneclear.useq") && Q.IsReady()) { var farm = Q.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < Q.Range).ToList()); if (farm.MinionsHit >= getSliderItem(laneclearMenu, "taliyah.laneclear.minq")) { Q.Cast(farm.Position); } } if (getCheckBoxItem(laneclearMenu, "taliyah.laneclear.useew") && W.IsReady() && E.IsReady()) { var farm = W.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < W.Range).ToList()); if (farm.MinionsHit >= getSliderItem(laneclearMenu, "taliyah.laneclear.minew")) { E.Cast(farm.Position); lastE = ObjectManager.Player.ServerPosition; if (W.Instance.Name == "TaliyahW") { W.Cast(farm.Position); } DelayAction.Add(250, () => ObjectManager.Player.Spellbook.CastSpell(SpellSlot.W, lastE, false)); } } }
public static void SmartCast(this LeagueSharp.SDK.Spell spell, Obj_AI_Base target = null, HitChance hitchance = HitChance.Medium, int minimunHits = 0) { if (target == null) { return; } if (!spell.CanCast(target)) { return; } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (spell.IsSkillshot) { if (spell.Collision) { if (Me.CountEnemyHeroesInRange(spell.Range) <= (minimunHits == 0 ? 2 : minimunHits)) { spell.CastOnBestTarget(0f, true); return; } if (Me.CountEnemyHeroesInRange(spell.Range) >= (minimunHits == 0 ? 2 : minimunHits)) { spell.CastOnBestTarget(0f, true, 1); return; } } else { spell.CastIfHitchanceMinimum(target, hitchance); return; } } else { spell.CastOnUnit(target); return; } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear)) { if (spell.Collision) { spell.CastIfHitchanceMinimum(target, HitChance.Low); return; } else { var minions = GameObjects.EnemyMinions.Where(m => m.LSIsValidTarget()) .OrderBy(m => m.Distance(target)) .ThenBy(m => m.Health) .ToList(); if (minions != null) { switch (spell.Type) { case SkillshotType.SkillshotLine: var posLine = spell.GetLineFarmLocation(minions); if (posLine.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits)) { spell.Cast(posLine.Position); return; } break; case SkillshotType.SkillshotCircle: var posCircle = spell.GetCircularFarmLocation(minions); if (posCircle.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits)) { spell.Cast(posCircle.Position); return; } break; case SkillshotType.SkillshotCone: var posCone = spell.GetLineFarmLocation(minions, spell.Width); if (posCone.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits)) { spell.Cast(posCone.Position); return; } break; } } spell.CastIfHitchanceMinimum(target, HitChance.Medium); } } else { spell.CastOnUnit(target); } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit)) { if (spell.IsSkillshot) { spell.CastIfHitchanceMinimum(target, HitChance.Low); return; } spell.CastOnUnit(target); } }