Пример #1
0
        private Vector3 GetJungleSafeTumblePos(Obj_AI_Minion target)
        {
            var cursorPos = Game.CursorPos;

            if (IsSafeTumblePos(cursorPos))
            {
                return(cursorPos);
            }

            if (!target.IsValidTarget())
            {
                return(Vector3.Zero);
            }

            var targetPosition = target.ServerPosition;

            var myTumbleRangeCircle =
                new Geometry.Circle(ObjectManager.Player.ServerPosition.To2D(), 300).ToPolygon().ToClipperPath();

            var goodCandidates = from p in myTumbleRangeCircle
                                 select new Vector2(p.X, p.Y).To3D() into v3
                                 let dist = v3.Distance(targetPosition)
                                            where dist > menu.Item("QMinDist", true).GetValue <Slider>().Value&& dist < 500
                                            select v3;

            return(goodCandidates.OrderByDescending(candidate => candidate.Distance(cursorPos)).FirstOrDefault());
        }
Пример #2
0
        private Vector3 GetSafeTumblePos(Obj_AI_Hero target)
        {
            if (!target.IsValidTarget()) return Vector3.Zero;

            var targetPosition = target.ServerPosition;

            var myTumbleRangeCircle =
                new Geometry.Circle(ObjectManager.Player.ServerPosition.To2D(), 300).ToPolygon().ToClipperPath();

            var goodCandidates = from p in myTumbleRangeCircle
                select new Vector2(p.X, p.Y).To3D() into v3
                let dist = v3.Distance(targetPosition)
                where dist > menu.Item("QMinDist", true).GetValue<Slider>().Value && dist < 500
                select v3;

            return goodCandidates.OrderBy(candidate => candidate.Distance(Game.CursorPos)).FirstOrDefault();
        }