示例#1
0
        public static void Drawing_OnDraw(EventArgs args)
        {
            foreach (var spell in SkyLv_AurelionSol.SpellList)
            {
                var menuItem = SkyLv_AurelionSol.Menu.Item(spell.Slot + "Range").GetValue <Circle>();
                if (menuItem.Active && spell.Slot == SpellSlot.W)
                {
                    if (MathsLib.isWInLongRangeMode())
                    {
                        Render.Circle.DrawCircle(Player.Position, W2.Range, menuItem.Color, SkyLv_AurelionSol.Menu.Item("SpellDraw.Radius").GetValue <Slider>().Value);
                    }

                    if (!MathsLib.isWInLongRangeMode())
                    {
                        Render.Circle.DrawCircle(Player.Position, W1.Range, menuItem.Color, SkyLv_AurelionSol.Menu.Item("SpellDraw.Radius").GetValue <Slider>().Value);
                    }
                }

                if (menuItem.Active && spell.Slot != SpellSlot.W && (spell.Slot != SpellSlot.R || R.Level > 0))
                {
                    Render.Circle.DrawCircle(Player.Position, spell.Range, menuItem.Color, SkyLv_AurelionSol.Menu.Item("SpellDraw.Radius").GetValue <Slider>().Value);
                }
            }

            if (SkyLv_AurelionSol.Menu.Item("DrawOrbwalkTarget").GetValue <Circle>().Active)
            {
                var orbT = SkyLv_AurelionSol.Orbwalker.GetTarget();
                if (orbT.IsValidTarget())
                {
                    Render.Circle.DrawCircle(orbT.Position, 100, SkyLv_AurelionSol.Menu.Item("DrawOrbwalkTarget").GetValue <Circle>().Color, SkyLv_AurelionSol.Menu.Item("OrbwalkDraw.Radius").GetValue <Slider>().Value);
                }
            }
        }
示例#2
0
        public static void KS()
        {
            var PacketCast  = SkyLv_AurelionSol.Menu.Item("AurelionSol.PacketCastKS").GetValue <bool>();
            var useIgniteKS = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseIgniteKS").GetValue <bool>();
            var useQKS      = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQKS").GetValue <bool>();
            var useWKS      = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWKS").GetValue <bool>();
            var useRKS      = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseRKS").GetValue <bool>();

            foreach (var target in ObjectManager.Get <Obj_AI_Hero>().Where(target => !target.IsMe && target.Team != ObjectManager.Player.Team))
            {
                if (!target.HasBuff("SionPassiveZombie") && !target.HasBuff("Udying Rage") && !target.HasBuff("JudicatorIntervention"))
                {
                    if (useQKS && Q.IsReady() && target.Health < MathsLib.QDamage(target) && !target.IsDead)
                    {
                        var prediction = Q.GetPrediction(target);
                        if (prediction.Hitchance >= HitChance.High)
                        {
                            Q.Cast(prediction.CastPosition, PacketCast);
                            return;
                        }
                    }

                    if (useWKS && W1.IsReady() && target.Health < W1.GetDamage(target) && !target.IsDead)
                    {
                        if (Player.Distance(target) > W1.Range - 20 && Player.Distance(target) < W1.Range + 20 && MathsLib.isWInLongRangeMode())
                        {
                            W2.Cast(PacketCast);
                            return;
                        }

                        if (Player.Distance(target) > W2.Range - 20 && Player.Distance(target) < W2.Range + 20 && !MathsLib.isWInLongRangeMode())
                        {
                            W1.Cast(PacketCast);
                            return;
                        }
                        return;
                    }

                    if (useRKS && R.IsReady() && target.Health < MathsLib.RDamage(target) && !target.IsDead)
                    {
                        var prediction = R.GetPrediction(target);
                        if (prediction.Hitchance == HitChance.VeryHigh)
                        {
                            R.Cast(prediction.CastPosition, PacketCast);
                            return;
                        }
                        return;
                    }

                    if (useIgniteKS && SkyLv_AurelionSol.IgniteSlot.IsReady() && target.Health < Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) && Player.Distance(target) <= 600 && !target.IsDead && target.IsValidTarget())
                    {
                        Player.Spellbook.CastSpell(SkyLv_AurelionSol.IgniteSlot);
                        return;
                    }
                }
            }
        }
示例#3
0
        public static void AutoWManager()
        {
            var target       = TargetSelector.GetTarget(W2.Range + 50, TargetSelector.DamageType.Magical);
            var PacketCast   = SkyLv_AurelionSol.Menu.Item("AurelionSol.UsePacketCastCombo").GetValue <bool>();
            var AutoWManager = SkyLv_AurelionSol.Menu.Item("AurelionSol.AutoManageW").GetValue <bool>();

            if (AutoWManager)
            {
                if (MathsLib.enemyChampionInRange(600 + 300) == 0 && MathsLib.isWInLongRangeMode())
                {
                    W2.Cast(PacketCast);
                }
            }
        }
示例#4
0
        public static void JungleClearLogic()
        {
            var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.UsePacketCastJungleClear").GetValue <bool>();
            var useQ       = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQJungleClear").GetValue <bool>();
            var useW       = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWJungleClear").GetValue <bool>();

            var MiniManaQ = SkyLv_AurelionSol.Menu.Item("AurelionSol.QMiniManaJungleClear").GetValue <Slider>().Value;
            var MiniManaW = SkyLv_AurelionSol.Menu.Item("AurelionSol.WMiniManaJungleClear").GetValue <Slider>().Value;

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

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

                if (useQ && Player.ManaPercent > MiniManaQ && Q.IsReady())
                {
                    var prediction = Q.GetPrediction(MinionN);
                    if (prediction.Hitchance == HitChance.VeryHigh)
                    {
                        Q.Cast(prediction.CastPosition, PacketCast);
                    }
                }

                if (useW && W1.IsReady() && Player.ManaPercent > MiniManaW)
                {
                    if (Player.ManaPercent <= MiniManaW && MathsLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

                    if (Player.Distance(MinionN) > W1.Range - 20 && Player.Distance(MinionN) < W1.Range + 20 && MathsLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

                    if (Player.Distance(MinionN) > W2.Range - 20 && Player.Distance(MinionN) < W2.Range + 20 && !MathsLib.isWInLongRangeMode() && Player.ManaPercent > MiniManaW)
                    {
                        W1.Cast(PacketCast);
                    }
                }
            }
        }
示例#5
0
 public static void AAManagers()
 {
     if (SkyLv_AurelionSol.Menu.Item("AurelionSol.DisableAAWhenW").GetValue <bool>() && SkyLv_AurelionSol.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
     {
         if (MathsLib.isWInLongRangeMode())
         {
             SkyLv_AurelionSol.Orbwalker.SetAttack(false);
         }
         else
         {
             SkyLv_AurelionSol.Orbwalker.SetAttack(true);
         }
     }
     else
     {
         SkyLv_AurelionSol.Orbwalker.SetAttack(true);
     }
 }
示例#6
0
        public static void ComboLogic()
        {
            var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.UsePacketCastCombo").GetValue <bool>();
            var useQ       = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQCombo").GetValue <bool>();
            var useW       = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWCombo").GetValue <bool>();



            if (SkyLv_AurelionSol.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                var target = TargetSelector.GetTarget(W2.Range + 50, TargetSelector.DamageType.Magical);

                if (target != null)
                {
                    if (useQ && Q.IsReady())
                    {
                        var prediction = Q.GetPrediction(target);
                        if (prediction.Hitchance >= HitChance.High)
                        {
                            Q.Cast(prediction.CastPosition, PacketCast);
                        }
                    }

                    if (useW)
                    {
                        if (target.Distance(Player) <= W1.Range + 50 && MathsLib.isWInLongRangeMode())
                        {
                            W2.Cast(PacketCast);
                        }

                        if (target.Distance(Player) > W1.Range + 50 && target.Distance(Player) < W2.Range + 50 && !MathsLib.isWInLongRangeMode())
                        {
                            W1.Cast(PacketCast);
                        }

                        else if (MathsLib.enemyChampionInRange(600 + 300) == 0 && MathsLib.isWInLongRangeMode())
                        {
                            W2.Cast(PacketCast);
                        }
                    }
                }
            }
        }
示例#7
0
        public static void HarassLogic()
        {
            var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (target != null)
            {
                var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.UsePacketCastHarass").GetValue <bool>();

                var useQ      = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQHarass").GetValue <bool>();
                var MiniManaQ = SkyLv_AurelionSol.Menu.Item("AurelionSol.QMiniManaHarass").GetValue <Slider>().Value;

                var useW      = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWHarass").GetValue <bool>();
                var MiniManaW = SkyLv_AurelionSol.Menu.Item("AurelionSol.WMiniManaHarass").GetValue <Slider>().Value;

                if (useQ && Q.IsReady() && Player.Mana >= Q.ManaCost && Player.ManaPercent > MiniManaQ)
                {
                    var prediction = Q.GetPrediction(target);
                    if (prediction.Hitchance >= HitChance.High)
                    {
                        Q.Cast(prediction.CastPosition, PacketCast);
                    }
                }

                if (useW && W1.IsReady() && Player.ManaPercent > MiniManaW)
                {
                    if (Player.ManaPercent <= MiniManaW && MathsLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

                    if (Player.Distance(target) > W1.Range - 20 && Player.Distance(target) < W1.Range + 20 && MathsLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

                    if (Player.Distance(target) > W2.Range - 20 && Player.Distance(target) < W2.Range + 20 && !MathsLib.isWInLongRangeMode() && Player.ManaPercent > MiniManaW)
                    {
                        W1.Cast(PacketCast);
                    }
                }
            }
        }
示例#8
0
        public static void KS()
        {
            if (SkyLv_AurelionSol.Menu.Item("AurelionSol.JungleKS").GetValue <bool>())
            {
                var useQKS     = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQJungleKS").GetValue <bool>();
                var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.JungleKSPacketCast").GetValue <bool>();

                foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => Monsters.Contains(target.BaseSkinName)))
                {
                    if (useQKS && Q.IsReady() && target.Health < MathsLib.QDamage(target) && Player.Distance(target) < Q.Range && !target.IsDead && target.IsValidTarget())
                    {
                        var prediction = Q.GetPrediction(target);
                        if (prediction.Hitchance >= HitChance.High)
                        {
                            Q.Cast(prediction.CastPosition, PacketCast);
                        }
                    }
                }
            }
        }
示例#9
0
        public static void LaneClearLogic()
        {
            var PacketCast = SkyLv_AurelionSol.Menu.Item("AurelionSol.UsePacketCastLaneClear").GetValue <bool>();

            var useQ = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseQLaneClear").GetValue <bool>();
            var useW = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseWLaneClear").GetValue <bool>();

            var MiniManaQ = SkyLv_AurelionSol.Menu.Item("AurelionSol.QMiniManaLaneClear").GetValue <Slider>().Value;
            var MiniManaW = SkyLv_AurelionSol.Menu.Item("AurelionSol.WMiniManaLaneClear").GetValue <Slider>().Value;

            var MiniCountQ = SkyLv_AurelionSol.Menu.Item("AurelionSol.QLaneClearCount").GetValue <Slider>().Value;
            var MiniCountW = SkyLv_AurelionSol.Menu.Item("AurelionSol.WLaneClearCount").GetValue <Slider>().Value;

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

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

                if (useQ && Player.ManaPercent > MiniManaQ && Q.IsReady())
                {
                    var allMinionsQ = MinionManager.GetMinions(Player.Position, Q.Range, MinionTypes.All, MinionTeam.Enemy);

                    if (allMinionsQ.Any())
                    {
                        var farmAll = Q.GetCircularFarmLocation(allMinionsQ, Q.Width);
                        if (farmAll.MinionsHit >= MiniCountQ)
                        {
                            Q.Cast(farmAll.Position, true);
                        }
                    }
                }

                if (useW && W1.IsReady())
                {
                    var allMinionsW1 = MinionManager.GetMinions(Player.Position + W1.Range - 20, W1.Range + 20, MinionTypes.All, MinionTeam.Enemy);
                    var allMinionsW2 = MinionManager.GetMinions(Player.Position + W2.Range - 20, W2.Range + 20, MinionTypes.All, MinionTeam.Enemy);

                    if (Player.ManaPercent <= MiniManaW && MathsLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

                    if (allMinionsW1.Any() && MathsLib.isWInLongRangeMode())
                    {
                        var farmAll = W1.GetCircularFarmLocation(allMinionsW1);
                        if (farmAll.MinionsHit >= MiniCountW)
                        {
                            W2.Cast(PacketCast);
                        }
                    }

                    if (allMinionsW2.Any() && !MathsLib.isWInLongRangeMode() && Player.ManaPercent > MiniManaW)
                    {
                        var farmAll = W2.GetCircularFarmLocation(allMinionsW2);
                        if (farmAll.MinionsHit >= MiniCountW)
                        {
                            W1.Cast(PacketCast);
                        }
                    }
                }
            }
        }