Пример #1
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (FpsBalancer.CheckCounter())
            {
                return;
            }
            orbwalker.SetOrbwalkingPoint(Vector3.Zero);
            switch (orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                Harass();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                Clear();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                break;

            default:
                break;
            }
        }
Пример #2
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;
            }
        }
Пример #3
0
        private static void PositionHelper()
        {
            if (Player.ChampionName == "Draven" || !Config.Item("positioningAssistant").GetValue <bool>() || AIOmode == 2)
            {
                return;
            }

            if (Player.IsMelee)
            {
                Orbwalker.SetOrbwalkingPoint(new Vector3());
                return;
            }

            foreach (var enemy in Enemies.Where(enemy => enemy.IsMelee && enemy.IsValidTarget(dodgeRange) && enemy.IsFacing(Player) && Config.Item("posAssistant" + enemy.ChampionName).GetValue <bool>()))
            {
                if (Player.FlatMagicDamageMod > Player.FlatPhysicalDamageMod)
                {
                    OktwCommon.blockAttack = true;
                }

                var     points    = OktwCommon.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 = Game.Time;
                return;
            }

            Orbwalker.SetOrbwalkingPoint(new Vector3());
            if (OktwCommon.blockAttack == true)
            {
                OktwCommon.blockAttack = false;
            }
        }
Пример #4
0
        private void AxeLogic()
        {
            var t = TargetSelector.GetTarget(800, TargetSelector.DamageType.Physical);

            if (Config.Item("axeKill").GetValue <bool>() && t.IsValidTarget() && Player.Distance(t.Position) > 400 && Player.GetAutoAttackDamage(t) * 2 > t.Health)
            {
                Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                return;
            }
            if (axeList.Count == 0)
            {
                Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                return;
            }

            if (axeList.Count == 1)
            {
                CatchAxe(axeList.First());
                return;
            }
            else
            {
                var bestAxe = axeList.First();
                foreach (var obj in axeList)
                {
                    if (Game.CursorPos.Distance(bestAxe.Position) > Game.CursorPos.Distance(obj.Position))
                    {
                        bestAxe = obj;
                    }
                }
                CatchAxe(bestAxe);
            }
        }
Пример #5
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (Config.Item("AfkMode").GetValue <bool>())
            {
                Orbwalking.OrbwalkingMode ActiveMode = Orbwalking.OrbwalkingMode.LaneClear;
                if (Config.Item("laneclear").GetValue <bool>())
                {
                    ActiveMode = Orbwalking.OrbwalkingMode.LaneClear;
                }
                else if (Config.Item("mixed").GetValue <bool>())
                {
                    ActiveMode = Orbwalking.OrbwalkingMode.Mixed;
                }
                else if (Config.Item("combo").GetValue <bool>())
                {
                    ActiveMode = Orbwalking.OrbwalkingMode.Combo;
                }

                Obj_AI_Hero fallow = Player;
                foreach (var ally in Program.Allies.Where(ally => ally.IsValid))
                {
                    if (Config.Item("ally" + ally.ChampionName).GetValue <bool>())
                    {
                        fallow = ally;
                    }
                }

                if (fallow != Player)
                {
                    if (fallow.HasBuff("Recall") && fallow.InFountain())
                    {
                        Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                    }
                    List <Vector2> waypoints = fallow.GetWaypoints();

                    Orbwalker.ActiveMode = ActiveMode;
                    Orbwalker.SetOrbwalkingPoint(waypoints.Last <Vector2>().To3D());
                }
                else
                {
                    Orbwalker.ActiveMode = ActiveMode;
                    Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                }
            }
            else
            {
                Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                Orbwalker.ActiveMode = Orbwalking.OrbwalkingMode.None;
            }
        }
Пример #6
0
        public static void OrbwalkToPassive(Obj_AI_Hero target, FioraPassive passive)
        {
            if (Player.Spellbook.IsAutoAttacking)
            {
                return;
            }

            if (Menu.Item("OrbwalkAA").IsActive() && Orbwalking.CanAttack() &&
                target.IsValidTarget(FioraAutoAttackRange))
            {
                //Console.WriteLine("RETURN");
                return;
            }

            if (Menu.Item("OrbwalkQ").IsActive() && Q.IsReady())
            {
                return;
            }

            if (passive == null || passive.Target == null || Menu.Item("Orbwalk" + passive.Passive) == null ||
                !Menu.Item("Orbwalk" + passive.Passive).IsActive())
            {
                return;
            }

            var pos = passive.OrbwalkPosition; //PassivePosition;

            if (pos == Vector3.Zero)
            {
                return;
            }

            var underTurret    = Menu.Item("OrbwalkTurret").IsActive() && pos.UnderTurret(true);
            var outsideAARange = Menu.Item("OrbwalkAARange").IsActive() &&
                                 Player.Distance(pos) >
                                 FioraAutoAttackRange + 250 +
                                 (passive.Type.Equals(FioraPassive.PassiveType.UltPassive) ? 50 : 0);

            if (underTurret || outsideAARange)
            {
                return;
            }

            var path  = Player.GetPath(pos);
            var point = path.Length < 3 ? pos : path.Skip(path.Length / 2).FirstOrDefault();

            //  Console.WriteLine(path.Length);
            //Console.WriteLine("ORBWALK TO PASSIVE: " + Player.Distance(pos));
            Orbwalker.SetOrbwalkingPoint(target.IsMoving ? point : pos);
        }
Пример #7
0
 private void Game_OnGameUpdate(EventArgs args)
 {
     if (Config.Item("aim", true).GetValue <bool>())
     {
         var posPred = CalculateReturnPos();
         if (posPred != Vector3.Zero)
         {
             Orbwalker.SetOrbwalkingPoint(posPred);
         }
         else
         {
             Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
         }
     }
 }
Пример #8
0
        public void Following()
        {
            if ((DateTime.Now.Ticks - lastFollowTarget > nextFollowTargetDelay) ||
                followTarget == null ||
                followTarget.IsDead ||
                followTarget.HealthPercentage() < 25)
            {
                followTarget = GetFollowTarget(followTarget);
            }

            if (followTarget != null)
            {
                if (status != "GetBuff" && status != "Fight" && (DateTime.Now.Ticks - lastFollow > followDelay))
                {
                    Random r         = new Random();
                    int    distance1 = r.Next(50, 200);
                    int    distance2 = r.Next(50, 200);

                    if (Player.AttackRange >= followTarget.AttackRange)
                    {
                        if (Player.Team == GameObjectTeam.Chaos)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, new Vector3(followTarget.Position.X + distance1, followTarget.Position.Y, followTarget.Position.Z + distance2));
                            orb.SetOrbwalkingPoint(new Vector3(followTarget.Position.X + distance1, followTarget.Position.Y, followTarget.Position.Z + distance2));
                        }
                        else
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, new Vector3(followTarget.Position.X - distance1, followTarget.Position.Y, followTarget.Position.Z - distance2));
                            orb.SetOrbwalkingPoint(new Vector3(followTarget.Position.X - distance1, followTarget.Position.Y, followTarget.Position.Z - distance2));
                        }
                    }
                    else
                    {
                        if (Player.Team == GameObjectTeam.Order)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, new Vector3(followTarget.Position.X + distance1, followTarget.Position.Y, followTarget.Position.Z + distance2));
                            orb.SetOrbwalkingPoint(new Vector3(followTarget.Position.X + distance1, followTarget.Position.Y, followTarget.Position.Z + distance2));
                        }
                        else
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, new Vector3(followTarget.Position.X - distance1, followTarget.Position.Y, followTarget.Position.Z - distance2));
                            orb.SetOrbwalkingPoint(new Vector3(followTarget.Position.X - distance1, followTarget.Position.Y, followTarget.Position.Z - distance2));
                        }
                    }
                    lastFollow = DateTime.Now.Ticks;
                }
            }
        }
Пример #9
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            var wp = ObjectManager.Player.GetWaypoints();

            //in case you manually click to move
            if (wp.Count > 0 && ObjectManager.Player.Distance(wp[wp.Count - 1]) > 540)
            {
                CurrentMode          = Orbwalking.OrbwalkingMode.None;
                OrbWalker.ActiveMode = CurrentMode;
                return;
            }

            if (Controller == null || !Controller.Connected)
            {
                Game.PrintChat("Controller disconnected!");
                Game.OnGameUpdate -= Game_OnGameUpdate;
                return;
            }

            Controller.Update();
            UpdateStates();

            var p   = ObjectManager.Player.ServerPosition.To2D() + (Controller.LeftStick.Position / 75);
            var pos = new Vector3(p.X, p.Y, ObjectManager.Player.Position.Z);

            if (ObjectManager.Player.Distance(pos) < 75)
            {
                return;
            }


            CurrentPosition.Position = pos;
            OrbWalker.SetOrbwalkingPoint(pos);
        }
Пример #10
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var targ = target as Obj_AI_Base;

            if (!unit.IsMe || (targ == null))
            {
                return;
            }

            if (PassiveStacks > 0)
            {
                PassiveStacks = PassiveStacks - 1;
            }

            Orbwalker.SetOrbwalkingPoint(Vector3.Zero);
            var mode = Orbwalker.ActiveMode;

            if (mode.Equals(Orbwalking.OrbwalkingMode.None) || mode.Equals(Orbwalking.OrbwalkingMode.LastHit) ||
                mode.Equals(Orbwalking.OrbwalkingMode.LaneClear))
            {
                return;
            }

            if (spells[Spells.E].IsReady() && (target.Type == GameObjectType.AIHeroClient) && Misc.IsEOne)
            {
                spells[Spells.E].Cast();
            }

            if (ItemManager.IsActive())
            {
                ItemManager.CastItems(targ);
            }
        }
Пример #11
0
/*
 *      private static bool IsInStandRange()
 *      {
 *          return (Vector3.Distance(Game.CursorPos,Player.Position)<220);
 *      }
 */

        /// <summary>
        ///     Orbwalker to catch the axes.
        /// </summary>
        /// <param name="safeZone">Heroes safe zone,def 100</param>
        /// <param name="retSafeZone">Reticle safe zone, def 100</param>
        private static void OrbWalkToReticle(int safeZone, int retSafeZone)
        {
            Reticle closestRet = null;
            var     qRadius    = Menu.Item("QRadius").GetValue <Slider>().Value;

            foreach (var r in ReticleList.Where(r => !r.GetObj().IsValid))
            {
                ReticleList.Remove(r);
            }

            if (ReticleList.Count > 0)
            {
                float[] closestDist = { float.MaxValue };

                foreach (var r in
                         ReticleList.Where(
                             r =>
                             r.GetPosition().Distance(Game.CursorPos) <= qRadius &&
                             Player.Distance(r.GetPosition()) < closestDist[0])
                         .Where(r => IsZoneSafe(r.GetPosition(), retSafeZone) && IsZoneSafe(Player.Position, safeZone)))
                {
                    closestRet     = r;
                    closestDist[0] = Player.Distance(r.GetPosition());
                }
            }

            if (closestRet == null || RetInTurretRange(closestRet.GetPosition()))
            {
                return;
            }

            var qDist1            = Player.GetPath(closestRet.GetPosition()).ToList().To2D().PathLength();
            var canReachRet       = (qDist1 / Player.MoveSpeed + Game.Time) < (closestRet.GetEndTime());
            var canReachRetWBonus = (qDist1 / (Player.MoveSpeed + (Player.MoveSpeed * (GetMoveSpeedBonusW() / 100))) +
                                     Game.Time) < (closestRet.GetEndTime());
            var wNeeded = false;

            if (canReachRetWBonus && !canReachRet)
            {
                W.Cast();
                wNeeded = true;
            }
            if ((!canReachRet && !wNeeded))
            {
                return;
            }

            if (Player.Distance(closestRet.GetPosition()) >= 100)
            {
                Orbwalker.SetOrbwalkingPoint(
                    closestRet.GetPosition() != Game.CursorPos ? closestRet.GetPosition() : Game.CursorPos);
            }

            Console.WriteLine("Orbwalking to " + closestRet.GetPosition());
        }
Пример #12
0
 private static void Game_OnGameUpdate(EventArgs args)
 {
     ModeDetector();
     //Console.WriteLine(E.Instance.Name);
     if (Q.IsReady() && COMBO)
     {
         Qlogic();
     }
     if (W.IsReady())
     {
         Wlogic();
     }
     if (R.IsReady())
     {
         Rlogic();
     }
     else
     {
         Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
     }
 }
Пример #13
0
        private static void OnGameUpdate(EventArgs args)
        {
            LeagueSharp.Common.Utility.HpBarDamageIndicator.Enabled = _menu.SubMenu("Drawing").Item("drawDamage").GetValue <bool>();
            _target = TargetSelector.GetTarget(500, TargetSelector.DamageType.Physical);

            if (_orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Combo || _orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear)
            {
                _orbwalker.SetOrbwalkingPoint(new Vector3());
            }

            if (_orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                Combo(TargetSelector.GetTarget(500, TargetSelector.DamageType.Physical));
            }

            if (_orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
            {
                LaneClear();
            }

            KillSecure();
        }
Пример #14
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            return;

            if (R.IsReady() && COMBO)
            {
                int searchRange = 400;

                if (CanJump())
                {
                    searchRange = 1000;
                }

                foreach (var t in HeroManager.Enemies.Where(x => x.IsValidTarget(searchRange)))
                {
                    PredictionRnormal.From = R.GetPrediction(t).CastPosition;

                    foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget() && x.NetworkId != t.NetworkId && x.Distance(t) < Rnormal.Range))
                    {
                        PredictionRnormal.Unit = enemy;

                        var poutput2 = SebbyLib.Prediction.Prediction.GetPrediction(PredictionRnormal);


                        //Render.Circle.DrawCircle(Rnormal.From, 50, System.Drawing.Color.Yellow, 1);
                        //Console.WriteLine(" " + poutput2.AoeTargetsHitCount);
                        //Render.Circle.DrawCircle(poutput2.CastPosition, 50, System.Drawing.Color.Orange, 1);

                        var castPos = poutput2.CastPosition;
                        var ext     = castPos.Extend(PredictionRnormal.From, castPos.Distance(PredictionRnormal.From) + 250);

                        //Render.Circle.DrawCircle(ext, 50, System.Drawing.Color.YellowGreen, 1);


                        if (Player.Distance(ext) < 150)
                        {
                            R.Cast(t);
                            return;
                        }
                        else if (W.IsReady() && Player.Distance(ext) < W.Range)
                        {
                            Jump(ext);
                            return;
                        }
                        else if (Player.Distance(ext) < 300)
                        {
                            Orbwalker.SetOrbwalkingPoint(ext);
                            return;
                        }
                    }
                }
            }
            else
            {
                Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
            }
        }
Пример #15
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            var posPred = fallow();

            if (posPred != Vector3.Zero)
            {
                Orbwalker.SetOrbwalkingPoint(posPred);
            }
            else
            {
                Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
            }

            if (Program.LagFree(0))
            {
                SetMana();
                Jungle();
            }

            if (E.IsReady() && Config.Item("autoE", true).GetValue <bool>())
            {
                LogicE();
            }
            if (Program.LagFree(2) && W.IsReady() && Config.Item("autoW", true).GetValue <bool>())
            {
                LogicW();
            }
            if (Program.LagFree(3) && Q.IsReady() && Config.Item("autoQ", true).GetValue <bool>())
            {
                LogicQ();
            }
            if (Program.LagFree(4) && R.IsReady() && Config.Item("autoR", true).GetValue <bool>() && Program.Combo)
            {
                LogicR();
            }
        }
Пример #16
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (FpsBalancer.CheckCounter())
            {
                return;
            }
            orbwalker.SetOrbwalkingPoint(Vector3.Zero);
            switch (orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                Clear();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                break;

            default:
                break;
            }
            if (false && E.IsReady() && config.Item("AutoEDash", true).GetValue <bool>())
            {
                foreach (var data in HeroManager.Allies.Select(a => Program.IncDamages.GetAllyData(a.NetworkId)))
                {
                    foreach (var skillshot in
                             data.Damages.Where(
                                 d =>
                                 d.SkillShot != null && d.SkillShot.SkillshotData.Slot == SpellSlot.R &&
                                 d.SkillShot.SkillshotData.ChampionName == "Blitzcrank"))
                    {
                        E.Cast(skillshot.Target.Position.Extend(skillshot.SkillShot.StartPosition.To3D(), E.Range * 2));
                    }
                }
            }
        }
Пример #17
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (FpsBalancer.CheckCounter())
            {
                return;
            }
            orbwalker.SetOrbwalkingPoint(Vector3.Zero);
            orbwalker.SetAttack(true);
            switch (orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;

            case Orbwalking.OrbwalkingMode.Mixed:
                Harass();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                Clear();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                break;

            default:
                break;
            }
            if (W.IsReady())
            {
                var dTaken =
                    HeroManager.Enemies.Where(a => a.Distance(player) < W.Range)
                    .Sum(a => Program.IncDamages.GetEnemyData(a.NetworkId).DamageTaken);
                if (dTaken * 0.2f > config.Item("AutoW", true).GetValue <Slider>().Value)
                {
                    W.Cast();
                }
            }
        }
Пример #18
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            if (Control == null || !Control.IsConnected)
            {
                Game.PrintChat("Controller disconnected!");
                Game.OnGameUpdate -= Game_OnGameUpdate;
                return;
            }

            UpdateStates();
            var pos = ObjectManager.Player.ServerPosition;

            pos.X += CurrentPad.LeftThumbX / 100f;
            pos.Y += CurrentPad.LeftThumbY / 100f;

            if (ObjectManager.Player.Distance(pos) < 75)
            {
                return;
            }

            CurrentPosition.Position = pos;
            OrbWalker.SetOrbwalkingPoint(pos);
        }
Пример #19
0
        /// <summary>
        /// Orbwalker to catch the axes.
        /// </summary>
        /// <param name="SafeZone">Heroes safe zone,def 100</param>
        /// <param name="RetSafeZone">Reticle safe zone, def 100</param>
        private static void OrbWalkToReticle(int SafeZone, int RetSafeZone)
        {
            bool    toggle     = isEn("UseAARet");
            var     target     = ClosestHero(900f);
            Reticle ClosestRet = null;
            var     QRadius    = menu.Item("QRadius").GetValue <Slider>().Value;

            foreach (Reticle r in reticleList)
            {
                if (!r.getObj().IsValid)
                {
                    reticleList.Remove(r);
                }
            }
            if (reticleList.Count > 0)
            {
                float closestDist = float.MaxValue;

                foreach (Reticle r in reticleList)
                {
                    if (r.getPosition().Distance(Game.CursorPos) <= QRadius && player.Distance(r.getPosition()) < closestDist)
                    {
                        if (IsZoneSafe(r.getPosition(), RetSafeZone) && IsZoneSafe(player.Position, SafeZone))
                        {
                            ClosestRet  = r;
                            closestDist = player.Distance(r.getPosition());
                        }
                    }
                }
            }

            if (ClosestRet != null && !RetInTurretRange(ClosestRet.getPosition()))
            {
                float myHitbox          = 65;
                float QDist             = Vector2.Distance(ClosestRet.getPosition().To2D(), player.ServerPosition.To2D()) - myHitbox;
                float QDist1            = player.GetPath(ClosestRet.getPosition()).ToList().To2D().PathLength();
                bool  CanReachRet       = (QDist1 / player.MoveSpeed + Game.Time) < (ClosestRet.getEndTime());
                bool  CanReachRetWBonus = (QDist1 / (player.MoveSpeed + (player.MoveSpeed * (getMoveSpeedBonusW() / 100))) + Game.Time) < (ClosestRet.getEndTime());
                bool  WNeeded           = false;
                if (CanReachRetWBonus && !CanReachRet)
                {
                    W.Cast();
                    WNeeded = true;
                }
                if ((CanReachRet || WNeeded))
                {
                    WNeeded = false;

                    if (player.Distance(ClosestRet.getPosition()) >= 100)
                    {
                        if (ClosestRet.getPosition() != Game.CursorPos)
                        {
                            Orbwalker.SetOrbwalkingPoint(ClosestRet.getPosition());
                        }
                        else
                        {
                            Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                        }
                    }

                    Console.WriteLine("Orbwalking to " + ClosestRet.getPosition().ToString());
                }
            }
        }
Пример #20
0
        private void GameOnUpdate(EventArgs args)
        {
            var catchOption = DM.菜单.Item("AxeMode").GetValue <StringList>().SelectedIndex;

            if ((catchOption == 0 && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) ||
                (catchOption == 1 && Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.None) || catchOption == 2)
            {
                var bestReticle =
                    QReticles
                    .Where(
                        x =>
                        x.Object.Position.Distance(Game.CursorPos) <
                        DM.菜单.Item("CatchAxeRange").GetValue <Slider>().Value)
                    .OrderBy(x => x.Position.Distance(Player.ServerPosition))
                    .ThenBy(x => x.Position.Distance(Game.CursorPos))
                    .FirstOrDefault();

                if (bestReticle != null && bestReticle.Object.Position.Distance(Player.ServerPosition) > 110)
                {
                    var eta        = 1000 * (Player.Distance(bestReticle.Position) / Player.MoveSpeed);
                    var expireTime = bestReticle.ExpireTime - Environment.TickCount;

                    if (eta >= expireTime && DM.菜单.Item("UseWForQ", true).IsActive())
                    {
                        W.Cast();
                    }

                    if (DM.菜单.Item("DontCatchUnderTurret").IsActive())
                    {
                        // If we're under the turret as well as the axe, catch the axe
                        if (Player.UnderTurret(true) && bestReticle.Object.Position.UnderTurret(true))
                        {
                            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                            }
                            else
                            {
                                Orbwalker.SetOrbwalkingPoint(bestReticle.Position);
                            }
                        }
                        // Catch axe if not under turret
                        else if (!bestReticle.Position.UnderTurret(true))
                        {
                            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None)
                            {
                                Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                            }
                            else
                            {
                                Orbwalker.SetOrbwalkingPoint(bestReticle.Position);
                            }
                        }
                    }
                    else
                    {
                        if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None)
                        {
                            Player.IssueOrder(GameObjectOrder.MoveTo, bestReticle.Position);
                        }
                        else
                        {
                            Orbwalker.SetOrbwalkingPoint(bestReticle.Position);
                        }
                    }
                }
                else
                {
                    Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
                }
            }
            else
            {
                Orbwalker.SetOrbwalkingPoint(Game.CursorPos);
            }

            switch (Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Mixed:
                Harass();
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                JungleClear();
                LaneClear();
                break;

            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;
            }
        }
Пример #21
0
        private static void OnGameUpdate(EventArgs args)
        {
            UpdateBuffs();
            KillSteal();
            if (UsingLXOrbwalker)
            {
                if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo &&
                    Config.SubMenu("Combo").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Harass &&
                    Config.SubMenu("Harass").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Lasthit &&
                    Config.SubMenu("Farm").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.LaneClear &&
                    Config.SubMenu("LaneClear").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                else
                {
                    LXOrbwalker.CustomOrbwalkMode = false;
                }

                if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Combo)
                {
                    var target = LXOrbwalker.GetPossibleTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() && (Config.SubMenu("Combo").Item("UseW").GetValue <bool>()) &&
                        target.IsValidTarget(_W.Range))
                    {
                        _W.Cast();
                    }

                    if (_E.IsReady() && Config.SubMenu("Combo").Item("UseE").GetValue <bool>() &&
                        Player.Distance(target) > Config.SubMenu("Misc").Item("MinERange").GetValue <Slider>().Value)
                    {
                        _E.Cast(LXOrbwalker.GetPossibleTarget());
                    }
                }
                else if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Harass)
                {
                    var target = LXOrbwalker.GetPossibleTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() &&
                        (Config.SubMenu("Harass").Item("UseW").GetValue <bool>() && _W.InRange(target.Position)))
                    {
                        _W.Cast();
                    }

                    if (_E.IsReady() && Config.SubMenu("Harass").Item("UseE").GetValue <bool>() &&
                        Player.Distance(target) > Config.SubMenu("Misc").Item("MinERange").GetValue <Slider>().Value)
                    {
                        _E.Cast(target);
                    }
                }
                else if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.Lasthit)
                {
                    var target = LXOrbwalker.GetPossibleTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() && _W.InRange(target.Position) && Config.SubMenu("Farm").Item("UseW").GetValue <bool>())
                    {
                        _W.Cast();
                    }
                }
                else if (LXOrbwalker.CurrentMode == LXOrbwalker.Mode.LaneClear)
                {
                    var target = LXOrbwalker.GetPossibleTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() && _W.InRange(target.Position) && Config.SubMenu("LaneClear").Item("UseW").GetValue <bool>())
                    {
                        _W.Cast();
                    }
                }
            }
            else if (orbwalker != null)
            {
                if (orbwalker.ActiveMode.ToString() == "Combo" && Config.SubMenu("Combo").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                else if (orbwalker.ActiveMode.ToString() == "Mixed" &&
                         Config.SubMenu("Harass").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                else if (orbwalker.ActiveMode.ToString() == "LastHit" &&
                         Config.SubMenu("Farm").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                else if (orbwalker.ActiveMode.ToString() == "LaneClear" &&
                         Config.SubMenu("LaneClear").Item("UseQ").GetValue <bool>())
                {
                    OrbwalkToReticle(false, false);
                }
                else
                {
                    orbwalker.SetOrbwalkingPoint(new Vector3());
                }

                if (orbwalker.ActiveMode.ToString() == "Combo")
                {
                    var target = orbwalker.GetTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() && (Config.SubMenu("Combo").Item("UseW").GetValue <bool>()) &&
                        target.IsValidTarget(_W.Range))
                    {
                        _W.Cast();
                    }

                    if (_E.IsReady() && Config.SubMenu("Combo").Item("UseE").GetValue <bool>() &&
                        Player.Distance(target) > Config.SubMenu("Misc").Item("MinERange").GetValue <Slider>().Value)
                    {
                        _E.Cast(target);
                    }
                }
                else if (orbwalker.ActiveMode.ToString() == "Mixed")
                {
                    var target = orbwalker.GetTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() &&
                        (Config.SubMenu("Harass").Item("UseW").GetValue <bool>() && target.IsValidTarget(_W.Range)))
                    {
                        _W.Cast();
                    }

                    if (_E.IsReady() && Config.SubMenu("Harass").Item("UseE").GetValue <bool>() &&
                        Player.Distance(target) > Config.SubMenu("Misc").Item("MinERange").GetValue <Slider>().Value)
                    {
                        _E.Cast(target);
                    }
                }
                else if (orbwalker.ActiveMode.ToString() == "LastHit")
                {
                    var target = orbwalker.GetTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() && _W.InRange(target.Position) && Config.SubMenu("Farm").Item("UseW").GetValue <bool>())
                    {
                        _W.Cast();
                    }
                }
                else if (orbwalker.ActiveMode.ToString() == "LaneClear")
                {
                    var target = orbwalker.GetTarget();
                    if (!target.IsValidTarget())
                    {
                        return;
                    }

                    if (_W.IsReady() && _W.InRange(target.Position) && Config.SubMenu("LaneClear").Item("UseW").GetValue <bool>())
                    {
                        _W.Cast();
                    }
                }
            }
        }
Пример #22
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            Orbwalker.SetOrbwalkingPoint(Vector3.Zero);

            if (Player.IsDead || Flee())
            {
                return;
            }

            KillstealQ();
            KillstealW();
            DuelistMode();
            Farm();

            if (Player.IsDashing() || Player.IsWindingUp) // || Player.Spellbook.IsCastingSpell)
            {
                return;
            }

            if (!Orbwalker.ActiveMode.IsComboMode())
            {
                return;
            }

            var aaTarget = UltTarget.Target != null && UltTarget.Target.IsValidTarget(1000)
                ? UltTarget.Target
                : LockedTargetSelector.GetTarget(FioraAutoAttackRange, TargetSelector.DamageType.Physical);

            if (aaTarget != null)
            {
                Orbwalker.ForceTarget(aaTarget);

                if (Menu.Item("OrbwalkPassive").IsActive() &&
                    Menu.Item("Orbwalk" + Orbwalker.ActiveMode.GetModeString()).IsActive())
                {
                    OrbwalkToPassive(aaTarget);
                }
            }

            var target = UltTarget.Target != null && UltTarget.Target.IsValidTarget(Q.Range)
                ? UltTarget.Target
                : LockedTargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            //TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);

            if (target == null || !target.IsValidTarget(W.Range))
            {
                return;
            }


            if (Orbwalker.ActiveMode.Equals(Orbwalking.OrbwalkingMode.Mixed) &&
                Player.ManaPercent < Menu.Item("ManaHarass").GetValue <Slider>().Value)
            {
                return;
            }

            if (R.IsActive() && Menu.Item("RMode").GetValue <StringList>().SelectedIndex.Equals(1) && ComboR(target))
            {
                return;
            }

            if (Q.IsActive())
            {
                if (target.IsValidTarget(FioraAutoAttackRange) && !Orbwalking.IsAutoAttack(Player.LastCastedSpellName()))
                {
                    return;
                }

                CastQ(target);

                /*  var path = target.GetWaypoints();
                 * if (path.Count == 1 || Player.Distance(target) < 700)
                 * {
                 *  CastQ(target);
                 *  return;
                 * }
                 *
                 * var d = target.Distance(path[1]);
                 * var d2 = Player.Distance(path[1]);
                 * var t = d / target.MoveSpeed;
                 * var dT = Q.Delay + Game.Ping / 2000f - t;
                 * if ((dT > .2f || (d2 < 690 && dT > -1)) && CastQ(target))
                 * {
                 *  //  Console.WriteLine("{0} {1}", dT, d2);
                 * }*/
            }
        }
Пример #23
0
 public void setOrbwalkToCursorPos()
 {
     orbwalker.SetOrbwalkingPoint(new Vector3());
 }
Пример #24
0
 public void setOrbwalkToCursorPos()
 {
     orbwalker.SetOrbwalkingPoint(Game.CursorPos);
 }
Пример #25
0
        private void Combo()
        {
            orbwalker.SetOrbwalkingPoint(Vector3.Zero);

            var target        = TargetSelector.GetTarget(CustomSpell.Q.Range, TargetSelector.DamageType.Magical);
            var closestMinion = MinionManager.GetMinions(250, MinionTypes.All, MinionTeam.NotAlly).FirstOrDefault();

            if (target != null)
            {
                var buffCount = target.GetBuffCount(this.tahmPassive);
                switch (buffCount)
                {
                case 3:
                    if (CustomSpell.W.IsReady() &&
                        this.swallowedUnit == SwallowedUnit.None &&
                        target.Distance(ObjectManager.Player) <= CustomSpell.W.Range &&
                        TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchCombo")
                        .Item("SAssembliesChampionsTahmKenchComboW")
                        .GetValue <bool>())
                    {
                        CustomSpell.W.CastOnUnit(target);
                    }
                    else if (CustomSpell.Q.IsReady() &&
                             target.Distance(ObjectManager.Player) <= CustomSpell.Q.Range &&
                             TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchCombo")
                             .Item("SAssembliesChampionsTahmKenchComboQ")
                             .GetValue <bool>())
                    {
                        CustomSpell.Q.Cast(target);
                    }
                    break;

                default:
                    if (CustomSpell.W.IsReady() && !Orbwalking.InAutoAttackRange(target) &&
                        TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchCombo")
                        .Item("SAssembliesChampionsTahmKenchComboW")
                        .GetValue <bool>())
                    {
                        if (buffCount >= TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchCombo")
                            .Item("SAssembliesChampionsTahmKenchComboWMax")
                            .GetValue <Slider>()
                            .Value)
                        {
                            break;
                        }
                        if (this.swallowedUnit == SwallowedUnit.None && closestMinion != null)
                        {
                            CustomSpell.W.CastOnUnit(closestMinion);
                        }
                        else if (this.swallowedUnit == SwallowedUnit.Minion)
                        {
                            CustomSpell.W2.CastIfHitchanceEquals(target, HitChance.High);
                        }
                    }
                    if (CustomSpell.Q.IsReady() &&
                        target.Distance(ObjectManager.Player) <= CustomSpell.Q.Range &&
                        TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchCombo")
                        .Item("SAssembliesChampionsTahmKenchComboQ")
                        .GetValue <bool>())
                    {
                        CustomSpell.Q.Cast(target);
                    }
                    break;
                }
            }

            if (this.swallowedUnit == SwallowedUnit.Enemy &&
                TahmKenchChampion.GetSubMenu("SAssembliesChampionsTahmKenchW")
                .Item("SAssembliesChampionsTahmKenchWAutoMoveToAlly")
                .GetValue <bool>())
            {
                var hero = HeroManager.Allies
                           .OrderBy(x => ObjectManager.Player.Distance(x.Position))
                           .FirstOrDefault(x => !x.IsMe && ObjectManager.Player.Distance(x.Position) < 2000);
                var turret =
                    ObjectManager.Get <Obj_AI_Turret>()
                    .OrderBy(x => ObjectManager.Player.Distance(x.Position))
                    .FirstOrDefault(x => ObjectManager.Player.Distance(x.Position) < 2000 &&
                                    x.IsAlly);
                if (hero != null && turret != null)
                {
                    if (ObjectManager.Player.Distance(hero) < ObjectManager.Player.Distance(turret))
                    {
                        orbwalker.SetOrbwalkingPoint(hero.ServerPosition);
                    }
                    else if (ObjectManager.Player.Distance(hero) > ObjectManager.Player.Distance(turret))
                    {
                        orbwalker.SetOrbwalkingPoint(turret.ServerPosition);
                    }
                }
                else if (hero != null)
                {
                    orbwalker.SetOrbwalkingPoint(hero.ServerPosition);
                }
                else if (turret != null)
                {
                    orbwalker.SetOrbwalkingPoint(turret.ServerPosition);
                }
            }
        }