Beispiel #1
0
        private static void OnUpdate(EventArgs args)
        {
            if (Player.ChampionName == "Draven" || Player.IsMelee || !_menu.Item("positioningAssistant").GetValue<bool>())
                return;

            _orbwalker = Orbwalking.Orbwalker.Instances.FirstOrDefault();

            if (_orbwalker == null)
                return;

            _orbwalker.SetOrbwalkingPoint(Vector3.Zero);

            foreach (var enemy in Enemies.Where(enemy => enemy.IsMelee && enemy.IsValidTarget(DodgeRange) && enemy.IsFacing(Player)  && _menu.Item("posAssistant" + enemy.ChampionName).GetValue<bool>()))
            {
                if (Player.FlatMagicDamageMod > Player.FlatPhysicalDamageMod)
                    _blockAttack = true;

                var points = CirclePoints(20, 200, Player.Position);
                Vector3 bestPoint = Vector3.Zero;

                foreach (var point in points)
                {
                    if (enemy.Distance(point) > DodgeRange && (bestPoint == Vector3.Zero || Game.CursorPos.Distance(point) < Game.CursorPos.Distance(bestPoint)))
                    {
                        bestPoint = point;
                    }
                }

                if (enemy.Distance(bestPoint) > DodgeRange)
                {
                    _orbwalker.SetOrbwalkingPoint(bestPoint);
                }
                else
                {
                    var fastPoint = enemy.ServerPosition.Extend(Player.ServerPosition, DodgeRange);
                    if (fastPoint.CountEnemiesInRange(DodgeRange) <= Player.CountEnemiesInRange(DodgeRange))
                        _orbwalker.SetOrbwalkingPoint(fastPoint);
                }
                _dodgeTime = Utils.GameTimeTickCount;
                return;
            }

            if (_blockAttack)
                _blockAttack = false;
        }