예제 #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 (CustomLib.isWInLongRangeMode())
                    {
                        Render.Circle.DrawCircle(Player.Position, W2.Range, menuItem.Color, SkyLv_AurelionSol.Menu.Item("SpellDraw.Radius").GetValue <Slider>().Value);
                    }

                    if (!CustomLib.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 AAManagers()
 {
     if (SkyLv_AurelionSol.Menu.Item("AurelionSol.DisableAAWhenW").GetValue<bool>() && SkyLv_AurelionSol.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
     {
         if (CustomLib.isWInLongRangeMode())
         {
             SkyLv_AurelionSol.Orbwalker.SetAttack(false);
         }
         else
             SkyLv_AurelionSol.Orbwalker.SetAttack(true);
     }
     else
         SkyLv_AurelionSol.Orbwalker.SetAttack(true);
 }
예제 #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 (CustomLib.enemyChampionInRange(600 + 300) == 0 && CustomLib.isWInLongRangeMode())
                {
                    W2.Cast(PacketCast);
                }
            }
        }
예제 #4
0
파일: Combo.cs 프로젝트: wade1990/PortAIO
        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>();
            var useR                  = SkyLv_AurelionSol.Menu.Item("AurelionSol.UseRCombo").GetValue <bool>();
            var MinimumEnemyHitComboR = SkyLv_AurelionSol.Menu.Item("AurelionSol.MinimumEnemyHitComboR").GetValue <Slider>().Value;

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

                if (target.IsValidTarget())
                {
                    if (useR && R.IsReady() && Player.Mana >= R.ManaCost)
                    {
                        R.CastIfWillHit(target, MinimumEnemyHitComboR, PacketCast);
                    }

                    if (useQ && Q.IsReady() && Player.Mana >= Q.ManaCost)
                    {
                        Q.CastIfHitchanceEquals(target, HitChance.VeryHigh, PacketCast);
                    }

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

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

                        else if (CustomLib.enemyChampionInRange(900) == 0 && CustomLib.isWInLongRangeMode())
                        {
                            W2.Cast(PacketCast);
                        }
                    }
                }
            }
        }
예제 #5
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())
                {
                    Q.CastIfHitchanceEquals(MinionN, HitChance.VeryHigh, PacketCast);
                }

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

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

                    if (Player.Distance(MinionN) > W2.Range - 20 && Player.Distance(MinionN) < W2.Range + 20 && !CustomLib.isWInLongRangeMode() && Player.ManaPercent > MiniManaW)
                    {
                        W1.Cast(PacketCast);
                    }
                }
            }
        }
예제 #6
0
        public static void JungleKS()
        {
            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 < CustomLib.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);
                        }
                    }
                }
            }
        }
예제 #7
0
파일: Harass.cs 프로젝트: wade1990/PortAIO
        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)
                {
                    Q.CastIfHitchanceEquals(target, HitChance.VeryHigh, PacketCast);
                }

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

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

                    if (Player.Distance(target) > W2.Range - 20 && Player.Distance(target) < W2.Range + 20 && !CustomLib.isWInLongRangeMode() && Player.ManaPercent > MiniManaW)
                    {
                        W1.Cast(PacketCast);
                    }
                }
            }
        }
예제 #8
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 && CustomLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

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

                    if (allMinionsW2.Any() && !CustomLib.isWInLongRangeMode() && Player.ManaPercent > MiniManaW)
                    {
                        var farmAll = W2.GetCircularFarmLocation(allMinionsW2);
                        if (farmAll.MinionsHit >= MiniCountW)
                        {
                            W1.Cast(PacketCast);
                        }
                    }
                }
            }
        }
예제 #9
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 <AIHeroClient>().Where(target => !target.IsMe && !target.IsDead && target.Team != ObjectManager.Player.Team && !target.IsZombie && (SkyLv_AurelionSol.Ignite.Slot != SpellSlot.Unknown || !target.HasBuff("summonerdot"))))
            {
                if (UseQKS && Player.Distance(target) <= Q.Range && Q.IsReady() && target.Health < CustomLib.QDamage(target) && Player.Mana >= Q.ManaCost)
                {
                    Q.CastIfHitchanceEquals(target, HitChance.VeryHigh, PacketCast);
                }

                if (UseWKS && W1.IsReady() && target.Health < W1.GetDamage(target))
                {
                    if (Player.Distance(target) > W1.Range - 20 && Player.Distance(target) < W1.Range + 20 && CustomLib.isWInLongRangeMode())
                    {
                        W2.Cast(PacketCast);
                    }

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

                if (UseRKS && Player.Distance(target) <= R.Range && R.IsReady() && target.Health < CustomLib.RDamage(target) && Player.Mana >= R.ManaCost)
                {
                    R.CastIfHitchanceEquals(target, HitChance.VeryHigh, PacketCast);
                }

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