/// <summary> /// Fired when the game is updated. /// </summary> public void Laneclear() { if (BallPosition == null) { return; } /// <summary> /// The Laneclear W Logic. /// </summary> if (SpellClass.W.Ready && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["laneclear"]) && MenuClass.Spells["w"]["laneclear"].As <MenuSliderBool>().Enabled) { if (Extensions.GetEnemyLaneMinionsTargets().Count(m => m.IsValidTarget(SpellClass.W.Width, false, true, (Vector3)BallPosition)) >= MenuClass.Spells["w"]["customization"]["laneclear"].As <MenuSlider>().Value) { SpellClass.W.Cast(); } } /// <summary> /// The Laneclear E Logic. /// </summary> if (SpellClass.E.Ready && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.Spells["e"]["laneclear"]) && MenuClass.Spells["e"]["laneclear"].As <MenuSliderBool>().Enabled) { var polygon = new Vector2Geometry.Rectangle( (Vector2)UtilityClass.Player.ServerPosition, (Vector2)UtilityClass.Player.ServerPosition.Extend((Vector3)BallPosition, UtilityClass.Player.Distance((Vector3)BallPosition)), SpellClass.E.Width); if (Extensions.GetEnemyLaneMinionsTargets().Count(t => t.IsValidTarget() && !polygon.IsOutside((Vector2)t.ServerPosition)) >= MenuClass.Spells["e"]["customization"]["laneclear"].As <MenuSlider>().Value) { UtilityClass.CastOnUnit(SpellClass.E, UtilityClass.Player); } } /// <summary> /// The Q Farmhelper Logic. /// </summary> if (SpellClass.Q.Ready && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellSlot.Q, MenuClass.Spells["q"]["farmhelper"]) && MenuClass.Spells["q"]["farmhelper"].As <MenuSliderBool>().Enabled) { foreach (var minion in Extensions.GetEnemyLaneMinionsTargetsInRange(SpellClass.Q.Range).Where(m => !m.IsValidTarget(UtilityClass.Player.GetFullAttackRange(m)))) { if (minion.GetRealHealth() < UtilityClass.Player.GetSpellDamage(minion, SpellSlot.Q)) { SpellClass.Q.GetPredictionInput(minion).From = (Vector3)BallPosition; SpellClass.Q.Cast(SpellClass.Q.GetPrediction(minion).CastPosition); } } } /// <summary> /// The Laneclear Q Logic. /// </summary> if (SpellClass.Q.Ready && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["laneclear"]) && MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Enabled) { /* * var farmLocation = SpellClass.Q.GetLinearFarmLocation(Extensions.GetEnemyLaneMinionsTargets(), SpellClass.Q.Width); * if (farmLocation.MinionsHit >= MenuClass.Spells["q"]["customization"]["laneclear"].As<MenuSlider>().Value) * { * SpellClass.Q.Cast(farmLocation.Position); * } */ } }
/// <summary> /// Fired when the game is updated. /// </summary> public void Jungleclear() { if (BallPosition == null) { return; } /// <summary> /// The Jungleclear W Logic. /// </summary> if (SpellClass.W.Ready && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["jungleclear"]) && MenuClass.Spells["w"]["jungleclear"].As <MenuSliderBool>().Enabled) { if (Extensions.GetGenericJungleMinionsTargets().Any(m => m.IsValidTarget(SpellClass.W.Width, false, true, (Vector3)BallPosition))) { SpellClass.W.Cast(); } } var jungleTarget = ObjectManager.Get <Obj_AI_Minion>() .Where(m => Extensions.GetGenericJungleMinionsTargets().Contains(m)) .MinBy(m => m.Distance(UtilityClass.Player)); if (jungleTarget == null || jungleTarget.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(jungleTarget) * 3) { return; } /// <summary> /// The Jungleclear E Logic. /// </summary> if (SpellClass.E.Ready && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.Spells["e"]["jungleclear"]) && MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Enabled) { var polygon = new Vector2Geometry.Rectangle( (Vector2)UtilityClass.Player.ServerPosition, (Vector2)UtilityClass.Player.ServerPosition.Extend((Vector3)BallPosition, UtilityClass.Player.Distance((Vector3)BallPosition)), SpellClass.E.Width); if (!polygon.IsOutside((Vector2)jungleTarget.ServerPosition)) { UtilityClass.CastOnUnit(SpellClass.E, UtilityClass.Player); } } /// <summary> /// The Jungleclear Q Logic. /// </summary> if (SpellClass.Q.Ready && jungleTarget.IsValidTarget(SpellClass.Q.Range) && UtilityClass.Player.ManaPercent() > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["jungleclear"]) && MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Enabled) { SpellClass.Q.GetPredictionInput(jungleTarget).From = (Vector3)BallPosition; SpellClass.Q.Cast(SpellClass.Q.GetPrediction(jungleTarget).CastPosition); } }