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; } } } } }
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); } } } }