示例#1
0
        /// <summary>
        ///     The cast W melee.
        /// </summary>
        private static void CastWMelee()
        {
            var Minions = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(W1.Range)).ToList();
            var FarmPos = W1.GetCircularFarmLocation(Minions, 300);
            var MinHit  = FarmPos.MinionsHit;

            if (W1.IsReady())
            {
                if (MinHit >= LaneHammerWHit.Value)
                {
                    W1.Cast();
                }
            }
        }
示例#2
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);
                        }
                    }
                }
            }
        }