コード例 #1
0
        private static void EzECombo()
        {
            var target = TargetSelector.GetTargets(Q.Range + E.Range).OrderBy(i => i.Health).FirstOrDefault();

            if (target == null || !(target is AIHeroClient))
            {
                return;
            }

            if (target.HealthPercent > EEzSettings.TargetHeath.Value + 1)
            {
                return;
            }

            if (OnAA)
            {
                return;
            }

            EnsoulSharp.SDK.Geometry.Circle EPoints = new EnsoulSharp.SDK.Geometry.Circle(Player.Position, E.Range);
            var Echeck = new Spell(SpellSlot.Unknown, 1000f);

            Echeck.SetSkillshot(0.3f, 60f, 2000f, true, EnsoulSharp.SDK.Prediction.SkillshotType.Line);
            foreach (var EPoint in EPoints.Points)
            {
                if (Yasuo_LogicHelper.Logichelper.UnderTower(EPoint.ToVector3()))
                {
                    return;
                }

                Echeck.UpdateSourcePosition(EPoint.ToVector3(), EPoint.ToVector3());

                if (FSpred.Prediction.Prediction.GetPrediction(Echeck, target).Hitchance >= FSpred.Prediction.HitChance.High && target.Distance(EPoint) < Q.Range)
                {
                    if (EPoint.CountEnemyHeroesInRange(Player.GetRealAutoAttackRange() + 200) <= EEzSettings.TargetCount.Value)
                    {
                        if (E.Cast(EPoint, PacketCast))
                        {
                            return;
                        }
                    }
                }
            }
        }
コード例 #2
0
        private static void EzECombo()
        {
            var target = TargetSelector.SelectedTarget;

            /*float avgt = target.AvgMovChangeTime();
             * float movt = target.LastMovChangeTime();
             * float avgp = target.AvgPathLenght();
             * var waypoints = target.GetWaypoints();*/


            if (target == null ||
                !target.IsValidTarget(Q.Range) /*||
                                                * LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).HitChance == HitChance.Collision ||
                                                * LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).HitChance == HitChance.OutOfRange ||
                                                * LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).HitChance == HitChance.Medium ||
                                                * LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).HitChance == HitChance.Low ||
                                                * LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).HitChance == HitChance.None ||
                                                * LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).CastPosition.DistanceToPlayer() > Q.Range
                                                */
                )
            {
                target = TargetSelector.GetTarget(E.Range + Q.Range);
            }

            if (target == null || !(target is AIHeroClient))
            {
                return;
            }

            if (target == null || target.HealthPercent > EEzSettings.TargetHeath.Value + 1)
            {
                return;
            }

            if (OnAA)
            {
                return;
            }

            EnsoulSharp.SDK.Geometry.Circle EPoints = new EnsoulSharp.SDK.Geometry.Circle(Player.Position, E.Range);

            foreach (var EPoint in EPoints.Points)
            {
                float avgt      = target.AvgMovChangeTime();
                float movt      = target.LastMovChangeTime();
                float avgp      = target.AvgPathLenght();
                var   waypoints = target.GetWaypoints();

                if (EPoint != Vector2.Zero && EPoint.CountEnemyHeroesInRange(600) <= EEzSettings.TargetCount &&
                    !ObjectManager.Get <AITurretClient>()
                    .Any(i => i.IsEnemy && !i.IsDead && (i.Distance(EPoint) <= 850 + ObjectManager.Player.BoundingRadius))
                    )
                {
                    if (LinePrediction.GetPrediction(target, Q.Width, Q.Delay, Q.Speed, Q.Range, Q.Collision, waypoints, avgt, movt, avgp, target.LastAngleDiff(), Q.From.ToVector2(), Player.Position.ToVector2()).HitChance == EnsoulSharp.SDK.Prediction.HitChance.Collision)
                    {
                        return;
                    }

                    if (EPoint.Distance(target) < target.DistanceToPlayer() && EEzSettings.Ecombo.Enabled)
                    {
                        E.Cast(EPoint);
                    }
                }
            }
        }
コード例 #3
0
        private static void DoOrb(EventArgs args)
        {
            if (GameObjects.Player.IsDead)
            {
                return;
            }

            if (Orbwalker.ActiveMode > OrbwalkerMode.Harass)
            {
                return;
            }

            var target = TargetSelector.GetTarget(Q.Range + MoveRange, DamageType.Magical);

            if (target == null)
            {
                return;
            }

            var Epred = SebbyLibPorted.Prediction.Prediction.GetPrediction(E, target);

            if (E.IsReady() && Epred.Hitchance >= SebbyLibPorted.Prediction.HitChance.High && Ecombo.Enabled)
            {
                if (E.SPredictionCast(target, EnsoulSharp.SDK.HitChance.High))
                {
                    return;
                }
            }
            else
            {
                if (QClient() != null)
                {
                }
                if (Q.IsReady() && Qcombo.Enabled)
                {
                    var Qpred = SebbyLibPorted.Prediction.Prediction.GetPrediction(Q, target);
                    if (Q2())
                    {
                        if (Q2Now)
                        {
                            var CastPos = Qpred.CastPosition;
                            if (CastPos.DistanceToPlayer() > Q.Range)
                            {
                                if (R.IsReady())
                                {
                                    if (Q.Cast(CastPos))
                                    {
                                        DelayAction.Add(200, () =>
                                        {
                                            if (Qpred.Hitchance != SebbyLibPorted.Prediction.HitChance.Collision && R.Cast(CastPos))
                                            {
                                                return;
                                            }
                                        });
                                    }
                                }
                            }
                            else
                            {
                                if (Q.Cast(CastPos))
                                {
                                    return;
                                }
                            }
                        }
                    }
                    else
                    {
                        if (EDownClient() == null || EDownClient().DistanceToPlayer() > MoveRange + Q.Range)
                        {
                            var GetCastPos = Vector3.Zero;
                            var QGetPoss   = new EnsoulSharp.SDK.Geometry.Circle(GameObjects.Player.Position, 800f);
                            foreach (var QGetPos in QGetPoss.Points.OrderByDescending(i => i.Distance(Qpred.CastPosition)))
                            {
                                QCollision = new EnsoulSharp.SDK.Geometry.Rectangle(GameObjects.Player.Position.ToVector2(), QGetPos, Q.Width + 50);
                                var CheckCollision = GameObjects.EnemyMinions.Any(i => i.IsValid() && !i.IsDead && QCollision.IsInside(i));
                                if (CheckCollision == false)
                                {
                                    //Check For Collision
                                    {
                                        var QGeometry = new EnsoulSharp.SDK.Geometry.Rectangle(QGetPos.ToVector3(), Qpred.CastPosition, Q.Width + 50);

                                        if (QGeometry != null)
                                        {
                                            var CheckForCollision = GameObjects.EnemyMinions.Any(i => i.IsValid() && !i.IsDead && QGeometry.IsInside(i));
                                            if (CheckForCollision == false)
                                            {
                                                //Add Pos
                                                GetCastPos = QGetPos.ToVector3();
                                                GetBool    = false;
                                                if (Q.Cast(GetCastPos))
                                                {
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                GetBool = true;
                                                continue;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #4
0
        private static void Game_OnUpdate1(EventArgs args)
        {
            if (GameObjects.Player.IsDead)
            {
                return;
            }

            //Game.Print(QTimer + QFlyingTime + "  ----  " + Variables.TickCount);

            if (Orbwalker.GetTarget() != null)
            {
                if ((Orbwalker.GetTarget() as AIBaseClient).HasBuff("zoeesleepstun") && Q.IsReady())
                {
                    Orbwalker.AttackEnabled = false;
                }
                else
                {
                    Orbwalker.AttackEnabled = true;
                }
            }

            if (Orbwalker.ActiveMode > OrbwalkerMode.Harass)
            {
                return;
            }

            var EclientPos = Vector3.Zero;

            if (EClient() != null || EStunClient() != null)
            {
                if (EClient() != null)
                {
                    EclientPos = EClient().Position;
                }
                if (EStunClient() != null)
                {
                    EclientPos = EStunClient().Position;
                }

                if (EclientPos.DistanceToPlayer() < Q.Range + MoveRange)
                {
                    if (Q.IsReady())
                    {
                        if (Q2())
                        {
                            if (EclientPos.DistanceToPlayer() > Q.Range && QTimer + QFlyingTime < Variables.TickCount)
                            {
                                if (Q.Cast(EclientPos))
                                {
                                    DelayAction.Add(200, () =>
                                    {
                                        if (R.Cast(EclientPos))
                                        {
                                            return;
                                        }
                                    });
                                }
                            }
                            else
                            {
                                if (QTimer + QFlyingTime < Variables.TickCount)
                                {
                                    if (Q.Cast(EclientPos))
                                    {
                                        return;
                                    }
                                }
                            }
                        }

                        if (!Q2())
                        {
                            var GetCastPos = Vector3.Zero;
                            var QGetPoss   = new EnsoulSharp.SDK.Geometry.Circle(GameObjects.Player.Position, 800f);
                            foreach (var QGetPos in QGetPoss.Points.OrderByDescending(i => i.Distance(EclientPos)))
                            {
                                QCollision = new EnsoulSharp.SDK.Geometry.Rectangle(GameObjects.Player.Position.ToVector2(), QGetPos, Q.Width + 50);
                                var CheckCollision = GameObjects.EnemyMinions.Any(i => i.IsValid() && !i.IsDead && QCollision.IsInside(i));
                                if (CheckCollision == false)
                                {
                                    //Check For Collision
                                    {
                                        var QGeometry = new EnsoulSharp.SDK.Geometry.Rectangle(QGetPos.ToVector3(), EclientPos, Q.Width * 2);

                                        if (QGeometry != null)
                                        {
                                            var CheckForCollision = GameObjects.EnemyMinions.Any(i => i.IsValid() && !i.IsDead && QGeometry.IsInside(i));
                                            if (CheckForCollision == false)
                                            {
                                                //Add Pos
                                                GetCastPos = QGetPos.ToVector3();
                                                GetBool    = false;
                                                if (Q.Cast(GetCastPos))
                                                {
                                                    break;
                                                }
                                            }
                                            else
                                            {
                                                GetBool = true;
                                                continue;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }