示例#1
0
        private void Jungle()
        {
            if (Program.LaneClear && Player.Mana > RMANA + WMANA + WMANA)
            {
                var mobs = Cache.GetMinions(Player.ServerPosition, 700, MinionTeam.Neutral);
                if (mobs.Count > 0)
                {
                    var mob = mobs[0];
                    if (Range)
                    {
                        if (Q.IsReady() && Config.Item("jungleQ", true).GetValue <bool>())
                        {
                            Q.Cast(mob.ServerPosition);
                            return;
                        }
                        if (W.IsReady() && Config.Item("jungleE", true).GetValue <bool>())
                        {
                            if (SebbyLib.Orbwalking.InAutoAttackRange(mob))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (Config.Item("jungleR", true).GetValue <bool>())
                        {
                            R.Cast();
                        }
                    }
                    else
                    {
                        if (Q1.IsReady() && Config.Item("jungleQm", true).GetValue <bool>() && mob.IsValidTarget(Q1.Range))
                        {
                            Q1.Cast(mob);
                            return;
                        }

                        if (W1.IsReady() && Config.Item("jungleWm", true).GetValue <bool>())
                        {
                            if (mob.IsValidTarget(300))
                            {
                                W.Cast();
                            }
                            return;
                        }
                        if (E1.IsReady() && Config.Item("jungleEm", true).GetValue <bool>() && mob.IsValidTarget(E1.Range))
                        {
                            if (mob.IsValidTarget(E1.Range))
                            {
                                E1.Cast(mob);
                            }
                            return;
                        }
                        if (Config.Item("jungleR", true).GetValue <bool>())
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
示例#2
0
        /// <summary>
        ///     The cast R.
        /// </summary>
        private static void CastR()
        {
            var target = Variables.TargetSelector.GetTarget(Q1.Range);

            if (R.IsReady() && ComboR.Value && target.IsValidTarget())
            {
                if (RangeForm())
                {
                    if (!Q.IsReady() && !W.IsReady() && (HammerQ_CD_R == 0) && (target.DistanceToPlayer() < Q1.Range))
                    {
                        R.Cast();
                    }
                }
                else
                {
                    if (!Q1.IsReady() && !W1.IsReady() && (CannonQ_CD_R == 0) &&
                        ((CannonW_CD_R == 0) || (CannonE_CD_R == 0)))
                    {
                        R.Cast();
                    }

                    if (!Q1.IsReady() && !W1.IsReady() && !E1.IsReady())
                    {
                        R.Cast();
                    }
                }
            }
        }
示例#3
0
        private static void AutoSpells(EventArgs args)
        {
            //E
            Edetonation();
            //R
            Actives();
            if (Config.Item("semi-ult").GetValue <KeyBind>().Active)
            {
                var target = TargetSelector.GetTarget(R1.Range, TargetSelector.DamageType.Magical);
                if (target == null || !target.IsValid)
                {
                    return;
                }
                if (R1.IsReady())
                {
                    SpellCast(target, R1.Range, R1, false, 1, false, PredR("prediction.R"));
                }
            }
            if (Config.Item("semi-w").GetValue <KeyBind>().Active)
            {
                var ally = HeroManager.Allies.Where(a => a.IsValid && !a.IsMinion && !a.IsMe).OrderBy(a => a.Distance(Game.CursorPosRaw)).FirstOrDefault();
                if (W1.IsReady())
                {
                    W1.Cast(ally);
                }
            }

            if (Q1.IsReady() && Config.Item("autospells.Q.cc").GetValue <bool>())
            {
                var target = TargetSelector.GetTarget(Q1.Range, TargetSelector.DamageType.Magical);
                if (target == null || !target.IsValid)
                {
                    return;
                }
                var cc = target.HasBuffOfType(BuffType.Snare) ||
                         target.HasBuffOfType(BuffType.Suppression) ||
                         target.HasBuffOfType(BuffType.Taunt) ||
                         target.HasBuffOfType(BuffType.Stun) ||
                         target.HasBuffOfType(BuffType.Charm) ||
                         target.HasBuffOfType(BuffType.Fear);
            }

            if (Q1.IsReady() && Config.Item("autospells.Q.collision").GetValue <bool>())
            {
                var enemies = HeroManager.Enemies.Where(e => e.IsValidTarget(Q1.Range));
                foreach (var enemy in enemies)
                {
                    if (enemy == null)
                    {
                        return;
                    }
                    var collisionobjects = Q1.GetPrediction(enemy).CollisionObjects.Where(c => c.IsEnemy && !c.IsMinion);
                    if (collisionobjects.Count() == 1)
                    {
                        Q1.Cast(enemy);
                    }
                }
            }
        }
示例#4
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;
                    }
                }
            }
        }
示例#5
0
        /// <summary>
        ///     The cast W melee.
        /// </summary>
        private static void CastWMelee()
        {
            var target = Variables.TargetSelector.GetTarget(W1.Range, DamageType.Physical);

            if (target != null)
            {
                if (W1.IsReady() && target.IsValidTarget(W1.Range))
                {
                    W1.Cast();
                }
            }
        }
        /// <summary>
        ///     The cast W melee.
        /// </summary>
        private static void CastWMelee()
        {
            var Minions = GameObjects.JungleLarge.Where(x => x.IsValidTarget(W1.Range));

            foreach (var Minion in Minions)
            {
                if (W1.IsReady())
                {
                    W1.Cast();
                }
            }
        }
示例#7
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();
                }
            }
        }
示例#8
0
        public static float GetW1Damage(Obj_AI_Base enemy)
        {
            var target = TargetSelector.GetTarget(W.Range + 200, DamageType.Magical);

            if (target == null)
            {
                return((float)0);
            }
            double damage = 0d;

            if (W1.IsReady() && R.IsReady())
            {
                damage += Player.Instance.GetSpellDamage(target, SpellSlot.W);
            }

            return((float)damage * 2);
        }
示例#9
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);
                    }
                }
            }
        }
示例#10
0
        private static void doHarass()
        {
            var Target    = SimpleTs.GetTarget(Q1.Range, SimpleTs.DamageType.Magical);
            var OrbTarget = LXOrbwalker.GetPossibleTarget();

            if (!IsCougar && (OrbTarget == null || !OrbTarget.IsMinion))
            {
                if (Q1.IsReady() && Config.Item("harass_Q1").GetValue <bool>())
                {
                    Q1.Cast(Target, PacketCasting);
                }

                if (W1.IsReady() && Config.Item("harass_W1").GetValue <bool>())
                {
                    W1.Cast(Target, PacketCasting);
                }
            }
        }
示例#11
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);
                    }
                }
            }
        }
示例#12
0
        public override void OnDraw(EventArgs args)
        {
            var draw = Features.Find(f => f.NameFeature == "Draw");

            if (draw.IsChecked("disable"))
            {
                DamageIndicator.Enabled = false;
                return;
            }

            if (!spiderForm)
            {
                if (draw.IsChecked("draw.q"))
                {
                    Circle.Draw(Q1.IsReady() ? Color.Blue : Color.Red, Q1.Range, Player.Instance.Position);
                }

                if (draw.IsChecked("draw.w"))
                {
                    Circle.Draw(W1.IsReady() ? Color.Blue : Color.Red, W1.Range, Player.Instance.Position);
                }

                if (draw.IsChecked("draw.e"))
                {
                    Circle.Draw(E1.IsReady() ? Color.Blue : Color.Red, E1.Range, Player.Instance.Position);
                }
            }
            else
            {
                if (draw.IsChecked("draw.q"))
                {
                    Circle.Draw(Q2.IsReady() ? Color.Blue : Color.Red, Q2.Range, Player.Instance.Position);
                }

                if (draw.IsChecked("draw.e"))
                {
                    Circle.Draw(E2.IsReady() ? Color.Blue : Color.Red, E2.Range, Player.Instance.Position);
                }
            }

            DamageIndicator.Enabled = draw.IsChecked("dmgIndicator");
        }
示例#13
0
        public void manageW()
        {
            var target = ARAMTargetSelector.getBestTarget(1400f);

            if (target == null)
            {
                return;
            }
            if (!player.IsBurrowed())
            {
                if (W1.IsReady() &&
                    player.HealthPercent < 9 &&
                    player.Mana > 0)
                {
                    W1.Cast();
                }

                if (W1.IsReady() &&
                    !player.QActive())
                {
                    W1.Cast();
                }

                if (!E1.IsInRange(target) &&
                    player.Distance(target.Position) < E2.Range &&
                    W1.IsReady())
                {
                    W1.Cast();
                }
            }
            else if (player.IsBurrowed())
            {
                if (W2.IsReady() &&
                    player.IsUnder(target))
                {
                    W2.Cast();
                }
            }
        }
示例#14
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);
                }
            }
        }
示例#15
0
        private static void Wlogic(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs args)
        {
            try
            {
                if (sender.IsMe || sender == null || !sender.IsEnemy || sender.IsMinion || W1.Level < 1 || !sender.IsValid || !Config.Item("combo.W").GetValue <bool>() || Player.IsWindingUp)
                {
                    return;
                }
                var lowestally = HeroManager.Allies.Where(a => !a.IsDead && a.IsValidTarget(W1.Range) && a.IsValid && !a.IsMe).OrderBy(a => a.Health).FirstOrDefault();

                //Will Prioritize W cast on Allies
                if (args.Target.IsMe && W1.IsReady() && lowestally == null && sender.IsEnemy)
                {
                    W1.Cast(Game.CursorPosRaw);
                }

                if (lowestally.Distance(Player.Position) > W1.Range)
                {
                    return;
                }

                if (args.Target.IsMe && lowestally != null && W1.IsReady() && sender.IsEnemy)
                {
                    W1.Cast(lowestally);
                }

                //Ally Receiving Damage
                if (args.Target.Position.Distance(player.Position) <= W1.Range && args.Target.IsAlly && sender.IsEnemy && lowestally != null)
                {
                    W1.Cast(lowestally);
                }
            }
            catch (Exception)
            {
            }
        }
示例#16
0
        private static void Drawings(EventArgs args)
        {
            if (Config.Item("disable.draws").GetValue <bool>())
            {
                return;
            }

            if (Config.Item("optimize").GetValue <bool>())
            {
                return;
            }

            if (Lux_E != null && Config.Item("draw.LuxE.position").GetValue <bool>())
            {
                var pos1 = Drawing.WorldToScreen(player.Position);
                var pos2 = Drawing.WorldToScreen(Lux_E.Position);


                Drawing.DrawLine(pos1, pos2, 1, System.Drawing.Color.LightBlue);
                Drawing.DrawCircle(Lux_E.Position, 100, System.Drawing.Color.Gray);

                foreach (var enemy in HeroManager.Enemies.Where(e => !e.IsDead))
                {
                    var pos3 = Drawing.WorldToScreen(enemy.Position);
                    if (enemy.Position.Distance(Lux_E.Position) < 200)
                    {
                        Drawing.DrawLine(pos2, pos3, 1, System.Drawing.Color.DarkRed);
                    }
                }
            }

            if (Config.Item("draw.Q").GetValue <Circle>().Active)
            {
                if (Q1.Level > 0)
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, Q1.Range,
                                             Q1.IsReady() ? Config.Item("draw.Q").GetValue <Circle>().Color : System.Drawing.Color.Red);
                }
            }

            if (Config.Item("draw.W").GetValue <Circle>().Active)
            {
                if (W1.Level > 0)
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, W1.Range,
                                             W1.IsReady() ? Config.Item("draw.W").GetValue <Circle>().Color : System.Drawing.Color.Red);
                }
            }

            if (Config.Item("draw.E").GetValue <Circle>().Active)
            {
                if (E1.Level > 0)
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, E1.Range - 1,
                                             E1.IsReady() ? Config.Item("draw.E").GetValue <Circle>().Color : System.Drawing.Color.Red);
                }
            }

            if (Config.Item("draw.R").GetValue <Circle>().Active)
            {
                if (R1.Level > 0)
                {
                    Render.Circle.DrawCircle(ObjectManager.Player.Position, R1.Range - 2,
                                             R1.IsReady() ? Config.Item("draw.R").GetValue <Circle>().Color : System.Drawing.Color.Red);
                }
            }
        }
示例#17
0
        public override void OnCombo()
        {
            var target = TargetSelector.GetTarget(spiderForm ? E2.Range : E1.Range, DamageType.Magical);

            if (target == null || !target.IsValidTarget())
            {
                return;
            }

            var combo = Features.Find(f => f.NameFeature == "Combo");

            if (spiderForm)
            {
                if (R.IsReady() && combo.IsChecked("combo.r"))
                {
                    if (W1.IsReady() && Q1.IsReady() && E1.IsReady())
                    {
                        R.Cast();
                    }
                }

                if (Q2.IsReady() && combo.IsChecked("combo.q2") && Q2.IsInRange(target))
                {
                    Q2.Cast(target);
                }

                if (E2.IsReady() && combo.IsChecked("combo.e2") && E2.IsInRange(target) && !Q2.IsInRange(target))
                {
                    E2.Cast(target);
                }

                if (W2.IsReady() && combo.IsChecked("combo.w2") && Player.Instance.IsInAutoAttackRange(target))
                {
                    W2.Cast();
                }
            }
            else
            {
                if (R.IsReady() && combo.IsChecked("combo.r"))
                {
                    if (!Q1.IsReady())
                    {
                        if (W1.IsReady() && combo.IsChecked("combo.w") && W1.IsInRange(target))
                        {
                            W1.Cast(W1.GetPrediction(target).CastPosition);
                            EloBuddy.SDK.Core.DelayAction(() => R.Cast(), 250);
                        }
                        else
                        {
                            R.Cast();
                        }
                    }
                }

                if (E1.IsReady() && combo.IsChecked("combo.e") && E1.IsInRange(target))
                {
                    SpellsUtil.HitChanceCast(E1, target);
                }

                if (Q1.IsReady() && combo.IsChecked("combo.q") && Q1.IsInRange(target))
                {
                    Q1.Cast(target);
                }
            }
        }
示例#18
0
        private void OnUpdate(EventArgs args)
        {
            if (Range && E.IsReady() && Utils.TickCount - Etick < 250 + Game.Ping)
            {
                E.Cast(EcastPos);
            }

            if (Config.Item("flee", true).GetValue <KeyBind>().Active)
            {
                FleeMode();
            }

            if (Range)
            {
                if (Config.Item("autoWmove", true).GetValue <bool>() && Orbwalker.GetTarget() != null && Player.HasBuff("jaycehyperchargevfx"))
                {
                    SebbyLib.Orbwalking.Move = false;
                }
                else
                {
                    SebbyLib.Orbwalking.Move = true;
                }

                if (Program.LagFree(1) && Q.IsReady() && Config.Item("autoQ", true).GetValue <bool>())
                {
                    LogicQ();
                }

                if (Program.LagFree(2) && W.IsReady() && Config.Item("autoW", true).GetValue <bool>())
                {
                    LogicW();
                }
            }
            else
            {
                SebbyLib.Orbwalking.Move = true;
                if (Program.LagFree(1) && E1.IsReady() && Config.Item("autoEm", true).GetValue <bool>())
                {
                    LogicE2();
                }

                if (Program.LagFree(2) && Q1.IsReady() && Config.Item("autoQm", true).GetValue <bool>())
                {
                    LogicQ2();
                }
                if (Program.LagFree(3) && W1.IsReady() && Config.Item("autoWm", true).GetValue <bool>())
                {
                    LogicW2();
                }
            }

            if (Program.LagFree(4))
            {
                if (Program.None && Config.Item("stack", true).GetValue <bool>() && !Player.HasBuff("Recall") && Player.Mana > Player.MaxMana * 0.90 && (Items.HasItem(Tear) || Items.HasItem(Manamune)))
                {
                    if (Utils.TickCount - Q.LastCastAttemptT > 4200 && Utils.TickCount - W.LastCastAttemptT > 4200 && Utils.TickCount - E.LastCastAttemptT > 4200)
                    {
                        if (Range)
                        {
                            if (W.IsReady())
                            {
                                W.Cast();
                            }
                            else if (E.IsReady() && (Player.InFountain() || Player.IsMoving))
                            {
                                E.Cast(Player.ServerPosition);
                            }
                            else if (Q.IsReady() && !E.IsReady())
                            {
                                Q.Cast(Player.Position.Extend(Game.CursorPos, 500));
                            }
                            else if (R.IsReady() && Player.InFountain())
                            {
                                R.Cast();
                            }
                        }
                        else
                        {
                            if (W.IsReady())
                            {
                                W.Cast();
                            }
                            else if (R.IsReady() && Player.InFountain())
                            {
                                R.Cast();
                            }
                        }
                    }
                }

                SetValue();
                if (R.IsReady())
                {
                    LogicR();
                }
            }

            Jungle();
            LaneClearLogic();
        }
示例#19
0
        public override void OnHarass()
        {
            var target = TargetSelector.GetTarget(spiderForm ? E2.Range : E1.Range, DamageType.Magical);

            var harass = Features.Find(f => f.NameFeature == "Harass");

            if (target == null || !target.IsValidTarget(1000) || harass.SliderValue("harass.mana") > Player.Instance.ManaPercent)
            {
                return;
            }

            if (spiderForm)
            {
                if (R.IsReady() && harass.IsChecked("harass.r"))
                {
                    if (!W2.IsReady() && !Q2.IsReady() && !Player.Instance.IsInAutoAttackRange(target))
                    {
                        R.Cast();
                    }
                }

                if (Q2.IsReady() && harass.IsChecked("harass.q2") && Q2.IsInRange(target))
                {
                    Q2.Cast(target);
                }

                if (E2.IsReady() && harass.IsChecked("harass.e2") && E2.IsInRange(target) && !Q2.IsInRange(target))
                {
                    E2.Cast(target);
                }

                if (W2.IsReady() && harass.IsChecked("harass.w2") && Player.Instance.IsInAutoAttackRange(target))
                {
                    W2.Cast();
                }
            }
            else
            {
                if (R.IsReady() && harass.IsChecked("harass.r"))
                {
                    if (!Q1.IsReady() && !E1.IsReady())
                    {
                        if (W1.IsReady() && harass.IsChecked("harass.w") && W1.IsInRange(target))
                        {
                            W1.Cast(W1.GetPrediction(target).CastPosition);
                            EloBuddy.SDK.Core.DelayAction(() => R.Cast(), 250);
                        }
                        else
                        {
                            R.Cast();
                        }
                    }
                }

                if (E1.IsReady() && harass.IsChecked("harass.e") && E1.IsInRange(target))
                {
                    SpellsUtil.HitChanceCast(E1, target);
                }

                if (Q1.IsReady() && harass.IsChecked("harass.q") && Q1.IsInRange(target))
                {
                    Q1.Cast(target);
                }

                if (W1.IsReady() && harass.IsChecked("harass.w") && W1.IsInRange(target))
                {
                    W1.Cast(W1.GetPrediction(target).CastPosition);
                }
            }
        }
示例#20
0
        public override void OnJungleClear()
        {
            var minions = EntityManager.MinionsAndMonsters.Monsters.Where(t => t.IsValidTarget(spiderForm ? E2.Range : E1.Range));

            var jungleclear = Features.Find(f => f.NameFeature == "Jungle Clear");

            if (minions == null || !minions.Any(t => t.IsValidTarget(spiderForm ? E2.Range : E1.Range)) || jungleclear.SliderValue("jungleclear.mana") > Player.Instance.ManaPercent)
            {
                return;
            }

            var target = minions.Aggregate((curMax, x) => ((curMax == null && x.IsValid) || x.MaxHealth > curMax.MaxHealth ? x : curMax));

            if (!target.IsValidTarget(spiderForm ? E2.Range : E1.Range))
            {
                target = minions.FirstOrDefault();
            }

            if (spiderForm)
            {
                if (R.IsReady() && jungleclear.IsChecked("jungleclear.r"))
                {
                    if (W1.IsReady() && Q1.IsReady())
                    {
                        R.Cast();
                    }
                }

                if (Q2.IsReady() && jungleclear.IsChecked("jungleclear.q2") && Q2.IsInRange(target))
                {
                    Q2.Cast(target);
                }

                if (W2.IsReady() && jungleclear.IsChecked("jungleclear.w2") && Player.Instance.IsInAutoAttackRange(target))
                {
                    W2.Cast();
                }
            }
            else
            {
                if (R.IsReady() && jungleclear.IsChecked("jungleclear.r"))
                {
                    if (!Q1.IsReady() && !W1.IsReady())
                    {
                        if (W1.IsReady() && jungleclear.IsChecked("jungleclear.w") && W1.IsInRange(target))
                        {
                            W1.Cast(target.Position);
                            EloBuddy.SDK.Core.DelayAction(() => R.Cast(), 250);
                        }
                        else
                        {
                            R.Cast();
                        }
                    }
                }

                if (Q1.IsReady() && jungleclear.IsChecked("jungleclear.q") && Q1.IsInRange(target))
                {
                    Q1.Cast(target);
                }

                if (W1.IsReady() && jungleclear.IsChecked("jungleclear.w") && W1.IsInRange(target))
                {
                    W1.Cast(target.Position);
                }
            }
        }
示例#21
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);
                        }
                    }
                }
            }
        }
示例#22
0
        private static void doCombo()
        {
            var Target   = SimpleTs.GetTarget(Q1.Range, SimpleTs.DamageType.Magical);
            var Marked   = Target.HasBuff("nidaleepassivehunted", true);
            var Hunting  = Player.HasBuff("nidaleepassivehunting", true);
            var Distance = Player.Distance(Target);
            var useItems = Config.Item("combo_Items").GetValue <bool>();

            if (useItems)
            {
                if (Items.CanUseItem(Bork.Id))
                {
                    Bork.Cast(Target);
                }
                if (Items.CanUseItem(Cutlass.Id))
                {
                    Cutlass.Cast(Target);
                }
            }

            var comboUT = Config.Item("combo_UT").GetValue <bool>();

            /* Human Form */
            if (!IsCougar)
            {
                if (Marked && R.IsReady() && Config.Item("combo_R").GetValue <bool>() && Distance < 750f ||
                    (!Q1.IsReady() && !Q1.IsReady(2500) && Target.Distance(Player) < 300f) &&
                    (!Utility.UnderTurret(Target, true) || comboUT))
                {
                    R.CastOnUnit(Player, PacketCasting);
                }

                else if (Q1.IsReady() && Config.Item("combo_Q1").GetValue <bool>())
                {
                    Q1.Cast(Target, PacketCasting);
                }

                else if (W1.IsReady() && Config.Item("combo_W1").GetValue <bool>())
                {
                    W1.Cast(Target, PacketCasting);
                }

                else if (E1.IsReady() && Config.Item("combo_E1").GetValue <bool>() &&
                         (!R.IsReady() || !Marked && Distance < W2.Range + 75f))
                {
                    E1.CastOnUnit(Player, PacketCasting);
                }
            }

            /* Cougar Form */
            else
            {
                if (!Marked && R.IsReady() && Config.Item("combo_R").GetValue <bool>() && Distance < W2.Range + 75f)
                {
                    R.CastOnUnit(Player, PacketCasting);
                    return;
                }

                // Deathfire grasp / Blackfire Torch
                var dmg = Q1.GetDamage(Target, 1) + W1.GetDamage(Target, 1) + E1.GetDamage(Target, 1);
                if (Target.IsValidTarget(DFG.Range) && Q1.IsReady() && W1.IsReady() && E1.IsReady() && dmg < Target.Health && (dmg * 1.2f) + (Target.MaxHealth * (DFG.Id == 3188 ? 0.20f : 0.15f)) > Target.Health && useItems)
                {
                    DFG.Cast(Target);
                }

                if (Marked && Hunting && W2.IsReady() && Config.Item("combo_W2").GetValue <bool>() && Distance < 750f &&
                    Distance > 200f && (!Utility
                                        .UnderTurret(Target, true) || comboUT))
                {
                    Player.Spellbook.CastSpell(SpellSlot.W, Target);
                }
                else if (E2.IsReady() && Distance < 300f)
                {
                    var Pred = Prediction.GetPrediction(Target, 0.5f);
                    E2.Cast(Pred.CastPosition, PacketCasting);
                }
            }
        }