/// <summary> /// Triggers when there is a valid unkillable minion around. /// </summary> /// <param name="minion">The unkillable minion.</param> public static void OnNonKillableMinion(AttackableUnit minion) { if (Variables.E.IsReady() && !ObjectManager.Player.IsDashing() && ((Obj_AI_Minion)minion).Health < KillSteal.GetPerfectRendDamage((Obj_AI_Minion)minion) && Variables.Menu.Item($"{Variables.MainMenuName}.espell.helper").IsActive()) { Variables.E.Cast(); } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> public static void ExecuteFarm(EventArgs args) { /// <summary> /// The Q Farm Logic. /// </summary> if (Variables.Q.IsReady() && ObjectManager.Player.ManaPercent > ManaManager.NeededQMana && Targets.Minions.Count(m => m.Health < Variables.Q.GetDamage(m)) >= 3 && Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && Variables.Q.GetLineFarmLocation(Targets.Minions, Variables.Q.Width).MinionsHit >= 3 && Variables.Menu.Item($"{Variables.MainMenuName}.qspell.farm").IsActive()) { Variables.Q.Cast(Variables.Q.GetLineFarmLocation(Targets.Minions, Variables.Q.Width).Position); } /// <summary> /// The E Farm Logic. /// </summary> if (Variables.E.IsReady() && Targets.Minions.Count(x => Bools.IsPerfectRendTarget(x) && x.Health < KillSteal.GetPerfectRendDamage(x)) >= 2 && ObjectManager.Player.ManaPercent > ManaManager.NeededEMana && Variables.Menu.Item($"{Variables.MainMenuName}.espell.farm").IsActive()) { Variables.E.Cast(); } /// <summary> /// The E against Monsters Logic. /// </summary> if (Variables.E.IsReady() && GameObjects.Jungle.Any(m => Bools.IsPerfectRendTarget(m) && m.Health < KillSteal.GetPerfectRendDamage(m) && (!m.CharData.BaseSkinName.Contains("Mini") || m.CharData.BaseSkinName.Contains("Crab"))) && Variables.Menu.Item($"{Variables.MainMenuName}.espell.jgc").IsActive()) { Variables.E.Cast(); } }
/// <summary> /// Called when the game updates itself. /// </summary> /// <param name="args">The <see cref="EventArgs"/> instance containing the event data.</param> public static void ExecuteAuto(EventArgs args) { /// <summary> /// The Q KillSteal Logic, /// The Q Immobile Harass Logic. /// </summary> if (Variables.Q.IsReady() && ObjectManager.Player.IsWindingUp && Targets.Target.IsValidTarget(Variables.Q.Range) && ((Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && Variables.Menu.Item($"{Variables.MainMenuName}.qspell.combo").IsActive()) || (Targets.Target.Health < Variables.Q.GetDamage(Targets.Target) && Variables.Menu.Item($"{Variables.MainMenuName}.qspell.ks").IsActive()) || (Bools.IsImmobile(Targets.Target) && Variables.Menu.Item($"{Variables.MainMenuName}.qspell.immobile").IsActive()))) { Variables.Q.SPredictionCast(Targets.Target, HitChance.Low); } /// <summary> /// The W Logic. /// </summary> if (Variables.W.IsReady() && !ObjectManager.Player.IsWindingUp && !ObjectManager.Player.IsRecalling() && ObjectManager.Player.CountEnemiesInRange(1500) == 0 && ObjectManager.Player.ManaPercent > ManaManager.NeededWMana && Variables.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None && Variables.Menu.Item($"{Variables.MainMenuName}.wspell.auto").IsActive()) { if (Variables.Locations .Any(h => ObjectManager.Player.Distance(h) < Variables.W.Range)) { Variables.W.Cast( Variables.Locations .OrderBy(d => ObjectManager.Player.Distance(d)) .FirstOrDefault() ); } } /// <summary> /// The E before Dying Logic. /// </summary> if (Variables.E.IsReady() && HealthPrediction.GetHealthPrediction(ObjectManager.Player, (int)(250 + Game.Ping / 2f)) <= 0 && Variables.Menu.Item($"{Variables.MainMenuName}.espell.death").IsActive()) { Variables.E.Cast(); } /// <summary> /// The E Combo Logic. /// </summary> if (Variables.E.IsReady() && HeroManager.Enemies.Any(h => Bools.IsPerfectRendTarget(h) && h.Health < KillSteal.GetPerfectRendDamage(h)) && Variables.Menu.Item($"{Variables.MainMenuName}.espell.combo").IsActive()) { Variables.E.Cast(); } /// <summary> /// The E Harass Logic. /// </summary> if (Variables.E.IsReady() && Targets.Minions.Any(h => Bools.IsPerfectRendTarget(h) && h.Health < KillSteal.GetPerfectRendDamage(h)) && (Targets.HarassableTargets.Count() > 1 || (Targets.HarassableTargets.Count() == 1 && Variables.Menu.Item($"{Variables.MainMenuName}.espell.whitelist.{(Targets.HarassableTargets.FirstOrDefault()).ChampionName.ToLower()}").IsActive())) && ObjectManager.Player.ManaPercent > ManaManager.NeededEMana && Variables.Menu.Item($"{Variables.MainMenuName}.espell.harass").IsActive()) { Variables.E.Cast(); } /// <summary> /// The R Lifesaver Logic. /// </summary> if (Variables.R.IsReady() && Variables.SoulBound != null && Variables.SoulBound.CountEnemiesInRange(800) > 0 && Variables.SoulBound.IsValidTarget(Variables.R.Range, false) && HealthPrediction.GetHealthPrediction(Variables.SoulBound, (int)(1500 + Game.Ping / 2f)) <= 0 && Variables.Menu.Item($"{Variables.MainMenuName}.rsettings.userlifesaver").IsActive()) { Variables.R.Cast(); } }