Exemple #1
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            //check if player is dead
            if (Player.IsDead)
            {
                return;
            }

            SpellCastManager.CastBestLine(false, E, E2, (int)(E2.Range / 2), menu);

            AutoR();


            if (menu.Item("ComboActive", true).GetValue <KeyBind>().Active)
            {
                Combo();
            }
            else
            {
                if (menu.Item("LastHitQQ", true).GetValue <KeyBind>().Active)
                {
                    LastHit();
                }

                if (menu.Item("LaneClearActive", true).GetValue <KeyBind>().Active)
                {
                    Farm();
                }

                if (menu.Item("HarassActive", true).GetValue <KeyBind>().Active || menu.Item("HarassActiveT", true).GetValue <KeyBind>().Active)
                {
                    Harass();
                }
            }
        }
Exemple #2
0
        private void Harass()
        {
            var range  = E.IsReady() ? E.Range + E2.Range : Q.Range;
            var target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical);

            if (!target.IsValidTarget(range))
            {
                return;
            }

            var dmg = GetComboDamage(target);

            if (Menu.Item("UseEHarass", true).GetValue <bool>() && E.IsReady())
            {
                SpellCastManager.CastBestLine(true, E, E2, (int)(E2.Range / 2), Menu, 1, false);
            }

            if (Menu.Item("QAARange", true).GetValue <bool>())
            {
                if (Menu.Item("UseQHarass", true).GetValue <bool>() && target != null && Q.IsReady() &&
                    Player.ServerPosition.Distance(target.ServerPosition) <= Player.AttackRange) // Q only in AA range for guaranteed AutoAttack
                {
                    Q.Cast(target);
                }
            }
            else if (Menu.Item("UseQHarass", true).GetValue <bool>() && Q.IsReady() && Player.ServerPosition.Distance(target.ServerPosition) <= Q.Range)
            {
                Q.Cast(target);
            }
        }
Exemple #3
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            SpellCastManager.CastBestLine(false, R, R2, (int)(R2.Range / 2), Menu, .9f);

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

            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:
                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("UseMecR", true).GetValue <KeyBind>().Active)
                {
                    SpellCastManager.CastBestLine(true, R, R2, (int)(R2.Range / 2 + 100), Menu, .9f);
                }
                break;

            case Orbwalking.OrbwalkingMode.Flee:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Exemple #4
0
        private void Combo()
        {
            var range  = E.IsReady() ? E.Range + E2.Range : Q.Range;
            var target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical);

            if (!target.IsValidTarget(range))
            {
                return;
            }

            var dmg = GetComboDamage(target);

            if (Menu.Item("UseECombo", true).GetValue <bool>() && E.IsReady())
            {
                SpellCastManager.CastBestLine(true, E, E2, (int)(E2.Range / 2), Menu, 1, false);
            }

            if (Menu.Item("UseWCombo", true).GetValue <bool>() && W.IsReady() && ShouldW(target, dmg))
            {
                W.Cast(target);
            }

            if (Menu.Item("QAARange", true).GetValue <bool>())
            {
                if (Menu.Item("UseQCombo", true).GetValue <bool>() && target != null && Q.IsReady() &&
                    Player.ServerPosition.Distance(target.ServerPosition) <= Player.AttackRange)
                {
                    Q.Cast(target);
                    return;
                }
            }
            else if (Menu.Item("UseQCombo", true).GetValue <bool>() && Q.IsReady() &&
                     Player.ServerPosition.Distance(target.ServerPosition) <= Q.Range)
            {
                Q.Cast(target);
                return;
            }

            if (Menu.Item("UseRCombos", true).GetValue <bool>() && R.IsReady() && _rObj == null &&
                ShouldR(target, dmg) && R.GetPrediction(target).Hitchance >= HitChance.VeryHigh)
            {
                if (target != null)
                {
                    R.Cast(target.Position);
                }
            }
        }
Exemple #5
0
        protected override void Game_OnGameUpdate(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            SpellCastManager.CastBestLine(false, R, R2, (int)(R2.Range / 2), menu, .9f);

            if (menu.Item("ComboActive", true).GetValue <KeyBind>().Active)
            {
                Combo();
            }
            else
            {
                if (menu.Item("UseMecR", true).GetValue <KeyBind>().Active)
                {
                    SpellCastManager.CastBestLine(true, R, R2, (int)(R2.Range / 2 + 100), menu, .9f);
                }

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

                if (menu.Item("LaneClearActive", true).GetValue <KeyBind>().Active)
                {
                    Farm();
                }

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

                if (menu.Item("HarassActive", true).GetValue <KeyBind>().Active)
                {
                    Harass();
                }
            }
            //stay in dangerzone
            if (menu.Item("Stay_Danger", true).GetValue <KeyBind>().Active)
            {
                StayInDangerZone();
            }
        }
Exemple #6
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useR, string source)
        {
            var         range  = E.IsReady() ? (E.Range + E2.Range) : Q.Range;
            Obj_AI_Hero target = TargetSelector.GetTarget(range, TargetSelector.DamageType.Magical);

            if (!target.IsValidTarget(range))
            {
                return;
            }

            var dmg = GetComboDamage(target);

            if (useE && E.IsReady())
            {
                SpellCastManager.CastBestLine(true, E, E2, (int)(E2.Range / 2), menu, 1, false);
            }

            if (useW && W.IsReady() && ShouldW(target, dmg))
            {
                W.Cast(target);
            }

            if (menu.Item("QAARange", true).GetValue <bool>())
            {
                if (useQ && target != null && Q.IsReady() && Player.Distance(target) <= Player.AttackRange) // Q only in AA range for guaranteed AutoAttack
                {
                    Q.Cast(target);
                    return;
                }
            }

            else if (useQ && Q.IsReady() && Player.Distance(target) <= Q.Range)
            {
                Q.Cast(target);
                return;
            }

            if (useR && R.IsReady() && _rObj == null && ShouldR(target, dmg) && R.GetPrediction(target).Hitchance >= HitChanceManager.GetRHitChance(source))
            {
                if (target != null)
                {
                    R.Cast(target.Position);
                }
            }
        }