Beispiel #1
0
        public static void DoHarass()
        {
            var q = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var e = HarassMenu.GetCheckbox("useE") && E.IsReady();

            AIHeroClient target;
            {
                if (q)
                {
                    target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                    if (target != null)
                    {
                        Q.CastOnUnit(target);
                    }
                }

                if (e)
                {
                    target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                    if (ObjectManager.Player.CountEnemiesInRange(600f) >= 1)
                    {
                        E.StartCharging();
                    }
                }
            }
        }
Beispiel #2
0
        public static void DoHarass()
        {
            var q = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var w = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var e = HarassMenu.GetCheckbox("useE") && E.IsReady();



            if (q && !Main._isUlting)
            {
                var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                if (target != null)
                {
                    Q.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                }
            }
            if (w && !Main._isUlting)
            {
                var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);
                if (target != null)
                {
                    W.Cast(target);
                }
            }
            if (e && !Main._isUlting)
            {
                var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                if (target != null)
                {
                    E.Cast(target);
                }
            }
        }
Beispiel #3
0
        public static void DoHarass()
        {
            var          q = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var          w = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var          e = HarassMenu.GetCheckbox("useE") && E.IsReady();
            var          r = HarassMenu.GetCheckbox("useR") && R.IsReady();
            AIHeroClient target;

            if (w)
            {
                target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (ObjectManager.Player.CountEnemiesInRange(300f) >= 1)
                {
                    W.Cast();
                }
            }
            if (e)
            {
                target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (target != null && (target.Distance(ObjectManager.Me) > HarassMenu.Get <MenuSlider>("rangeE").CurrentValue))

                {
                    E.CastOnUnit(target);
                }
            }
            if (r)
            {
                target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Physical);
                if (ObjectManager.Player.CountEnemiesInRange(500f) >= HarassMenu.Get <MenuSlider>("enemiesR").CurrentValue)
                {
                    R.Cast();
                }
            }
        }
Beispiel #4
0
        public static void DoHarass()
        {
            var q = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var w = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var e = HarassMenu.GetCheckbox("useE") && E.IsReady();

            var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (e)
            {
                target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                if (target != null)
                {
                    Chat.Print("Casting E");
                    E.CastIfHitchanceEquals(target, HitChance.High);
                }
            }

            if (w)
            {
                target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical);
                if (ObjectManager.Player.CountEnemiesInRange(325f) >= 1)
                {
                    W.Cast();
                }
            }
        }
Beispiel #5
0
        public static void DoHarass()
        {
            var          q  = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var          e  = HarassMenu.GetCheckbox("useE") && E.IsReady();
            var          r  = HarassMenu.GetCheckbox("useR") && R.IsReady();
            var          rc = MiscMenu.GetCheckbox("useRafterQ") && R.IsReady();
            AIHeroClient target;

            if (q)
            {
                target = TargetSelector.GetTarget(QMenu.GetSlider("rangeQ"), TargetSelector.DamageType.Magical);
                if (MiscMenu.GetCheckbox("useDP"))
                {
                    var location = LinearPrediction(ObjectManager.Player.Position, Q, (AIHeroClient)target);
                    if (target != null && (target.Distance(ObjectManager.Me) > QMenu.GetSlider("minQ")) && !QMenu.GetCheckbox("blq" + target.ChampionName) && !Functions.HasSpellShield(target) && location != DarkPrediction.empt && !DarkPrediction.CollisionChecker(location, ObjectManager.Me.Position, Q))
                    {
                        Q.Cast(location);
                    }
                }
                else
                {
                    if (target != null && (target.Distance(ObjectManager.Me) > QMenu.GetSlider("minQ")) && !QMenu.GetCheckbox("blq" + target.ChampionName) && !Functions.HasSpellShield(target))
                    {
                        Q.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                    }
                }
            }
            if (r)
            {
                target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                if (target != null && !Functions.HasSpellShield(target))
                {
                    if (ObjectManager.Player.CountEnemiesInRange(500f) > HarassMenu.GetSlider("minR"))
                    {
                        R.Cast();
                    }
                }
            }
            if (rc)
            {
                target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                if (target != null && !Functions.HasSpellShield(target) && target.HasBuff("rocketgrab2"))
                {
                    R.Cast();
                }
            }
            if (e)
            {
                target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (target != null && !Functions.HasSpellShield(target))
                {
                    E.Cast();
                    Orbwalker.ResetAutoAttackTimer();
                }
            }
        }
Beispiel #6
0
        public static void DoHarass()
        {
            var q        = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var w        = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var w2       = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var e        = HarassMenu.GetCheckbox("useE") && E.IsReady();
            var nodivesE = HarassMenu.GetCheckbox("nodiveE");

            foreach (var target in ObjectManager.Heroes.Enemies.Where(k => k.IsValidTarget(E.Range + 325) && !k.IsDead && !k.IsZombie))
            {
                if (e)
                {
                    if (Main.WArea != null && Main.WArea.Position.CountEnemiesInRange(200) > 0 && Main.WArea.Position.Distance(ObjectManager.Player.ServerPosition) < E.Range)
                    {
                        E.Cast(Main.WArea.Position);
                    }
                    if (nodivesE && ObjectManager.Player.Distance(target.Position) >= 175)
                    {
                        if (!target.IsUnderEnemyTurret())
                        {
                            E.Cast(target.Position);
                            Orbwalker.ResetAutoAttackTimer();
                            Core.DelayAction(() => ObjectManager.Player.IssueOrder(HesaEngine.SDK.Enums.GameObjectOrder.AttackUnit, target), 100);
                        }
                    }
                    if (!nodivesE && ObjectManager.Player.Distance(target.Position) >= 175)
                    {
                        E.Cast(target.Position);
                        Orbwalker.ResetAutoAttackTimer();
                        Core.DelayAction(() => ObjectManager.Player.IssueOrder(HesaEngine.SDK.Enums.GameObjectOrder.AttackUnit, target), 100);
                    }
                }
            }


            foreach (var target in ObjectManager.Heroes.Enemies.Where(s => s.IsValidTarget(W.Range) && !s.IsDead && !s.IsZombie))
            {
                if (q)
                {
                    Q.CastIfHitchanceEquals(target, HitChance.Low);
                }

                if (w || w2)
                {
                    if (HarassMenu.GetCheckbox("useW2"))
                    {
                        W.Cast(target.Position);
                    }
                    else
                    {
                        W.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                    }
                }
            }
        }
Beispiel #7
0
        public static void DoHarass()
        {
            var q = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var w = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var e = HarassMenu.GetCheckbox("useE") && E.IsReady();
            var r = HarassMenu.GetCheckbox("useR") && R.IsReady();

            var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (w)
            {
                W.CastIfHitchanceEquals(target, HitChance.Medium);
            }
        }
Beispiel #8
0
        private static void Game_OnTick()
        {
            var mana = Me.ManaPercent;

            if (HarassMenu.GetCheckbox("autoE") && mana >= HarassMenu.GetSlider("mana"))
            {
                if (E.IsReady() && !Main._isUlting)
                {
                    var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                    if (target != null)
                    {
                        E.Cast(target);
                    }
                }
            }

            if (KillstealMenu.GetCheckbox("enable"))
            {
                Killsteal.DoKs();
            }

            if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.Combo && mana >= ComboMenu.GetSlider("mana"))
            {
                Combo.DoCombo();
            }

            if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.Harass && mana >= HarassMenu.GetSlider("mana"))
            {
                Harass.DoHarass();
            }

            if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.LaneClear && mana >= LaneclearMenu.GetSlider("mana"))
            {
                LaneClear.DoLaneClear();
            }


            //This is a basic fix, due to OnLevelUp being disabled
            if (_currentLevel == Player.Level)
            {
                return;
            }
            Leveler();
            _currentLevel = Player.Level;
        }
Beispiel #9
0
		public static void Before_Attack(BeforeAttackEventArgs ArgsTarget)
		{
			if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.Combo) && ComboMenu.GetCheckbox("useW"))
			{
				W.Cast();
			}
			if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.Harass) && HarassMenu.GetCheckbox("useW"))
			{
				W.Cast();
			}
			if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.LaneClear) && LaneclearMenu.GetCheckbox("useW"))
			{
				W.Cast();
			}
			if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.JungleClear) && JungleclearMenu.GetCheckbox("useW"))
			{
				W.Cast();
			}
		}
Beispiel #10
0
		private static void Game_OnTick()
        {
            var mana = Me.ManaPercent;

			if (HarassMenu.GetCheckbox("autoE") && ObjectManager.Me.HealthPercent > HarassMenu.GetSlider("minE") && mana >= HarassMenu.GetSlider("mana"))
			{
				if (E.IsReady())
				{
					var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
					if (target != null)
					{
						E.CastOnUnit(target);
					}
				}
			}

			if (KillstealMenu.GetCheckbox("enable"))
               Killsteal.DoKs();

            if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.Combo && mana >= ComboMenu.GetSlider("mana"))
                Combo.DoCombo();

            if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.Harass && mana >= HarassMenu.GetSlider("mana"))
                Harass.DoHarass();

            if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.LaneClear && mana >= LaneclearMenu.GetSlider("mana"))
                LaneClear.DoLaneClear();

			if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.JungleClear && mana >= JungleclearMenu.GetSlider("mana"))
				JungleClear.DoJungleClear();

			if (Orb.ActiveMode == Orbwalker.OrbwalkingMode.LastHit && mana >= LasthitMenu.GetSlider("mana"))
				LastHit.DoLastHit();


			//This is a basic fix, due to OnLevelUp being disabled
			if (_currentLevel == Player.Level) return;
            Leveler();
            _currentLevel = Player.Level;
        }
Beispiel #11
0
        public static void DoHarass()
        {
            var q = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var e = HarassMenu.GetCheckbox("useE") && E.IsReady();

            if (q)
            {
                var target   = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                var location = LinearPrediction(ObjectManager.Player.Position, Q, (AIHeroClient)target);
                if (target != null && (target.Distance(ObjectManager.Me) < HarassMenu.GetSlider("maxQ")) && location != DarkPrediction.empt)
                {
                    Q.Cast(location);
                }
            }
            if (e)
            {
                var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical);
                if (target != null && ObjectManager.Me.HealthPercent > HarassMenu.GetSlider("minE"))
                {
                    E.CastOnUnit(target);
                }
            }
        }
Beispiel #12
0
        private static void AfterAttack(AttackableUnit sender, AttackableUnit ArgsTarget)
        {
            var ttarget      = TargetSelector.GetTarget(385);
            var rtarget      = TargetSelector.GetTarget(385);
            var tiamattarget = TargetSelector.GetTarget(385);

            THydra = new Item(3748, 385);
            RHydra = new Item(3074, 385);
            Tiamat = new Item(3077, 385);
            if (!sender.IsMe || ObjectManager.Me.IsDead)
            {
                return;
            }

            if (ArgsTarget == null || ArgsTarget.IsDead || ArgsTarget.Health <= 0)
            {
                return;
            }

            if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.Combo))
            {
                var target = ArgsTarget as AIHeroClient;

                if (target != null && !target.IsDead)
                {
                    if (ComboMenu.GetCheckbox("useQ"))
                    {
                        if (Q.IsReady() && target.Distance(ObjectManager.Me) < 280)
                        {
                            Q.Cast();
                            Orbwalker.ResetAutoAttackTimer();
                        }
                        if (!Q.IsReady() && target.Distance(ObjectManager.Me) < 300)
                        {
                            if (THydra.IsOwned() && THydra.IsReady())
                            {
                                THydra.Cast(ttarget);
                            }
                            if (RHydra.IsOwned() && RHydra.IsReady())
                            {
                                RHydra.Cast(rtarget);
                            }
                            if (Tiamat.IsOwned() && Tiamat.IsReady())
                            {
                                Tiamat.Cast(tiamattarget);
                            }
                        }
                    }
                }
            }
            if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.Harass))
            {
                var target = ArgsTarget as AIHeroClient;

                if (target != null && !target.IsDead)
                {
                    if (HarassMenu.GetCheckbox("useQ"))
                    {
                        if (Q.IsReady() && target.Distance(ObjectManager.Me) < 280)
                        {
                            Q.Cast();
                            Orbwalker.ResetAutoAttackTimer();
                        }
                        if (!Q.IsReady() && target.Distance(ObjectManager.Me) < 300)
                        {
                            if (THydra.IsOwned() && THydra.IsReady())
                            {
                                THydra.Cast(ttarget);
                            }
                            if (RHydra.IsOwned() && RHydra.IsReady())
                            {
                                RHydra.Cast(rtarget);
                            }
                            if (Tiamat.IsOwned() && Tiamat.IsReady())
                            {
                                Tiamat.Cast(tiamattarget);
                            }
                        }
                    }
                }
            }
            if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.LaneClear))
            {
                var target = ArgsTarget as Obj_AI_Minion;

                if (target != null && !target.IsDead)
                {
                    if (LaneclearMenu.GetCheckbox("useQ"))
                    {
                        if (Q.IsReady() && target.Distance(ObjectManager.Me) < 280)
                        {
                            Q.Cast();
                            Orbwalker.ResetAutoAttackTimer();
                        }
                        if (!Q.IsReady() && target.Distance(ObjectManager.Me) < 300)
                        {
                            if (THydra.IsOwned() && THydra.IsReady())
                            {
                                THydra.Cast(ttarget);
                            }
                            if (RHydra.IsOwned() && RHydra.IsReady())
                            {
                                RHydra.Cast(rtarget);
                            }
                            if (Tiamat.IsOwned() && Tiamat.IsReady())
                            {
                                Tiamat.Cast(tiamattarget);
                            }
                        }
                    }
                }
            }
            if (Orb.ActiveMode.Equals(Orbwalker.OrbwalkingMode.JungleClear))
            {
                var target = ArgsTarget as Obj_AI_Minion;

                if (target != null && !target.IsDead)
                {
                    if (JungleclearMenu.GetCheckbox("useQ"))
                    {
                        if (Q.IsReady() && target.Distance(ObjectManager.Me) < 280)
                        {
                            Q.Cast();
                            Orbwalker.ResetAutoAttackTimer();
                        }
                        if (!Q.IsReady() && target.Distance(ObjectManager.Me) < 300)
                        {
                            if (THydra.IsOwned() && THydra.IsReady())
                            {
                                THydra.Cast(ttarget);
                            }
                            if (RHydra.IsOwned() && RHydra.IsReady())
                            {
                                RHydra.Cast(rtarget);
                            }
                            if (Tiamat.IsOwned() && Tiamat.IsReady())
                            {
                                Tiamat.Cast(tiamattarget);
                            }
                        }
                    }
                }
            }
        }
Beispiel #13
0
        public static void DoHarass()
        {
            var          q      = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var          w      = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var          eq     = HarassMenu.GetCheckbox("useEQ") && E.IsReady() && Q.IsReady();
            var          e      = HarassMenu.GetCheckbox("useE") && E.IsReady();
            AIHeroClient target = null;

            if (q)
            {
                target = TargetSelector.GetTarget(Q.Range);
                var qpos = DarkPrediction.CirclerPrediction(Q, (AIHeroClient)target, 1);
                if (qpos != DarkPrediction.empt && qpos.Distance(ObjectManager.Player) <= Q.Range)
                {
                    Q.Cast(qpos);
                }
            }

            if (eq)
            {
                target = TargetSelector.GetTarget(EQ.Range);
                if (!Functions.HasSpellShield(target))
                {
                    Vector3 Qpos = DarkPrediction.LinearPrediction(ObjectManager.Player.Position, EQ, (AIHeroClient)target);
                    if (Qpos != DarkPrediction.empt && Qpos.Distance(ObjectManager.Player) <= EQ.Range)
                    {
                        if (ObjectManager.Player.Distance(Qpos) <= Q.Range)
                        {
                            Q.Cast(Qpos);
                            Main.DoEQ = true;
                        }
                        else
                        {
                            Qpos = ObjectManager.Player.Position.Extend(Qpos, Q.Range);
                            Q.Cast(Qpos);
                            Main.DoEQ = true;
                        }
                    }
                }
            }

            if (w && !Main.waitW)
            {
                target = TargetSelector.GetTarget(W.Range);
                if (target.IsValidTarget(W.Range))
                {
                    var wpos = DarkPrediction.LinearPrediction(ObjectManager.Player.ServerPosition, W, (AIHeroClient)target);
                    if (wpos != DarkPrediction.empt && wpos.Distance(ObjectManager.Player) <= W.Range)
                    {
                        if (W.Instance.ToggleState == 1)                                                                                                                                                 // Not holding
                        {
                            var wball   = Main.MyBalls.Find(ball => ball.Distance(ObjectManager.Player) < W.Range - 25);                                                                                 // Look for ball
                            var wminion = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range - 25, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).FirstOrDefault(); //Look for minion
                            if (wball != null && !wball.IsMoving)
                            {
                                W.Cast(wball);
                            }
                            else if (wminion != null)
                            {
                                W.Cast(wminion);
                                //W.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                            }
                        }
                        else                         //holding
                        {
                            //W.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                            W.Cast(DarkPrediction.LinearPrediction(ObjectManager.Player.ServerPosition, W, (AIHeroClient)target));
                        }
                    }
                }
            }

            if (e && !Main.DoEQ)
            {
                target = TargetSelector.GetTarget(Eex.Range);
                if (!Functions.HasSpellShield(target))
                {
                    var ePred   = Eex.GetPrediction(target);
                    var DPePred = DarkPrediction.LinearPrediction(ObjectManager.Player.Position, Eex, (AIHeroClient)target);
                    if (DPePred != DarkPrediction.empt && DPePred.Distance(ObjectManager.Player) <= Eex.Range)
                    {
                        var playerToCP = ObjectManager.Player.Distance(DPePred);
                        foreach (var eball in Main.MyBalls.Where(ball => ball.Position.Distance(ObjectManager.Player) < E.Range))
                        {
                            var ballFinalPos = ObjectManager.Player.ServerPosition.Extend(eball.Position, playerToCP);
                            if (ballFinalPos.Distance(DPePred) < 50)
                            {
                                E.Cast(eball.Position);
                            }
                        }
                    }
                }
            }
        }
Beispiel #14
0
        public static void DoHarass()
        {
            var q  = HarassMenu.GetCheckbox("useQ") && Q.IsReady();
            var w  = HarassMenu.GetCheckbox("useW") && W.IsReady();
            var eq = HarassMenu.GetCheckbox("useEQ") && E.IsReady() && Q.IsReady();
            var e  = HarassMenu.GetCheckbox("useE") && E.IsReady();


            foreach (var target in ObjectManager.Heroes.Enemies.Where(k => k.IsValidTarget(Q.Range) && !k.IsDead && !k.IsZombie))
            {
                if (q)
                {
                    Q.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                    //Chat.Print((Main.MyBalls.Count() + 3) * R.GetDamage(target)/3);
                }
            }

            foreach (var target in ObjectManager.Heroes.Enemies.Where(k => k.IsValidTarget(EQ.Range) && !k.IsDead && !k.IsZombie))
            {
                if (eq && !Functions.HasSpellShield(target))
                {
                    var     pred = EQ.GetPrediction(target);
                    Vector3 Qpos = pred.CastPosition;
                    if (ObjectManager.Player.Distance(Qpos) <= Q.Range)
                    {
                        Q.Cast(Qpos);
                        Main.DoEQ = true;
                    }
                    else
                    {
                        Qpos = ObjectManager.Player.Position.Extend(Qpos, Q.Range);
                        Q.Cast(Qpos);
                        Main.DoEQ = true;
                    }
                }
                //else if (e && !q && !Functions.HasSpellShield(target))
                //{
                //	if (!Main.DoEQ)
                //	{
                //		var ePred = Eex.GetPrediction(target);
                //		if (ePred.Hitchance >= HitChance.VeryHigh)
                //		{
                //			var playerToCP = ObjectManager.Player.Distance(ePred.CastPosition);
                //			foreach (var ball in Main.MyBalls.Where(ball => ObjectManager.Player.Distance(ball.Position) < E.Range))
                //			{
                //				var ballFinalPos = ObjectManager.Player.ServerPosition.Extend(ball.Position, playerToCP);
                //				if (ballFinalPos.Distance(ePred.CastPosition) < 50)
                //					E.Cast(ball.Position);
                //			}
                //		}
                //	}
                //}
            }
            foreach (var target in ObjectManager.Heroes.Enemies.Where(k => k.IsValidTarget(W.Range) && !k.IsDead && !k.IsZombie))
            {
                if (w)
                {
                    if (target.IsValidTarget(W.Range) && W.GetPrediction(target).Hitchance == HitChance.VeryHigh)
                    {
                        if (W.Instance.ToggleState == 1)                                                                                                                                                 // Not holding
                        {
                            var wball   = Main.MyBalls.Find(ball => ball.Distance(ObjectManager.Player) < W.Range - 25);                                                                                 // Look for ball
                            var wminion = MinionManager.GetMinions(ObjectManager.Player.ServerPosition, W.Range - 25, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).FirstOrDefault(); //Look for minion
                            if (wball != null && !wball.IsMoving)
                            {
                                W.Cast(wball);
                            }
                            else if (wminion != null)
                            {
                                W.Cast(wminion);
                                W.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                            }
                        }
                        else                         //holding
                        {
                            W.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                        }
                    }
                }
            }


            foreach (var target in ObjectManager.Heroes.Enemies.Where(k => k.IsValidTarget(Eex.Range) && !k.IsDead && !k.IsZombie))
            {
                if (e && !Main.DoEQ && !Functions.HasSpellShield(target))
                {
                    var ePred = Eex.GetPrediction(target);
                    if (ePred.Hitchance >= HitChance.Low)
                    {
                        var playerToCP = ObjectManager.Player.Distance(ePred.CastPosition);
                        foreach (var eball in Main.MyBalls.Where(ball => ball.Position.Distance(ObjectManager.Player) < E.Range))
                        {
                            var ballFinalPos = ObjectManager.Player.ServerPosition.Extend(eball.Position, playerToCP);
                            if (ballFinalPos.Distance(ePred.CastPosition) < 50)
                            {
                                E.Cast(eball.Position);
                            }
                        }
                    }
                }
            }
        }