示例#1
0
        private static Obj_AI_Base WardJumpUnit(Vector3 pos, bool onlyPos = false)
        {
            var minions   = Program.Config.Item("jumpMinions").GetValue <bool>();
            var champions = Program.Config.Item("jumpChampions").GetValue <bool>();
            var wards     = Program.Config.Item("jumpWards").GetValue <bool>();

            var poly =
                new Geometry.Rectangle(
                    Player.Position.To2D().Extend(pos.To2D(), 200), Player.Position.To2D().Extend(pos.To2D(), 700), 60)
                .ToPolygon();

            if (minions)
            {
                Obj_AI_Minion selectedMinion =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Where(
                        minion =>
                        minion != null && minion.Distance(Player) <= 700 && minion.IsAlly &&
                        !poly.IsOutside(minion.Position.To2D()) && !minion.Name.ToLower().Contains("ward") &&
                        !minion.IsMe && (!onlyPos || minion.Distance(pos) < 70))
                    .OrderByDescending(a => Player.Distance(a))
                    .FirstOrDefault();
                if (selectedMinion != null)
                {
                    return(selectedMinion);
                }
            }
            if (champions)
            {
                Obj_AI_Hero selectedHero =
                    ObjectManager.Get <Obj_AI_Hero>()
                    .Where(
                        minion =>
                        minion != null && minion.Distance(Player) <= 700 && minion.IsAlly &&
                        !poly.IsOutside(minion.Position.To2D()) && !minion.IsMe &&
                        (!onlyPos || minion.Distance(pos) < 70))
                    .OrderByDescending(a => Player.Distance(a))
                    .FirstOrDefault();
                if (selectedHero != null)
                {
                    return(selectedHero);
                }
            }

            if (wards)
            {
                Obj_AI_Minion selectedMinion =
                    ObjectManager.Get <Obj_AI_Minion>()
                    .Where(
                        minion =>
                        minion != null && minion.Distance(Player) <= 700 && minion.IsAlly &&
                        !poly.IsOutside(minion.Position.To2D()) && minion.Name.ToLower().Contains("ward") &&
                        !minion.IsMe && (!onlyPos || minion.Distance(pos) < 70))
                    .OrderByDescending(a => Player.Distance(a))
                    .FirstOrDefault();
                // ReSharper disable once UseNullPropagation
                if (selectedMinion != null)
                {
                    return(selectedMinion);
                }
            }

            return(null);
        }
示例#2
0
        private static Obj_AI_Base WardJumpUnit(Vector3 pos, bool onlyPos = false)
        {
            var minions = Program.Config.Item("jumpMinions").GetValue<bool>();
            var champions = Program.Config.Item("jumpChampions").GetValue<bool>();
            var wards = Program.Config.Item("jumpWards").GetValue<bool>();

            var poly =
                new Geometry.Rectangle(
                    Player.Position.To2D().Extend(pos.To2D(), 200), Player.Position.To2D().Extend(pos.To2D(), 700), 60)
                    .ToPolygon();

            if (minions)
            {
                Obj_AI_Minion selectedMinion =
                    ObjectManager.Get<Obj_AI_Minion>()
                        .Where(
                            minion =>
                                minion != null && minion.Distance(Player) <= 700 && minion.IsAlly &&
                                !poly.IsOutside(minion.Position.To2D()) && !minion.Name.ToLower().Contains("ward") &&
                                !minion.IsMe && (!onlyPos || minion.Distance(pos) < 70))
                        .OrderByDescending(a => Player.Distance(a))
                        .FirstOrDefault();
                if (selectedMinion != null)
                {
                    return selectedMinion;
                }
            }
            if (champions)
            {
                Obj_AI_Hero selectedHero =
                    ObjectManager.Get<Obj_AI_Hero>()
                        .Where(
                            minion =>
                                minion != null && minion.Distance(Player) <= 700 && minion.IsAlly &&
                                !poly.IsOutside(minion.Position.To2D()) && !minion.IsMe &&
                                (!onlyPos || minion.Distance(pos) < 70))
                        .OrderByDescending(a => Player.Distance(a))
                        .FirstOrDefault();
                if (selectedHero != null)
                {
                    return selectedHero;
                }
            }

            if (wards)
            {
                Obj_AI_Minion selectedMinion =
                    ObjectManager.Get<Obj_AI_Minion>()
                        .Where(
                            minion =>
                                minion != null && minion.Distance(Player) <= 700 && minion.IsAlly &&
                                !poly.IsOutside(minion.Position.To2D()) && minion.Name.ToLower().Contains("ward") &&
                                !minion.IsMe && (!onlyPos || minion.Distance(pos) < 70))
                        .OrderByDescending(a => Player.Distance(a))
                        .FirstOrDefault();
                // ReSharper disable once UseNullPropagation
                if (selectedMinion != null)
                {
                    return selectedMinion;
                }
            }

            return null;
        }