예제 #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);
                    }
                }
            }
        }