public override void LaneClear() { if (IsCastingR) { return; } var Qready = LaneClearMenu.checkbox("Q") && Q.Mana(LaneClearMenu) && Q.IsReady(); var Wready = LaneClearMenu.checkbox("W") && W.Mana(LaneClearMenu) && W.IsReady(); var Eready = LaneClearMenu.checkbox("E") && E.Mana(LaneClearMenu) && E.IsReady(); if (Wready) { var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsKillable() && m.IsKillable(W.Range)); if (minions != null) { var location = Prediction.Position.PredictCircularMissileAoe(minions.Cast <Obj_AI_Base>().ToArray(), W.Range, W.Radius + 100, W.CastDelay, W.Speed) .OrderByDescending(r => r.GetCollisionObjects <Obj_AI_Minion>().Length) .FirstOrDefault(); if (location != null && location.CollisionObjects.Length >= 2) { W.Cast(location.CastPosition); } } } if (Qready) { var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsKillable() && m.IsKillable(Q.Range + 50)); if (minions != null) { var location = Prediction.Position.PredictCircularMissileAoe(minions.Cast <Obj_AI_Base>().ToArray(), Q.Range, Q.Radius + 50, Q.CastDelay, Q.Speed) .OrderByDescending(r => r.GetCollisionObjects <Obj_AI_Minion>().Length) .FirstOrDefault(); if (location != null && location.CollisionObjects.Length >= 2) { Q.Cast(location.CastPosition); } } } if (Eready) { var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsKillable() && m.IsKillable(E.Range)); if (minions != null) { foreach (var minion in minions.Where(minion => E.GetDamage(minion) >= minion?.TotalShield())) { E.Cast(minion); } } } }
public static void Orbwalker_OnUnkillableMinion(Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args) { if (!Common.orbmode(Orbwalker.ActiveModes.LaneClear) || !Common.orbmode(Orbwalker.ActiveModes.LastHit) || target == null) { return; } var useQ = LaneClearMenu.checkbox(Q.Slot.ToString()) && Q.IsReady() && target.IsKillable(Q.Range) && Q.GetDamage(target) > Prediction.Health.GetPrediction(target, Q.CastDelay); if (useQ) { Q.Cast(target); } }
private static void Orbwalker_OnUnkillableMinion(Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args) { if (target == null || !Common.orbmode(Orbwalker.ActiveModes.LaneClear)) { return; } var Eready = LaneClearMenu.checkbox("E") && E.IsReady() && target.IsKillable(E.Range) && E.Mana(LaneClearMenu); if (Eready && E.GetDamage(target) >= Prediction.Health.GetPrediction(target, E.CastDelay)) { E.Cast(target); } }
private static void Orbwalker_OnUnkillableMinion(Obj_AI_Base target, Orbwalker.UnkillableMinionArgs args) { if (target == null) { return; } if (Common.orbmode(Orbwalker.ActiveModes.LaneClear)) { var Eready = LaneClearMenu.checkbox("E") && E.IsReady(); if (Eready && E.GetDamage(target) >= args.RemainingHealth) { E.Cast(target); } } }
public override void LaneClear() { var useQ = LaneClearMenu.checkbox(Q.Slot.ToString()) && Q.IsReady() && Q.Mana(LaneClearMenu); var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsKillable(Q.Range)); if (!useQ || minions == null) { return; } foreach (var minion in minions) { if (minion.CountEnemyMinions(180) > 2) { Q.Cast(minion); } } }
public override void LaneClear() { var Etarget = EntityManager.MinionsAndMonsters.EnemyMinions.FirstOrDefault(m => m.IsKillable(user.GetAutoAttackRange()) && m.Buffs.Any(buff => buff.Name == "KindredERefresher")); if (Etarget != null) { Orbwalker.ForcedTarget = Etarget; } if (Orbwalker.IsAutoAttacking) { return; } var useQ = LaneClearMenu.checkbox(Q.Slot.ToString()) && Q.IsReady() && Q.Mana(LaneClearMenu); var useW = LaneClearMenu.checkbox(W.Slot.ToString()) && W.IsReady() && W.Mana(LaneClearMenu); var useE = LaneClearMenu.checkbox(E.Slot.ToString()) && E.IsReady() && E.Mana(LaneClearMenu); var minions = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m.IsKillable()); foreach (var minion in minions) { var aakill = user.GetAutoAttackDamage(minion) > Prediction.Health.GetPrediction(minion, (int)user.AttackDelay); if (useQ && minion.CountEnemyMinions(400) >= 2) { Q.Cast(minion); } if (useE && !aakill && E.GetDamage(minion) > Prediction.Health.GetPrediction(minion, 1000)) { E.Cast(minion); } if (useW && user.CountEnemyMinions(W.Range) > 2 && W.Handle.ToggleState != 2) { W.Cast(); } } }
public override void LaneClear() { var useQ = LaneClearMenu.checkbox("Q") && Q.IsReady() && Q.Mana(LaneClearMenu); var useW = LaneClearMenu.checkbox("W") && W.IsReady() && W.Mana(LaneClearMenu); var useE = LaneClearMenu.checkbox("E") && E.IsReady() && E.Mana(LaneClearMenu); var allMinionsQ = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsKillable(Q.MaximumRange)); var allMinionsW = EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsKillable(W.Range)); var objAiMinionsQ = allMinionsQ as Obj_AI_Minion[] ?? allMinionsQ.ToArray(); if (useQ && allMinionsQ != null) { var Qpos = EntityManager.MinionsAndMonsters.GetLineFarmLocation(objAiMinionsQ.ToArray(), Q.Width, (int)Q.MaximumRange); var useQi = LaneClearMenu.combobox(Q.Slot + "mode"); if (useQi == 0 || useQi == 2) { if (Q.IsCharging) { var locQ = Qpos.CastPosition; if (Qpos.HitNumber >= 1) { Q.Cast(locQ); } } else if (Qpos.HitNumber > 0) { Q.StartCharging(); } } if (useQi == 1 || useQi == 2) { var minion = objAiMinionsQ.FirstOrDefault(m => Q.GetDamage(m) >= Prediction.Health.GetPrediction(m, Q.CastDelay)); if (Q.IsCharging && minion != null) { Q.Cast(minion); } else if (minion != null) { Q.StartCharging(); } } } if (useW && allMinionsW != null) { var objAiMinions = allMinionsW as Obj_AI_Minion[] ?? allMinionsW.ToArray(); var Wpos = EntityManager.MinionsAndMonsters.GetCircularFarmLocation(objAiMinions.ToArray(), W.Width, (int)W.Range, W.CastDelay, W.Speed); var useWi = LaneClearMenu.combobox(W.Slot + "mode"); if (useWi == 0 || useWi == 2) { var locW = Wpos.CastPosition; if (Wpos.HitNumber >= 1) { W.Cast(locW); } } if (useWi == 1 || useWi == 2) { var minion = objAiMinions.FirstOrDefault(m => W.GetDamage(m) >= Prediction.Health.GetPrediction(m, W.CastDelay)); if (minion != null) { W.Cast(minion); } } } if (useE) { var useEi = LaneClearMenu.combobox(E.Slot + "mode"); foreach (var minion in EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsKillable(E.Range))) { if (minion != null && (useEi == 0 || useEi == 2)) { E.Cast(minion); } if (minion != null && (useEi == 1 || useEi == 2)) { if (E.GetDamage(minion) >= Prediction.Health.GetPrediction(minion, E.CastDelay)) { E.Cast(minion); } } } } }