Esempio n. 1
0
        public static void ECheck()
        {
            if (!Variables.spells[SpellSlot.E].IsReady())
            {
                return;
            }

            foreach (var target in GameObjects.EnemyHeroes.Where(h => !h.IsInvulnerable && !TargetSelector.IsInvulnerable(h, TargetSelector.DamageType.Physical, false) && h.IsValidTarget()))
            {
                var pushDistance = MenuExtensions.GetItemValue<Slider>("iseriesr.vayne.misc.condemn.pushdist").Value;
                var accuracy = MenuExtensions.GetItemValue<Slider>("iseriesr.vayne.misc.condemn.acc").Value / 100f;
                var targetPosition = Variables.spells[SpellSlot.E].GetPrediction(target).UnitPosition;

                var finalPosition = targetPosition.Extend(ObjectManager.Player.ServerPosition, -pushDistance);
                var finalPosition_ex = target.ServerPosition.Extend(ObjectManager.Player.ServerPosition, -pushDistance);

                var condemnRectangle = new iSRPolygon(iSRPolygon.Rectangle(targetPosition.To2D(), finalPosition.To2D(), target.BoundingRadius));
                var condemnRectangle_ex = new iSRPolygon(iSRPolygon.Rectangle(target.ServerPosition.To2D(), finalPosition_ex.To2D(), target.BoundingRadius));

                if (IsBothNearWall(target))
                {
                    return;
                }

                if (condemnRectangle.Points.Count(point => NavMesh.GetCollisionFlags(point.X, point.Y).HasFlag(CollisionFlags.Wall)) >= condemnRectangle.Points.Count() * accuracy
                    && condemnRectangle_ex.Points.Count(point => NavMesh.GetCollisionFlags(point.X, point.Y).HasFlag(CollisionFlags.Wall)) >= condemnRectangle_ex.Points.Count() * accuracy)
                {
                    Variables.spells[SpellSlot.E].Cast(target);
                    return;
                }
            }
        }
Esempio n. 2
0
        public static void ECheck(Vector3 from, bool castQFirst = false)
        {
            if (!Variables.spells[SpellSlot.E].IsReady())
            {
                return;
            }

            var pushDistance = MenuExtensions.GetItemValue<Slider>("iseriesr.vayne.misc.condemn.pushdist").Value;
            var accuracy = MenuExtensions.GetItemValue<Slider>("iseriesr.vayne.misc.condemn.acc").Value / 100f;

            if (pushDistance >= 410)
            {
                var PushEx = pushDistance;
                pushDistance -= (10 + (PushEx - 410) / 2);
            }

            foreach (var target in GameObjects.EnemyHeroes.Where(h => !h.IsInvulnerable && !TargetSelector.IsInvulnerable(h, TargetSelector.DamageType.Physical, false) && h.IsValidTarget()))
            {

                var targetPosition = Variables.spells[SpellSlot.E].GetPrediction(target).UnitPosition;

                var finalPosition = targetPosition.Extend(from, -pushDistance);
                var finalPosition_ex = target.ServerPosition.Extend(from, -pushDistance);

                var condemnRectangle = new iSRPolygon(iSRPolygon.Rectangle(targetPosition.To2D(), finalPosition.To2D(), target.BoundingRadius));
                var condemnRectangle_ex = new iSRPolygon(iSRPolygon.Rectangle(target.ServerPosition.To2D(), finalPosition_ex.To2D(), target.BoundingRadius));

                if (IsBothNearWall(target))
                {
                    return;
                }

                if (condemnRectangle.Points.Count(point => NavMesh.GetCollisionFlags(point.X, point.Y).HasFlag(CollisionFlags.Wall)) >= condemnRectangle.Points.Count() * accuracy
                    && condemnRectangle_ex.Points.Count(point => NavMesh.GetCollisionFlags(point.X, point.Y).HasFlag(CollisionFlags.Wall)) >= condemnRectangle_ex.Points.Count() * accuracy)
                {
                    if (castQFirst && VayneQ.IsSafe(from))
                    {
                        Variables.spells[SpellSlot.Q].Cast(from);
                        LeagueSharp.Common.Utility.DelayAction.Add((int)(250 + Game.Ping / 2f + 125), () =>
                        {
                            WardBush(from, targetPosition.Extend(from, -pushDistance));
                            Variables.spells[SpellSlot.E].Cast(target);
                        });
                        return;
                    }

                    WardBush(from, targetPosition.Extend(from, -pushDistance));
                    Variables.spells[SpellSlot.E].Cast(target);
                    return;
                }
            }
        }
Esempio n. 3
0
        public static void ExecuteLogic()
        {
            if (Variables.spells[SpellSlot.E].IsEnabledAndReady())
            {
                var firstTarget = TargetSelector.GetTarget(Variables.spells[SpellSlot.E].Range * 0.70f, TargetSelector.DamageType.Magical);

                if (firstTarget.IsValidTarget())
                {
                    var polygon = new iSRPolygon(iSRPolygon.Rectangle(
                        ObjectManager.Player.ServerPosition.To2D(), firstTarget.ServerPosition.To2D(), 100f));

                    if (HeroManager.Enemies.Count(m => polygon.Contains(m.ServerPosition.To2D())) >= 2)
                    {
                        Variables.spells[SpellSlot.E].Cast(firstTarget.ServerPosition);
                    }
                }
            }
        }