예제 #1
0
        private void Flee()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (Menu.GetBool("FleeW") && W.IsReady())
            {
                W.Cast(Me.Position.Extend(Game.CursorPos, W.Range));
            }
        }
예제 #2
0
        private static void FleeLogic()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (Menu.Item("FleeE").GetValue <bool>() && E.IsReady())
            {
                E.Cast(player, true);
            }
        }
예제 #3
0
        private void Flee()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (Menu.GetBool("FleeW") && W.IsReady())
            {
                W.Cast(Game.CursorPos);
            }
        }
예제 #4
0
파일: Kindred.cs 프로젝트: Dekryptor/Port-1
        private void Flee()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (Menu.GetBool("FleeQ") && Q.IsReady())
            {
                Q.Cast(Me.ServerPosition.Extend(Game.CursorPos, Q.Range), true);
            }
        }
예제 #5
0
        private void RFlashLogic()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            var rcount = Menu.Item("RFlashCount", true).GetValue <Slider>().Value;

            //SFX Challenger R Flash Logic

            if (_ballStatus != 0)
            {
                if (E.IsReady())
                {
                    E.CastOnUnit(Player);
                }

                return;
            }

            if (_isBallMoving)
            {
                return;
            }

            var target = TargetSelector.GetTarget(1000f, TargetSelector.DamageType.Magical);

            if (target.IsValidTarget(1000f) && !target.IsDashing() &&
                R.GetPrediction(target).UnitPosition.Distance(Player.Position) > 370f)
            {
                var flashPos = Player.Position.Extend(target.Position, 425f);
                var maxHits  = GetHits(flashPos);

                if (maxHits.Item1 > 0)
                {
                    if (TargetSelector.GetSelectedTarget() != null)
                    {
                        var t = TargetSelector.GetSelectedTarget();

                        if (t.IsValidTarget(425f + R.Width))
                        {
                            if (R.Cast(_currentBallPosition))
                            {
                                LeagueSharp.Common.Utility.DelayAction.Add(
                                    300 + Game.Ping / 2, () => ObjectManager.Player.Spellbook.CastSpell(Flash, Player.Position.Extend(t.Position, 425f)));
                            }
                        }
                    }
                    else if (maxHits.Item2.Count >= rcount)
                    {
                        if (R.Cast(_currentBallPosition))
                        {
                            LeagueSharp.Common.Utility.DelayAction.Add(
                                300 + Game.Ping / 2, () => ObjectManager.Player.Spellbook.CastSpell(Flash, flashPos));
                        }
                    }
                }
            }
        }
예제 #6
0
        private static void Flee()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (Menu.Item("FleeQ", true).GetValue <bool>() && Q.IsReady())
            {
                var pos = Me.Position.Extend(Game.CursorPos, Q.Range);
                Q.Cast(pos);
            }
        }
예제 #7
0
파일: FlashR.cs 프로젝트: waldow90/PortAIO
        internal static void Init()
        {
            if (Menu.GetKey("EnableFlashR"))
            {
                Orbwalking.MoveTo(Game.CursorPos);

                foreach (var target in HeroManager.Enemies.Where(em => em.Check(R.Range + 425f)))
                {
                    if (E.IsReady() && !SpellManager.HaveStun)
                    {
                        E.Cast();
                    }

                    var RPred     = R.GetPrediction(target, true);
                    var RHitCount = R.GetPrediction(target, true).AoeTargetsHitCount;

                    if (RPred.Hitchance >= HitChance.High && SpellManager.HaveStun)
                    {
                        if (Me.CountAlliesInRange(1000) >= Menu.GetSlider("FlashRCountsAlliesinRange") &&
                            Me.CountEnemiesInRange(R.Range + 425) >= Menu.GetSlider("FlashRCountsEnemiesinRange") &&
                            RHitCount >= Menu.GetSlider("FlashRCountsEnemiesinRange"))
                        {
                            Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition);
                            if (!Flash.IsReady())
                            {
                                R.Cast(R.GetPrediction(target, true).CastPosition, true);
                            }
                        }

                        if (Menu.GetBool("FlashRCanKillEnemy") && Me.CountEnemiesInRange(R.Range + 425) == 1 && Q.IsReady() &&
                            Ignite.IsReady() && target.Health < DamageCalculate.GetComboDamage(target))
                        {
                            Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition);
                            if (!Flash.IsReady())
                            {
                                R.Cast(R.GetPrediction(target, true).CastPosition, true); Me.Spellbook.CastSpell(Ignite, target); Q.Cast(target, true);
                            }
                        }
                        if (Menu.GetBool("FlashRCanKillEnemy") && Me.CountEnemiesInRange(R.Range + 425) == 1 && Q.IsReady() &&
                            target.Health < DamageCalculate.GetComboDamage(target))
                        {
                            Me.Spellbook.CastSpell(Flash, R.GetPrediction(target, true).CastPosition);
                            if (!Flash.IsReady())
                            {
                                R.Cast(R.GetPrediction(target, true).CastPosition, true);
                                Q.Cast(target, true);
                            }
                        }
                    }
                }
            }
        }
예제 #8
0
        protected override void OnPostUpdate()
        {
            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LastHit && !Player.Spellbook.IsAutoAttacking &&
                Menu.Item(Menu.Name + ".lasthit.q").GetValue <bool>() && Q.IsReady())
            {
                var m =
                    MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly)
                    .FirstOrDefault(
                        e =>
                        e.HealthPercent <= 75 &&
                        (_lastAaMinion == null || e.NetworkId != _lastAaMinion.NetworkId ||
                         Game.Time > _lastAaMinionEndTime) &&
                        HealthPrediction.GetHealthPrediction(e, (int)(Q.Delay * 1000f)) < Q.GetDamage(e));
                if (m != null)
                {
                    Casting.TargetSkill(m, Q);
                }
            }

            if (Ultimate.IsActive(UltimateModeType.Assisted) && R.IsReady())
            {
                if (Ultimate.ShouldMove(UltimateModeType.Assisted))
                {
                    Orbwalking.MoveTo(Game.CursorPos);
                }
                var target = TargetSelector.GetTarget(R);
                if (target != null && !RLogic(UltimateModeType.Assisted, target))
                {
                    RLogicSingle(UltimateModeType.Assisted);
                }
            }

            if (Ultimate.IsActive(UltimateModeType.Auto) && R.IsReady())
            {
                var target = TargetSelector.GetTarget(R);
                if (target != null && !RLogic(UltimateModeType.Auto, target))
                {
                    RLogicSingle(UltimateModeType.Auto);
                }
            }

            if (Menu.Item(Menu.Name + ".miscellaneous.e-auto").GetValue <bool>() && E.IsReady() &&
                ResourceManager.Check("auto-e") && !Player.IsRecalling() && !Player.InFountain())
            {
                var buff = GetEBuff();
                if (buff == null || buff.EndTime - Game.Time <= Game.Ping / 2000f + 0.5f)
                {
                    E.Cast();
                }
            }
        }
예제 #9
0
        private void Game_OnGameUpdate(EventArgs args)
        {
            if (false)
            {
                return;
            }

            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;
            }
            var data = Program.IncDamages.GetAllyData(player.NetworkId);

            if (config.Item("autoECC", true).GetValue <bool>() && data.AnyCC)
            {
                CastAutoE();
            }
            if (config.Item("autoEdmg2", true).GetValue <Slider>().Value / 100f * player.Health < data.DamageTaken &&
                E.IsReady() && !OnTrident)
            {
                CastAutoE();
            }
            if (config.Item("castR", true).GetValue <KeyBind>().Active&& R.IsReady())
            {
                AIHeroClient target = DrawHelper.GetBetterTarget(R.Range, TargetSelector.DamageType.Magical, true);
                if (target != null && R.CanCast(target))
                {
                    CastR(target);
                    Orbwalking.MoveTo(Game.CursorPos);
                }
            }
        }
예제 #10
0
        // Burst
        public void Oneshot()
        {
            // If player doesn't have mana don't execute the OneShot Combo
            if (Player.Mana < Q.ManaCost + W.ManaCost + E.ManaCost + R.ManaCost)
            {
                return;
            }

            if (Player.IsChannelingImportantSpell() || (Game.Time - Rtime < 2.5) ||
                Player.HasBuff("malzaharrsound"))
            {
                Orbwalker.SetAttack(false);
                Orbwalker.SetMovement(false);
                return;
            }
            Orbwalker.SetAttack(true);
            Orbwalker.SetMovement(true);

            Orbwalking.MoveTo(Game.CursorPos);

            var m = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);

            if (!m.IsValidTarget())
            {
                return;
            }

            if (Q.IsReady() && Q.IsInRange(m))
            {
                SpellCast.SebbySpellMain(Q, m);
            }

            if (E.IsReady() && E.IsInRange(m))
            {
                E.CastOnUnit(m);
            }

            if (W.IsReady())
            {
                W.Cast(m);
            }

            if (R.IsReady() && !E.IsReady() && !W.IsReady() && R.IsInRange(m))
            {
                R.CastOnUnit(m);
            }
        }
예제 #11
0
파일: Program.cs 프로젝트: wade1990/PortAIO
        public static void useQE()
        {
            Orbwalking.MoveTo(Game.CursorPos);
            var target = TargetSelector.GetSelectedTarget();

            if (target != null && target.IsValidTarget() && !target.IsZombie)
            {
                if (Player.Distance(target.Position) <= Q.Range)
                {
                    Q.Cast(target);
                }
                if (Player.Distance(target.Position) <= E.Range)
                {
                    E.Cast(target);
                }
            }
        }
예제 #12
0
        private void OnGameUpdate(EventArgs args)
        {
            try
            {
                if (ObjectManager.Player.IsDead || Game.Time - _lastCastTime < (Game.Ping / 1000f) + 0.25f ||
                    !Menu.Item(Name + "Hotkey").GetValue <KeyBind>().Active)
                {
                    return;
                }

                if (_spell != null && _heroJump != null && _spell.IsReady() &&
                    (_heroJump.CustomCheck != null && _heroJump.CustomCheck(_spell)))
                {
                    var jumpPosition = ObjectManager.Player.ServerPosition.Extend(
                        Game.CursorPos, Math.Min(_spell.Range, ObjectManager.Player.Position.Distance(Game.CursorPos)));

                    var possibleJumps = GetPossibleObjects(jumpPosition);

                    var target = possibleJumps.FirstOrDefault();
                    if (target != null)
                    {
                        _spell.CastOnUnit(target);
                        _lastCastTime = Game.Time;
                        return;
                    }
                    if (Game.Time - _lastWardTime >= 3 && Menu.Item(Name + "PlaceWards").GetValue <bool>())
                    {
                        var wardSlot = GetWardSlot();
                        if (wardSlot != SpellSlot.Unknown)
                        {
                            ObjectManager.Player.Spellbook.CastSpell(wardSlot, jumpPosition);
                            _lastWardTime = Game.Time;
                        }
                    }
                }

                if (Game.Time - _lastWardTime > (Game.Ping / 1000f) + 0.25f && Menu.Item(Name + "Move").GetValue <bool>())
                {
                    Orbwalking.MoveTo(Game.CursorPos, 25);
                }
            }
            catch (Exception ex)
            {
                Global.Logger.AddItem(new LogItem(ex));
            }
        }
예제 #13
0
파일: Program.cs 프로젝트: Dekryptor/Port-1
        private static void Escape() // some credits to 1337 :v) (also not as good, me suck)
        {
            var target  = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
            var enemies = HeroManager.Enemies.Where(t => t.IsValidTarget() && t.Distance(Player.Position) <= W.Range);

            if (Q.IsReady() && target.IsValidTarget() && Config.Item("QFlee").GetValue <bool>())
            {
                Q.Cast(target);
            }

            if (E.IsReady() && Config.Item("EFlee").GetValue <bool>())
            {
                E.Cast(Game.CursorPos);
                var enemy = enemies.OrderBy(t => t.Distance(Player.Position)).FirstOrDefault();
                if (enemy != null)
                {
                    var minion = ObjectManager.Get <Obj_AI_Minion>()
                                 .Where(m => m.Distance(enemy.Position) <= Q.Range)
                                 .OrderByDescending(m => m.Distance(Player.Position)).FirstOrDefault();

                    if (minion.IsValidTarget() && minion != null)
                    {
                        jumpfar = minion;
                    }
                }

                else if (enemy == null)
                {
                    var minion = ObjectManager.Get <Obj_AI_Minion>()
                                 .Where(m => m.Distance(Player.Position) <= Q.Range)
                                 .OrderByDescending(m => m.Distance(Player.Position)).FirstOrDefault();

                    if (minion.IsValidTarget() && minion != null)
                    {
                        jumpfar = minion;
                    }
                }
            }

            if (Player.AttackRange == 425 && jumpfar.IsValidTarget())
            {
                EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, jumpfar);
            }
            Orbwalking.MoveTo(Game.CursorPos);
        }
예제 #14
0
파일: LeeSin.cs 프로젝트: happymaj00r/Port
 private static void OnUpdateInsec(EventArgs args)
 {
     if (Player.IsDead || MenuGUI.IsChatOpen || Player.IsRecalling())
     {
         return;
     }
     Target = Q2.GetTarget(200);
     if (!GetValue <KeyBind>("Insec", "AdvancedInsec").Active&&
         !GetValue <KeyBind>("Insec", "NormalInsec").Active)
     {
         return;
     }
     Orbwalking.MoveTo(Game.CursorPos);
     if (IsReady && (GetValue <KeyBind>("Insec", "NormalInsec").Active || Flash.IsReady()))
     {
         Start(GetValue <KeyBind>("Insec", "NormalInsec").Active);
     }
 }
예제 #15
0
 private void OnGameUpdate(EventArgs args)
 {
     try
     {
         if (!Menu.Item(Name + "Hotkey").GetValue <KeyBind>().Active)
         {
             return;
         }
         if (Environment.TickCount - _lastCheck > 200)
         {
             _lastCheck = Environment.TickCount;
             Orbwalking.MoveTo(Game.CursorPos);
         }
     }
     catch (Exception ex)
     {
         Global.Logger.AddItem(new LogItem(ex));
     }
 }
예제 #16
0
파일: Caitlyn.cs 프로젝트: Dekryptor/Port-1
        private void OneKeyEQ()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (E.IsReady() && Q.IsReady())
            {
                var target = TargetSelector.GetSelectedTarget() ??
                             TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

                if (target.Check(E.Range))
                {
                    if (E.GetPrediction(target).CollisionObjects.Count == 0 && E.CanCast(target))
                    {
                        E.Cast(target);
                        SpellManager.PredCast(Q, target);
                    }
                }
            }
        }
예제 #17
0
        private void WardJump()
        {
            Orbwalking.MoveTo(Game.CursorPos);
            if (!Q.IsReady())
            {
                return;
            }
            var wardSlot = Items.GetWardSlot();
            var pos      = Game.CursorPos;

            if (pos.Distance(player.Position) > 600)
            {
                pos = player.Position.Extend(pos, 600);
            }

            var jumpObj = GetJumpObj(pos);

            if (jumpObj != null)
            {
                Q.CastOnUnit(jumpObj);
            }
            else
            {
                if (wardSlot != null && wardSlot.IsValidSlot() &&
                    (player.Spellbook.CanUseSpell(wardSlot.SpellSlot) == SpellState.Ready || wardSlot.Stacks != 0) &&
                    !justWJ)
                {
                    justWJ = true;
                    LeagueSharp.Common.Utility.DelayAction.Add(new Random().Next(1000, 1500), () => { justWJ = false; });
                    player.Spellbook.CastSpell(wardSlot.SpellSlot, pos);
                    LeagueSharp.Common.Utility.DelayAction.Add(
                        150, () =>
                    {
                        var predWard = GetJumpObj(pos);
                        if (predWard != null && Q.IsReady())
                        {
                            Q.CastOnUnit(predWard);
                        }
                    });
                }
            }
        }
예제 #18
0
        private void OneKeyEQ()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (E.IsReady() && Q.IsReady())
            {
                var target = TargetSelector.GetSelectedTarget() ??
                             TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);

                if (CheckTarget(target, E.Range))
                {
                    if (target.Health >= Q.GetDamage(target) + E.GetDamage(target) &&
                        E.GetPrediction(target).CollisionObjects.Count == 0 && E.CanCast(target))
                    {
                        E.Cast(target);
                        Q.CastTo(target);
                    }
                }
            }
        }
예제 #19
0
파일: Ashe.cs 프로젝트: waldow90/PortAIO
        private void OneKeyR()
        {
            Orbwalking.MoveTo(Game.CursorPos);

            if (R.IsReady())
            {
                var select = TargetSelector.GetSelectedTarget();
                var target = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

                if (select != null && !target.HasBuffOfType(BuffType.SpellShield) && target.IsValidTarget(R.Range))
                {
                    SpellManager.PredCast(R, target);
                }
                else if (select == null && target != null && !target.HasBuffOfType(BuffType.SpellShield) &&
                         target.IsValidTarget(R.Range))
                {
                    SpellManager.PredCast(R, target);
                }
            }
        }
예제 #20
0
파일: Program.cs 프로젝트: Dekryptor/Port-1
        private static void Flee()
        {
            Orbwalking.MoveTo(Game.CursorPos);
            var FleeW = Menu.Item("FleeW").GetValue <bool>();

            if (FleeW && W.IsReady())
            {
                W.Cast(Game.CursorPos);
            }
            //how to only r to minions near game cursopos,maybe working need more test
            var FleeR = Menu.Item("FleeR").GetValue <bool>();
            var m     = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsValidTarget(R.Range) && !x.IsAlly && R.CanCast(x)).
                        OrderBy(x => x.Position.Distance(Game.CursorPos)).FirstOrDefault();

            if (m != null && FleeR && R.IsReady())
            {
                R.CastOnUnit(m);
                return;
            }
        }
예제 #21
0
        private static void FlashCombo()
        {
            var rTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);

            if (rTarget == null && R.IsReady() && Player.Spellbook.CanUseSpell(Player.GetSpellSlot("SummonerFlash")) == SpellState.Ready)
            {
                int minr = Config.Item("Rminflash").GetValue <Slider>().Value;

                if (minr > 1)
                {
                    foreach (
                        PredictionOutput pred in
                        ObjectManager.Get <Obj_AI_Hero>()
                        .Where(x => x.IsValidTarget(R.Range))
                        .Select(x => R.GetPrediction(x, true))
                        .Where(pred => pred.Hitchance >= HitChance.High && pred.AoeTargetsHitCount >= minr)
                        )
                    {
                        PredictionOutput pred1 = pred;
                        Player.Spellbook.CastSpell(Player.GetSpellSlot("SummonerFlash"), pred1.CastPosition);
                        Utility.DelayAction.Add(10, () => R.Cast(pred1.CastPosition));
                    }
                }
                else
                {
                    Obj_AI_Hero target = TargetSelector.GetTarget(
                        R.Range,
                        TargetSelector.DamageType.Magical);
                    if (target != null)
                    {
                        Player.Spellbook.CastSpell(Player.GetSpellSlot("SummonerFlash"), target.Position);
                        Utility.DelayAction.Add(50, () => R.Cast(target.Position));
                    }
                }
            }
            if (Orbwalking.CanMove(100))
            {
                Orbwalking.MoveTo(Game.CursorPos, 80f);
                Combo();
            }
        }
예제 #22
0
        private static void Game_OnUpdate(EventArgs args)
        {
            if (Player.HasBuff("GarenE"))
            {
                Orbwalking.MoveTo(Game.CursorPos);
            }

            if (GetBool("main.settings.ignite"))
            {
                Casts.Ignite();
            }
            if (GetBool("main.settings.ks"))
            {
                Casts.R();
            }

            switch (orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                Combo();
                break;

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

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

            if (config.Item("main.settings.flee").GetValue <KeyBind>().Active)
            {
                Orbwalking.MoveTo(Game.CursorPos);
                if (q.IsReady())
                {
                    q.Cast();
                }
            }
        }
예제 #23
0
        private static void FlashCombo()
        {
            AIHeroClient target = DrawHelper.GetBetterTarget(EFlash.Range, TargetSelector.DamageType.Magical);

            if (target != null && E.IsReady() && E.ManaCost < player.Mana &&
                player.Distance(target.Position) < EFlash.Range && player.Distance(target.Position) > 480 &&
                !((getPosToEflash(target.Position)).IsWall()))
            {
                var pred          = EFlash.GetPrediction(target);
                var poly          = CombatHelper.GetPolyFromVector(getPosToEflash(target.Position), pred.UnitPosition, E.Width);
                var enemiesBehind =
                    HeroManager.Enemies.Count(
                        e =>
                        e.NetworkId != target.NetworkId && e.IsValidTarget(E.Range) &&
                        (poly.IsInside(E.GetPrediction(e).UnitPosition) || poly.IsInside(e.Position)) &&
                        e.Position.Distance(player.Position) > player.Distance(pred.UnitPosition));
                if (pred.Hitchance >= HitChance.High)
                {
                    LeagueSharp.Common.Utility.DelayAction.Add(
                        30, () =>
                    {
                        if (enemiesBehind > 0)
                        {
                            E.Cast(player.ServerPosition.Extend(pred.CastPosition, E.Range));
                        }
                        else
                        {
                            E.Cast(
                                player.ServerPosition.Extend(
                                    pred.CastPosition,
                                    player.Distance(pred.CastPosition) + Orbwalking.GetRealAutoAttackRange(target)));
                        }
                    });
                    player.Spellbook.CastSpell(player.GetSpellSlot("SummonerFlash"), getPosToEflash(target.Position));
                }
            }
            ItemHandler.UseItems(target, config);
            Orbwalking.MoveTo(Game.CursorPos);
        }
예제 #24
0
        protected override void OnPostUpdate()
        {
            if (Ultimate.IsActive(UltimateModeType.Assisted) && R.IsReady())
            {
                if (Ultimate.ShouldMove(UltimateModeType.Assisted))
                {
                    Orbwalking.MoveTo(Game.CursorPos);
                }

                if (!RLogic(UltimateModeType.Assisted, TargetSelector.GetTarget(R)))
                {
                    RLogicSingle(UltimateModeType.Assisted);
                }
            }

            if (Ultimate.IsActive(UltimateModeType.Auto) && R.IsReady())
            {
                if (!RLogic(UltimateModeType.Auto, TargetSelector.GetTarget(R)))
                {
                    RLogicSingle(UltimateModeType.Auto);
                }
            }
        }
예제 #25
0
        protected override void OnPostUpdate()
        {
            Orbwalker.SetAttack(!Q.IsCharging);
            if (Ultimate.IsActive(UltimateModeType.Assisted) && R.IsReady())
            {
                if (Ultimate.ShouldMove(UltimateModeType.Assisted))
                {
                    Orbwalking.MoveTo(Game.CursorPos);
                }

                if (!RLogic(UltimateModeType.Assisted, R.GetHitChance("combo"), TargetSelector.GetTarget(R)))
                {
                    RLogicSingle(UltimateModeType.Assisted, R.GetHitChance("combo"));
                }
            }

            if (Ultimate.IsActive(UltimateModeType.Auto) && R.IsReady())
            {
                if (!RLogic(UltimateModeType.Auto, R.GetHitChance("combo"), TargetSelector.GetTarget(R)))
                {
                    RLogicSingle(UltimateModeType.Auto, R.GetHitChance("combo"));
                }
            }
        }
예제 #26
0
        private static void OnUpdate(EventArgs args)
        {
            if (ObjectManager.Player.IsDead)
            {
                return;
            }

            if (Config.IsKeyPressed("xinsecKey"))
            {
                Orbwalking.MoveTo(Game.CursorPos);
                Xinsec.Execute();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                Combo.Execute();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear &&
                ObjectManager.Player.ManaPercent >= Config.GetSliderValue("jcMana"))
            {
                JungleClear.Execute();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed &&
                ObjectManager.Player.ManaPercent >= Config.GetSliderValue("harassMana"))
            {
                Harass.Execute();
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear &&
                ObjectManager.Player.ManaPercent >= Config.GetSliderValue("lcMana"))
            {
                LaneClear.Execute();
            }
        }
예제 #27
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            if (Menu.Item("smartKS", true).GetValue <bool>())
            {
                CheckKs();
            }

            AoeStun();
            ImmobileCast();

            if (Menu.Item("FarmT", true).GetValue <KeyBind>().Active)
            {
                Harass();
            }

            if (Menu.Item("LastHitE", true).GetValue <KeyBind>().Active)
            {
                LastHit();
            }

            if (Menu.Item("E_Poison", true).GetValue <bool>())
            {
                AutoEPoisonTargets();
            }

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

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

            case Orbwalking.OrbwalkingMode.LastHit:
                break;

            case Orbwalking.OrbwalkingMode.LaneClear:
                Farm();
                Jungle();
                break;

            case Orbwalking.OrbwalkingMode.None:
                if (Menu.Item("forceUlt", true).GetValue <KeyBind>().Active)
                {
                    Orbwalking.MoveTo(Game.CursorPos);
                    ForceUlt();
                }
                if (Menu.Item("flashUlt", true).GetValue <KeyBind>().Active)
                {
                    Orbwalking.MoveTo(Game.CursorPos);
                    FlashUlt();
                }
                break;
            }
        }
예제 #28
0
파일: Lux.cs 프로젝트: wade1990/PortAIO
        private static void Game_OnGameUpdate(EventArgs args)
        {
            switch (LuxMenu.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;
            }
            if (!ObjectManager.Player.IsDead && Helper.Enabled("auto.q.hit.two.enemy") && Spells.Q.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.Q.Range) && !x.IsDead && !x.IsZombie))
                {
                    AutoSpells.AutoQIfHit2Target(enemy);
                }
            }
            if (!ObjectManager.Player.IsDead && Helper.Enabled("auto.q.if.enemy.immobile") && Spells.Q.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.Q.Range) && !x.IsDead && !x.IsZombie))
                {
                    AutoSpells.AutoQIfEnemyImmobile(enemy);
                }
            }
            if (!ObjectManager.Player.IsDead && Helper.Enabled("auto.q.if.enemy.killable") && Spells.Q.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.Q.Range) && !x.IsDead && !x.IsZombie))
                {
                    AutoSpells.KillStealWithQ(enemy);
                }
            }
            if (!ObjectManager.Player.IsDead && Helper.Enabled("auto.e.hit.x.enemy") && Spells.E.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.E.Range) && !x.IsDead && !x.IsZombie))
                {
                    AutoSpells.AutoEIfHitXTarget(enemy);
                }
            }
            if (!ObjectManager.Player.IsDead && Helper.Enabled("auto.e.if.enemy.killable") && Spells.E.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.E.Range) && !x.IsDead && !x.IsZombie))
                {
                    AutoSpells.KillStealWithE(enemy);
                }
            }
            if (!ObjectManager.Player.IsDead && Helper.Enabled("auto.r.if.enemy.killable.r") && Spells.R.IsReady())
            {
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Helper.Slider("auto.r.min.distance.x")) && !x.IsDead && !x.IsZombie))
                {
                    AutoSpells.AutoRIfEnemyKillable(enemy);
                }
            }
            if (LuxMenu.Config.Item("manual.r").GetValue <KeyBind>().Active)
            {
                Orbwalking.MoveTo(Game.CursorPos);
                foreach (var enemy in HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.R.Range)))
                {
                    if (Spells.R.GetPrediction(enemy).Hitchance >= HitChance.High)
                    {
                        Spells.R.Cast(enemy);
                    }
                }
            }
        }
예제 #29
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            if (R.IsReady())
            {
                R.Range = Menu.Item("R_Max_Range", true).GetValue <Slider>().Value;
            }

            if (Menu.Item("smartKS", true).GetValue <bool>())
            {
                CheckKs();
            }


            if (Menu.Item("FarmT", true).GetValue <KeyBind>().Active)
            {
                Harass();
            }

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

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

            case Orbwalking.OrbwalkingMode.LastHit:
                break;

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

            case Orbwalking.OrbwalkingMode.Freeze:
                break;

            case Orbwalking.OrbwalkingMode.CustomMode:
                break;

            case Orbwalking.OrbwalkingMode.None:
                if (Menu.Item("Force_R", true).GetValue <KeyBind>().Active)
                {
                    Orbwalking.MoveTo(Game.CursorPos);
                    ForceR();
                }
                break;

            case Orbwalking.OrbwalkingMode.Flee:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #30
0
        public override void ComboMode()
        {
            //IDK why but i need this code since the patch 5.17
            if (champion.Player.IsChannelingImportantSpell())
            {
                Orbwalking.MoveTo(Game.CursorPos);
                return;
            }

            AIHeroClient target;

            if (W.UseOnCombo && !CheckPassive() && W.IsReady() && W.CanCast())
            {
                target = TargetSelector.GetTarget(champion.Player, W.Range, TargetSelector.DamageType.Physical);

                if (target != null)
                {
                    PredictionOutput wPrediction = W.GetPrediction(target);

                    if (wPrediction != null && wPrediction.Hitchance >= HitChance.High &&
                        wPrediction.CastPosition != Vector3.Zero)
                    {
                        if (W.Cast(wPrediction.CastPosition))
                        {
                            ProcessSpell();
                        }
                    }
                    else if (target != null &&
                             target.Distance(champion.Player) <= Orbwalking.GetRealAutoAttackRange(champion.Player))
                    {
                        if (W.Cast(target.ServerPosition))
                        {
                            ProcessSpell();
                        }
                    }
                }
            }

            if (Q.UseOnCombo && Q.IsReady() && Q.CanCast())
            {
                if (!CheckPassive())
                {
                    target = TargetSelector.GetTarget(champion.Player, Q.Range, TargetSelector.DamageType.Physical);

                    if (target != null)
                    {
                        if (target != null && Q.IsReadyToCastOn(target) && Q.CanCast(target))
                        {
                            if (Q.CastOnUnit(target))
                            {
                                ProcessSpell();
                            }
                        }
                    }
                }

                if (champion.CastExtendedQ())
                {
                    ProcessSpell();
                }
            }

            if (E.UseOnCombo && !CheckPassive() && E.IsReady() && E.CanCast() &&
                (!KoreanUtils.GetParamBool(champion.MainMenu, "dashmode") ||
                 (KoreanUtils.GetParamBool(champion.MainMenu, "dashmode") && lucian.semiAutomaticE.Holding)))
            {
                target = TargetSelector.GetTarget(
                    E.Range + Orbwalking.GetRealAutoAttackRange(champion.Player) - 25f,
                    TargetSelector.DamageType.Physical);

                if (target != null && target.IsEnemy && target.IsValid && !target.IsDead && lucian.semiAutomaticE.Cast(target))
                {
                    ProcessSpell();
                }
            }
        }