Beispiel #1
0
        public static void LaneClearLogic()
        {
            var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();

            var useQ = SkyLv_Jax.Menu.Item("Jax.UseQLaneClear").GetValue <bool>();
            var useW = SkyLv_Jax.Menu.Item("Jax.UseWLaneClear").GetValue <bool>();
            var useE = SkyLv_Jax.Menu.Item("Jax.UseELaneClear").GetValue <bool>();

            var MiniManaQ = SkyLv_Jax.Menu.Item("Jax.QMiniManaLaneClear").GetValue <Slider>().Value;
            var MiniManaW = SkyLv_Jax.Menu.Item("Jax.WMiniManaLaneClear").GetValue <Slider>().Value;
            var MiniManaE = SkyLv_Jax.Menu.Item("Jax.EMiniManaLaneClear").GetValue <Slider>().Value;

            var EMiniHitLaneClear = SkyLv_Jax.Menu.Item("Jax.EMiniHitLaneClear").GetValue <Slider>().Value;

            var Minion = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Enemy).FirstOrDefault();

            if (Minion.IsValidTarget() && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                if (SkyLv_Jax.Menu.Item("Jax.SafeLaneClear").GetValue <bool>() && Player.CountEnemiesInRange(1500) > 0)
                {
                    return;
                }

                if (useQ && Player.ManaPercent > MiniManaQ && Q.IsReady())
                {
                    if (Minion.IsValidTarget(Q.Range) && Q.GetDamage(Minion) > Minion.Health)
                    {
                        Q.Cast(Minion, PacketCast);
                    }
                }

                if (useE && Player.ManaPercent > MiniManaE && E.IsReady() && CustomLib.EnemyMinionInPlayerRange(E.Range) >= EMiniHitLaneClear && !CustomLib.iSJaxEActive())
                {
                    if (Minion.IsValidTarget(E.Range))
                    {
                        E.Cast(PacketCast);
                    }
                }

                if (useE && CustomLib.EnemyMinionInPlayerRange(E.Range) >= EMiniHitLaneClear && CustomLib.iSJaxEActive())
                {
                    if (Minion.IsValidTarget(E.Range))
                    {
                        E.Cast(PacketCast);
                    }
                }

                if (useW && W.IsReady() && Player.Mana >= W.ManaCost)
                {
                    if (Minion.IsValidTarget() && Orbwalking.CanAttack())
                    {
                        W.Cast(PacketCast);
                    }
                }
            }
        }
Beispiel #2
0
        public static void AutoR()
        {
            var MinimumHpSafeAutoR = SkyLv_Jax.Menu.Item("Jax.MinimumHpSafeAutoR").GetValue <Slider>().Value;
            var PacketCast         = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();

            if (R.IsReady() && Player.Mana >= R.ManaCost && CustomLib.enemyChampionInPlayerRange(700) > 0 && Player.HealthPercent <= MinimumHpSafeAutoR)
            {
                R.Cast(PacketCast);
            }
        }
Beispiel #3
0
        public static void AutoSafeE()
        {
            var MinimumHpSafeAutoE = SkyLv_Jax.Menu.Item("Jax.MinimumHpSafeAutoE").GetValue <Slider>().Value;
            var PacketCast         = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();

            if (CustomLib.iSJaxEActive() && Player.HealthPercent <= MinimumHpSafeAutoE && CustomLib.enemyChampionInPlayerRange(E.Range) > 0)
            {
                E.Cast();
            }
        }
Beispiel #4
0
        public static void AutoE()
        {
            var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
            var MinimumEnemyHitAutoE = SkyLv_Jax.Menu.Item("Jax.MinimumEnemyHitAutoE").GetValue <Slider>().Value;
            var PacketCast           = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();

            if (target.IsValidTarget(E.Range) && CustomLib.iSJaxEActive())
            {
                E.CastIfWillHit(target, MinimumEnemyHitAutoE, PacketCast);
            }
        }
Beispiel #5
0
        public static void HarassLogic()
        {
            var PacketCast       = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();
            var UseQHarass       = SkyLv_Jax.Menu.Item("Jax.UseQHarass").GetValue <bool>();
            var UseWHarass       = SkyLv_Jax.Menu.Item("Jax.UseWHarass").GetValue <bool>();
            var UseEHarass       = SkyLv_Jax.Menu.Item("Jax.UseEHarass").GetValue <bool>();
            var UseSecondEHarass = SkyLv_Jax.Menu.Item("Jax.UseSecondEHarass").GetValue <bool>();

            var QMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.QMiniManaHarass").GetValue <Slider>().Value;
            var WMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.WMiniManaHarass").GetValue <Slider>().Value;
            var EMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.EMiniManaHarass").GetValue <Slider>().Value;

            if (UseEHarass && E.IsReady() && !CustomLib.iSJaxEActive())
            {
                var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (target.IsValidTarget() && (Player.Distance(target) <= E.Range || (Player.Distance(target) > E.Range * 1.5 && UseQHarass && Q.IsReady() && Player.Mana > Q.ManaCost + E.ManaCost)))
                {
                    E.Cast(PacketCast);
                }
            }

            if (UseSecondEHarass && CustomLib.iSJaxEActive())
            {
                var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (target.IsValidTarget() && Player.Distance(target) < E.Range)
                {
                    E.Cast(PacketCast);
                }
            }

            if (UseQHarass && Q.IsReady())
            {
                var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                if (target.IsValidTarget() && target.Health < Q.GetDamage(target) + W.GetDamage(target) * 2 + E.GetDamage(target) && Player.Mana >= Q.ManaCost + W.ManaCost + E.ManaCost)
                {
                    Q.Cast(target, PacketCast);
                }
            }

            if (!SkyLv_Jax.Menu.Item("Jax.AfterAttackModeHarass").GetValue <bool>())
            {
                if (UseWHarass && W.IsReady() && Player.Mana >= W.ManaCost)
                {
                    var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                    if (target.IsValidTarget() && Orbwalking.CanAttack())
                    {
                        W.Cast(PacketCast);
                    }
                }
            }
        }
Beispiel #6
0
        public static void ComboLogic()
        {
            var PacketCast             = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();
            var useQ                   = SkyLv_Jax.Menu.Item("Jax.UseQCombo").GetValue <bool>();
            var useW                   = SkyLv_Jax.Menu.Item("Jax.UseWCombo").GetValue <bool>();
            var useE                   = SkyLv_Jax.Menu.Item("Jax.UseECombo").GetValue <bool>();
            var useR                   = SkyLv_Jax.Menu.Item("Jax.UseRCombo").GetValue <bool>();
            var MinimumEnemyHitSecondE = SkyLv_Jax.Menu.Item("Jax.MinimumEnemyHitSecondE").GetValue <Slider>().Value;
            var MinimumEnemySafeR      = SkyLv_Jax.Menu.Item("Jax.MinimumEnemySafeR").GetValue <Slider>().Value;

            if (SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                if (useR && R.IsReady() && CustomLib.enemyChampionInPlayerRange(500) >= MinimumEnemySafeR)
                {
                    R.Cast(PacketCast);
                }

                if (useE && E.IsReady() && !CustomLib.iSJaxEActive())
                {
                    var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                    if (target.IsValidTarget() && (Player.Distance(target) <= E.Range || (Player.Distance(target) < E.Range * 1.5 && useQ && Q.IsReady() && Player.Mana > Q.ManaCost + E.ManaCost)))
                    {
                        E.Cast(PacketCast);
                    }
                }

                if (useQ && Q.IsReady())
                {
                    var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical);
                    if (target.IsValidTarget() && Player.Distance(target) > E.Range * 1.5 && Player.Mana >= Q.ManaCost + W.ManaCost + E.ManaCost)
                    {
                        Q.Cast(target, PacketCast);
                    }
                }

                if (!SkyLv_Jax.Menu.Item("Jax.AfterAttackModeCombo").GetValue <bool>())
                {
                    if (useW && W.IsReady() && Player.Mana >= W.ManaCost)
                    {
                        var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                        if (target.IsValidTarget() && Orbwalking.CanAttack())
                        {
                            W.Cast(PacketCast);
                        }
                    }
                }
            }
        }
Beispiel #7
0
        public static void JungleKS()
        {
            if (SkyLv_Jax.Menu.Item("Jax.JungleKS").GetValue <bool>())
            {
                var UseQJungleKS       = SkyLv_Jax.Menu.Item("Jax.UseQJungleKS").GetValue <bool>();
                var UseWQJungleKS      = SkyLv_Jax.Menu.Item("Jax.UseWQJungleKS").GetValue <bool>();
                var UseSecondEJungleKS = SkyLv_Jax.Menu.Item("Jax.UseSecondEJungleKS").GetValue <bool>();
                var PacketCast         = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();

                foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead))
                {
                    if (UseQJungleKS && Q.GetDamage(target) > target.Health && Player.Distance(target) <= Q.Range && Player.Mana >= Q.ManaCost)
                    {
                        Q.Cast(target, PacketCast);
                    }

                    if (UseSecondEJungleKS && E.GetDamage(target) > target.Health && Player.Distance(target) <= E.Range && CustomLib.iSJaxEActive())
                    {
                        E.Cast(PacketCast);
                    }

                    if (UseWQJungleKS && Player.Distance(target) <= Q.Range && Q.IsReady() && W.IsReady() && Player.Mana > Q.ManaCost + W.ManaCost && target.Health < Q.GetDamage(target) + W.GetDamage(target))
                    {
                        W.Cast();
                        Q.Cast(target, PacketCast);
                    }
                }
            }
        }
Beispiel #8
0
        public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();

            var thero = target as AIHeroClient;

            if (!unit.IsMe)
            {
                return;
            }

            #region Combo
            if (thero != null && SkyLv_Jax.Menu.Item("Jax.AfterAttackModeCombo").GetValue <bool>() && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var UseWCombo = SkyLv_Jax.Menu.Item("Jax.UseWCombo").GetValue <bool>();

                if (thero.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player)))
                {
                    if (UseWCombo && W.IsReady())
                    {
                        W.Cast(PacketCast);
                    }
                }
                else
                {
                    return;
                }
            }
            #endregion

            #region Harass
            if (thero != null && SkyLv_Jax.Menu.Item("Jax.AfterAttackModeHarass").GetValue <bool>() && (SkyLv_Jax.Menu.Item("Jax.HarassActive").GetValue <KeyBind>().Active || SkyLv_Jax.Menu.Item("Jax.HarassActiveT").GetValue <KeyBind>().Active))
            {
                var UseWHarass = SkyLv_Jax.Menu.Item("Jax.UseWHarass").GetValue <bool>();

                var WMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.WMiniManaHarass").GetValue <Slider>().Value;

                if (thero.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player)))
                {
                    if (UseWHarass && W.IsReady() && Player.Mana >= W.ManaCost)
                    {
                        W.Cast(PacketCast);
                    }
                }
                else
                {
                    return;
                }
            }
            #endregion

            #region JungleClear
            var useQ = SkyLv_Jax.Menu.Item("Jax.UseQJungleClear").GetValue <bool>();
            var useW = SkyLv_Jax.Menu.Item("Jax.UseWJungleClear").GetValue <bool>();
            var useE = SkyLv_Jax.Menu.Item("Jax.UseEJungleClear").GetValue <bool>();

            var MiniManaQ = SkyLv_Jax.Menu.Item("Jax.QMiniManaJungleClear").GetValue <Slider>().Value;
            var MiniManaW = SkyLv_Jax.Menu.Item("Jax.WMiniManaJungleClear").GetValue <Slider>().Value;
            var MiniManaE = SkyLv_Jax.Menu.Item("Jax.EMiniManaJungleClear").GetValue <Slider>().Value;

            var MinionN = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault();

            if (target != null && SkyLv_Jax.Menu.Item("Jax.AfterAttackModeJungleClear").GetValue <bool>() && target.NetworkId == MinionN.NetworkId && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                if (SkyLv_Jax.Menu.Item("Jax.SafeJungleClear").GetValue <bool>() && Player.CountEnemiesInRange(1500) > 0)
                {
                    return;
                }

                if (useQ && Q.IsReady() && Player.ManaPercent > MiniManaQ)
                {
                    if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                    {
                        foreach (var minion in ObjectManager.Get <Obj_AI_Base>().Where(minion => SkyLv_Jax.Monsters.Contains(minion.BaseSkinName) && !minion.IsDead))
                        {
                            if (minion.IsValidTarget() && minion.Health > Player.GetAutoAttackDamage(minion) * 2)
                            {
                                Q.CastOnUnit(minion, PacketCast);
                            }
                        }
                    }
                    else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget() && MinionN.Health > Player.GetAutoAttackDamage(MinionN) * 2)
                    {
                        Q.CastOnUnit(MinionN, PacketCast);
                    }
                }

                if (useE && E.IsReady() && Player.ManaPercent > MiniManaE && !CustomLib.iSJaxEActive())
                {
                    if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                    {
                        foreach (var minion in ObjectManager.Get <Obj_AI_Base>().Where(minion => SkyLv_Jax.Monsters.Contains(minion.BaseSkinName) && !minion.IsDead))
                        {
                            if (minion.IsValidTarget() && minion.Health > Player.GetAutoAttackDamage(minion) * 4)
                            {
                                E.Cast(PacketCast);
                            }
                        }
                    }
                    else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget() && MinionN.Health > Player.GetAutoAttackDamage(MinionN) * 4)
                    {
                        E.Cast(PacketCast);
                    }
                }

                if (useE && CustomLib.iSJaxEActive() && MinionN.IsValidTarget(E.Range) && MinionN.Health > Player.GetAutoAttackDamage(MinionN) * 2)
                {
                    E.Cast(PacketCast);
                }

                if (useW && W.IsReady() && Player.Mana >= W.ManaCost)
                {
                    if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                    {
                        foreach (var minion in ObjectManager.Get <Obj_AI_Base>().Where(minion => SkyLv_Jax.Monsters.Contains(minion.BaseSkinName) && !minion.IsDead))
                        {
                            if (minion.IsValidTarget(W.Range) && minion.Health > Player.GetAutoAttackDamage(minion) * 1.5)
                            {
                                W.Cast(PacketCast);
                            }
                        }
                    }
                    else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget(W.Range) && MinionN.Health > Player.GetAutoAttackDamage(MinionN))
                    {
                        W.Cast(PacketCast);
                    }
                }
            }
            #endregion
        }
Beispiel #9
0
        public static void JungleClearLogic()
        {
            var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();
            var useQ       = SkyLv_Jax.Menu.Item("Jax.UseQJungleClear").GetValue <bool>();
            var useW       = SkyLv_Jax.Menu.Item("Jax.UseWJungleClear").GetValue <bool>();
            var useE       = SkyLv_Jax.Menu.Item("Jax.UseEJungleClear").GetValue <bool>();

            var MiniManaQ = SkyLv_Jax.Menu.Item("Jax.QMiniManaJungleClear").GetValue <Slider>().Value;
            var MiniManaW = SkyLv_Jax.Menu.Item("Jax.WMiniManaJungleClear").GetValue <Slider>().Value;
            var MiniManaE = SkyLv_Jax.Menu.Item("Jax.EMiniManaJungleClear").GetValue <Slider>().Value;

            var MinionN = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault();

            if (MinionN.IsValidTarget() && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                if (SkyLv_Jax.Menu.Item("Jax.SafeJungleClear").GetValue <bool>() && Player.CountEnemiesInRange(1500) > 0)
                {
                    return;
                }

                if (!SkyLv_Jax.Menu.Item("Jax.AfterAttackModeJungleClear").GetValue <bool>())
                {
                    if (useQ && Q.IsReady() && Player.ManaPercent > MiniManaQ)
                    {
                        if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                        {
                            foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead))
                            {
                                if (target.IsValidTarget())
                                {
                                    Q.CastOnUnit(target, PacketCast);
                                }
                            }
                        }
                        else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget())
                        {
                            Q.CastOnUnit(MinionN, PacketCast);
                        }
                    }

                    if (useE && E.IsReady() && Player.ManaPercent > MiniManaE && !CustomLib.iSJaxEActive())
                    {
                        if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                        {
                            foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead))
                            {
                                if (target.IsValidTarget())
                                {
                                    E.Cast(PacketCast);
                                }
                            }
                        }
                        else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget())
                        {
                            E.Cast(PacketCast);
                        }
                    }

                    if (useE && CustomLib.iSJaxEActive() && MinionN.IsValidTarget(E.Range))
                    {
                        E.Cast(PacketCast);
                    }

                    if (useW && W.IsReady() && Player.Mana >= W.ManaCost)
                    {
                        if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                        {
                            foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead))
                            {
                                if (target.IsValidTarget(W.Range) && Orbwalking.CanAttack())
                                {
                                    W.Cast(PacketCast);
                                }
                            }
                        }
                        else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget(W.Range) && Orbwalking.CanAttack())
                        {
                            W.Cast(PacketCast);
                        }
                    }
                }

                if (SkyLv_Jax.Menu.Item("Jax.AfterAttackModeJungleClear").GetValue <bool>())
                {
                    if (useQ && Q.IsReady() && Player.ManaPercent > MiniManaQ)
                    {
                        if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>())
                        {
                            foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead))
                            {
                                if (target.IsValidTarget() && target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player))
                                {
                                    Q.CastOnUnit(target, PacketCast);
                                }
                            }
                        }
                        else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget() && MinionN.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player))
                        {
                            Q.CastOnUnit(MinionN, PacketCast);
                        }
                    }
                }
            }
        }
Beispiel #10
0
        public static void KS()
        {
            var PacketCast    = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>();
            var UseIgniteKS   = SkyLv_Jax.Menu.Item("Jax.UseIgniteKS").GetValue <bool>();
            var UseQKS        = SkyLv_Jax.Menu.Item("Jax.UseQKS").GetValue <bool>();
            var UseWQKS       = SkyLv_Jax.Menu.Item("Jax.UseWQKS").GetValue <bool>();
            var UseWQIgniteKS = SkyLv_Jax.Menu.Item("Jax.UseWQIgniteKS").GetValue <bool>();
            var UseSecondEKS  = SkyLv_Jax.Menu.Item("Jax.UseSecondEKS").GetValue <bool>();

            foreach (var target in ObjectManager.Get <AIHeroClient>().Where(target => !target.IsMe && !target.IsDead && target.Team != ObjectManager.Player.Team && !target.IsZombie && (SkyLv_Jax.Ignite.Slot != SpellSlot.Unknown || !target.HasBuff("summonerdot"))))
            {
                if (UseQKS && Q.GetDamage(target) > target.Health && Player.Distance(target) <= Q.Range && Player.Mana >= Q.ManaCost)
                {
                    Q.Cast(target, PacketCast);
                }

                if (UseSecondEKS && E.GetDamage(target) > target.Health && Player.Distance(target) <= E.Range && CustomLib.iSJaxEActive())
                {
                    E.Cast(PacketCast);
                }

                if (UseWQKS && Player.Distance(target) <= Q.Range && Q.IsReady() && W.IsReady() && Player.Mana > Q.ManaCost + W.ManaCost && target.Health < Q.GetDamage(target) + W.GetDamage(target))
                {
                    W.Cast();
                    Q.Cast(target, PacketCast);
                }

                if (UseIgniteKS && SkyLv_Jax.Ignite.Slot != SpellSlot.Unknown && target.Health < Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) && Player.Distance(target) <= SkyLv_Jax.Ignite.Range)
                {
                    SkyLv_Jax.Ignite.Cast(target, PacketCast);
                }

                if (UseWQIgniteKS && Player.Distance(target) <= Q.Range && Q.IsReady() && W.IsReady() && SkyLv_Jax.Ignite.Slot != SpellSlot.Unknown && Player.Mana > Q.ManaCost + W.ManaCost && target.Health < Q.GetDamage(target) + W.GetDamage(target) + Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite))
                {
                    W.Cast();
                    Q.Cast(target, PacketCast);
                    SkyLv_Jax.Ignite.Cast(target, PacketCast);
                }
            }
        }