示例#1
0
        private static void Auto()
        {
            if (R.Instance.SpellData.Name == "JhinRShot")
            {
                return;
            }

            foreach (var target in ObjectManager.Heroes.Enemies.Where(x => x.IsValidTarget(W.Range) && !x.CanMoveMent()))
            {
                if (MiscOption.GetBool("AutoW") && W.IsReady() && target.IsValidTarget(W.Range))
                {
                    SpellManager.PredCast(W, target, true);
                }

                if (MiscOption.GetBool("AutoE") && E.IsReady() &&
                    target.IsValidTarget(E.Range) && Utils.TickCount - LastECast > 2500 && !IsAttack)
                {
                    SpellManager.PredCast(E, target, true);
                }
            }
        }
示例#2
0
        private static void OneKeyCastR()
        {
            Me.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPosRaw);

            if (!R.IsReady())
            {
                return;
            }

            var target = MyTargetSelector.GetTarget(R.Range);

            if (target.IsValidTarget(R.Range) && !target.IsValidTarget(MiscOption.GetSlider("R", "RRange").Value))
            {
                var rPred = R.GetPrediction(target);

                if (rPred.Hitchance >= HitChance.High)
                {
                    R.Cast(rPred.CastPosition);
                }
            }
        }
示例#3
0
        private static void OnCreate(GameObject sender, EventArgs Args)
        {
            var _Rengar = ObjectManager.Heroes.Enemies.Find(heros => heros.ChampionName.Equals("Rengar"));
            var _Khazix = ObjectManager.Heroes.Enemies.Find(heros => heros.ChampionName.Equals("Khazix"));

            if (_Rengar != null && MiscOption.GetBool("AntiRengar"))
            {
                if (sender.Name == "Rengar_LeapSound.troy" && sender.Position.Distance(Me.Position) < E.Range)
                {
                    E.Cast(_Rengar.Position, true);
                }
            }

            if (_Khazix != null && MiscOption.GetBool("AntiKhazix"))
            {
                if (sender.Name == "Khazix_Base_E_Tar.troy" && sender.Position.Distance(Me.Position) <= 300)
                {
                    E.Cast(_Khazix.Position, true);
                }
            }
        }
示例#4
0
        private static void Auto()
        {
            if (R.Name == "JhinRShot")
            {
                return;
            }

            foreach (var target in GameObjects.EnemyHeroes.Where(x => x.IsValidTarget(W.Range) && !x.CanMoveMent()))
            {
                if (MiscOption.GetBool("W", "AutoW").Enabled&& W.IsReady() && target.IsValidTarget(W.Range))
                {
                    W.Cast(target.PreviousPosition);
                }

                if (MiscOption.GetBool("E", "AutoE").Enabled&& E.IsReady() &&
                    target.IsValidTarget(E.Range) && Variables.GameTimeTickCount - lastETime > 2500 && !isAttacking)
                {
                    E.Cast(target.PreviousPosition);
                }
            }
        }
示例#5
0
        private static void BeforeAttack(BeforeAttackEventArgs Args)
        {
            if (!Args.Unit.IsMe)
            {
                return;
            }

            if (isComboMode || isHarassMode)
            {
                var ForcusTarget = ObjectManager.Heroes.Enemies.FirstOrDefault(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius) && Has2WStacks(x));

                if (MiscOption.GetBool("ForcusAttack") && ForcusTarget != null && ForcusTarget.IsValidTarget(Me.AttackRange + Me.BoundingRadius - ForcusTarget.BoundingRadius + 15))
                {
                    myOrbwalker.ForceTarget(ForcusTarget);
                }
                else
                {
                    myOrbwalker.ForceTarget(null);
                }
            }
        }
示例#6
0
        private static void OnCreate(GameObject sender, EventArgs args)
        {
            var Rengar = ObjectManager.Heroes.Enemies.Find(heros => heros.ChampionName.Equals("Rengar"));
            var Khazix = ObjectManager.Heroes.Enemies.Find(heros => heros.ChampionName.Equals("Khazix"));

            if (Rengar != null && MiscOption.GetBool("AntiRengar"))
            {
                if (sender.Name == "Rengar_LeapSound.troy" && sender.Position.DistanceToPlayer() < E.Range && Rengar.IsValidTarget(E.Range))
                {
                    E.CastOnUnit(Rengar, true);
                }
            }

            if (Khazix != null && MiscOption.GetBool("AntiKhazix"))
            {
                if (sender.Name == "Khazix_Base_E_Tar.troy" && sender.Position.DistanceToPlayer() <= 300 && Khazix.IsValidTarget(E.Range))
                {
                    E.CastOnUnit(Khazix, true);
                }
            }
        }
示例#7
0
        private static void OnUpdate()
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (isWActive)
            {
                Orbwalker.AttackingEnabled = false;
                Me.IssueOrder(OrderType.MoveTo, Game.CursorPos);
            }
            else
            {
                Orbwalker.AttackingEnabled = true;
            }

            if (MiscOption.GetKey("R", "SemiR").Enabled&& R.Ready)
            {
                SemiRLogic();
            }

            AutoR2Logic();
            KillSteal();

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                Clear();
            }
        }
示例#8
0
        private static void OnUpdate()
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (Game.TickCount - LastForcusTime > Orbwalker.WindUpTime)
            {
                if (Orbwalker.Mode != OrbwalkingMode.None)
                {
                    Orbwalker.ForceTarget(null);
                }
            }

            if (R.GetBasicSpell().Level > 0 && R.Ready)
            {
                RLogic();
            }

            KillSteal();

            HideSettings(MiscOption.GetList("Stealth", "HideSelect").Value);

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                Farm();
            }
        }
示例#9
0
        private static void CastQCannonMouse()
        {
            Me.IssueOrder(OrderType.MoveTo, Game.CursorPos);

            if (isMelee && !R.Ready)
            {
                return;
            }

            if (isMelee && R.Ready)
            {
                R.Cast();
                return;
            }

            if (eCd == 0 && qCd == 0 && !isMelee)
            {
                if (MiscOption.GetList("QE", "SemiQEMode").Value == 1)
                {
                    var gateDis    = MiscOption.GetSlider("E", "gatePlace").Value;
                    var gateVector = Me.ServerPosition + Vector3.Normalize(Game.CursorPos - Me.ServerPosition) * gateDis;

                    if (E.Ready && QE.Ready)
                    {
                        E.Cast(gateVector);
                        QE.Cast(Game.CursorPos);
                    }
                }
                else
                {
                    var qTarget = MyTargetSelector.GetTarget(QE.Range);

                    if (qTarget != null && qTarget.IsValidTarget(QE.Range) && qCd == 0)
                    {
                        CastQCannon(qTarget, true);
                    }
                }
            }
        }
示例#10
0
        private static void OnUpdate()
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (Me.HasBuff("missfortunebulletsound"))
            {
                Orbwalker.AttackingEnabled = false;
                Orbwalker.MovingEnabled    = false;
                return;
            }

            Orbwalker.AttackingEnabled = true;
            Orbwalker.MovingEnabled    = true;

            if (MiscOption.GetKey("R", "SemiR").Enabled&& R.Ready)
            {
                SemiRLogic();
            }

            KillSteal();

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                FarmHarass();
            }
        }
示例#11
0
        private static void OnUpdate(EventArgs args)
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (Me.HasBuff("VarusQLaunch") || Me.HasBuff("VarusQ"))
            {
                Me.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPosRaw);
            }

            if (Me.IsWindingUp)
            {
                return;
            }

            if (MiscOption.GetKey("R", "SemiR").Active)
            {
                SemiRLogic();
            }

            KillSteal();

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

            case OrbwalkerMode.Harass:
                Harass();
                break;

            case OrbwalkerMode.LaneClear:
                FarmHarass();
                break;
            }
        }
示例#12
0
        private static void OnEnemyGapcloser(ActiveGapcloser Args)
        {
            if (R.Instance.SpellData.Name == "JhinRShot")
            {
                return;
            }

            var target = Args.Sender;

            if (target.IsValidTarget(E.Range) && (Args.End.DistanceToPlayer() <= 300 || target.DistanceToPlayer() <= 300))
            {
                if (MiscOption.GetBool("GapE") && E.IsReady() && Utils.TickCount - LastECast > 2500 && !IsAttack)
                {
                    SpellManager.PredCast(E, target, true);
                }

                if (MiscOption.GetBool("GapW") && W.IsReady() && HasPassive(target))
                {
                    SpellManager.PredCast(W, target, true);
                }
            }
        }
示例#13
0
        private static void AutoUseEvent()
        {
            if (MiscOption.GetKey("R", "SemiRKey").Enabled&& Me.SpellBook.GetSpell(SpellSlot.R).Level > 0 && R.Ready)
            {
                var target = MyTargetSelector.GetTarget(R.Range);

                if (target.IsValidTarget(R.Range) && !target.IsValidTarget(MiscOption.GetSlider("R", "GlobalRMin").Value))
                {
                    var rPred = R.GetPrediction(target);

                    if (rPred.HitChance >= HitChance.High)
                    {
                        R.Cast(rPred.CastPosition);
                    }
                }
            }

            if (MiscOption.GetBool("W", "WSlow").Enabled&& W.Ready && Me.HasBuffOfType(BuffType.Slow))
            {
                W.Cast();
            }
        }
示例#14
0
        private static void OnUpdate()
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (W.GetBasicSpell().Level > 0)
            {
                W.Range = wRange;
            }

            if (R.GetBasicSpell().Level > 0)
            {
                R.Range = rRange;
            }

            if (MiscOption.GetKey("R", "SemiR").Enabled)
            {
                SemiRLogic();
            }

            KillSteal();

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                FarmHarass();
            }
        }
示例#15
0
        private static void OnUpdate()
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (W.GetBasicSpell().Level > 0)
            {
                W.Range = 500f + new[] { 130, 150, 170, 190, 210 }[W.GetBasicSpell().Level - 1];
            }

            if (R.GetBasicSpell().Level > 0)
            {
                R.Range = 1200f + 300f * R.GetBasicSpell().Level - 1;
            }

            if (MiscOption.GetKey("SemiR").Enabled)
            {
                SemiRLogic();
            }

            KillSteal();

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                FarmHarass();
            }
        }
示例#16
0
        private static void OnUpdate(EventArgs args)
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (Me.IsWindingUp)
            {
                return;
            }

            if (R.Level > 0)
            {
                R.Range = rRange;
            }

            if (MiscOption.GetKey("R", "SemiR").Active)
            {
                SemiRLogic();
            }

            KillSteal();

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

            case OrbwalkerMode.Harass:
                Harass();
                break;

            case OrbwalkerMode.LaneClear:
                FarmHarass();
                break;
            }
        }
示例#17
0
        private static void OnUpdate(EventArgs args)
        {
            foreach (var sender in AxeList.Where(x => x.Key.IsDead || !x.Key.IsValid).Select(x => x.Key))
            {
                AxeList.Remove(sender);
            }

            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (Me.IsWindingUp)
            {
                return;
            }

            R.Range = MiscOption.GetSlider("R", "GlobalRMax").Value;

            CatchAxeEvent();
            KillStealEvent();
            AutoUseEvent();

            switch (Orbwalker.ActiveMode)
            {
            case OrbwalkerMode.Combo:
                ComboEvent();
                break;

            case OrbwalkerMode.Harass:
                HarassEvent();
                break;

            case OrbwalkerMode.LaneClear:
                ClearEvent();
                break;
            }
        }
示例#18
0
        private static void Auto()
        {
            if (Me.IsUnderEnemyTurret())
            {
                return;
            }

            if (MiscOption.GetBool("Q", "AutoQ").Enabled&& Q.IsReady())
            {
                foreach (var target in GameObjects.EnemyHeroes.Where(x => x.IsValidTarget(Q.Range) && !x.CanMoveMent()))
                {
                    if (target.IsValidTarget(Q.Range))
                    {
                        Q.Cast(target.PreviousPosition);
                    }
                }
            }

            if (MiscOption.GetBool("R", "AutoR").Enabled&& R.IsReady() && Me.CountEnemyHeroesInRange(850) >= 3)
            {
                R.Cast();
            }
        }
示例#19
0
        private static void AutoRLogic()
        {
            foreach (
                var target in
                GameObjects.EnemyHeroes.Where(
                    x =>
                    x.IsValidTarget(R.Range) && x.DistanceToPlayer() >= MiscOption.GetSlider("R", "RRange").Value))
            {
                if (!target.CanMoveMent() && target.IsValidTarget(EQ.Range) &&
                    Me.GetSpellDamage(target, SpellSlot.R) + Me.GetSpellDamage(target, SpellSlot.Q) * 3 >=
                    target.Health + target.HPRegenRate * 2)
                {
                    R.Cast(target);
                }

                if (Me.GetSpellDamage(target, SpellSlot.R) > target.Health + target.HPRegenRate * 2 &&
                    target.Path.Length < 2 &&
                    R.GetPrediction(target).Hitchance >= HitChance.High)
                {
                    R.Cast(target);
                }
            }
        }
示例#20
0
        private static void Auto()
        {
            if (Me.UnderTurret(true))
            {
                return;
            }

            if (MiscOption.GetBool("AutoQ") && Q.IsReady())
            {
                foreach (var target in ObjectManager.Heroes.Enemies.Where(x => x.IsValidTarget(Q.Range) && !x.CanMoveMent()))
                {
                    if (target.IsValidTarget(Q.Range))
                    {
                        SpellManager.PredCast(Q, target, true);
                    }
                }
            }

            if (MiscOption.GetBool("AutoR") && R.IsReady() && Me.CountEnemiesInRange(850) >= 3)
            {
                R.Cast();
            }
        }
示例#21
0
        private static void OnGapcloser(Obj_AI_Hero target, GapcloserArgs Args)
        {
            if (MiscOption.GetBool("E", "AutoE").Enabled&& E.Ready && target != null && target.IsValidTarget(E.Range))
            {
                switch (Args.Type)
                {
                case SpellType.Melee:
                    if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100))
                    {
                        E.CastOnUnit(target);
                    }
                    break;

                case SpellType.Dash:
                case SpellType.SkillShot:
                case SpellType.Targeted:
                {
                    E.CastOnUnit(target);
                }
                break;
                }
            }
        }
示例#22
0
        private static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (sender == null || !sender.IsEnemy || !sender.IsMelee() || sender.ObjectType != GameObjectType.AIHeroClient || Args.Target == null || !Args.Target.IsMe)
            {
                return;
            }

            if (MiscOption.GetBool("QMelee") && Q.IsReady())
            {
                if (sender.DistanceToPlayer() <= 300 && Me.HealthPercent <= 40)
                {
                    if (sender.Health < Me.GetAutoAttackDamage(sender) * 2)
                    {
                        return;
                    }

                    if (Me.CanMoveMent())
                    {
                        Q.Cast(Me.Position.Extend(sender.Position, -300), true);
                    }
                }
            }
        }
示例#23
0
        private static void KillStealEvent()
        {
            if (KillStealOption.UseE && E.IsReady())
            {
                if (
                    GameObjects.EnemyHeroes.Where(
                        x =>
                        x.IsValidTarget(E.Range) &&
                        x.Health <
                        E.GetKalistaRealDamage(x,
                                               MiscOption.GetSliderBool("E", "EToler").Enabled,
                                               MiscOption.GetSliderBool("E", "EToler").Value) &&
                        !x.IsUnKillable()).Any(target => target.IsValidTarget(E.Range)))
                {
                    E.Cast();
                }
            }

            if (KillStealOption.UseQ && Q.IsReady() && Variables.GameTimeTickCount - lastETime > 1000)
            {
                foreach (
                    var target in
                    GameObjects.EnemyHeroes.Where(
                        x => x.IsValidTarget(Q.Range) && x.Health < Me.GetSpellDamage(x, SpellSlot.Q) && !x.IsUnKillable()))
                {
                    if (target.IsValidTarget(Q.Range))
                    {
                        var qPred = Q.GetPrediction(target);

                        if (qPred.Hitchance >= HitChance.High)
                        {
                            Q.Cast(qPred.CastPosition);
                        }
                    }
                }
            }
        }
示例#24
0
        private static void BeforeAttack(BeforeAttackEventArgs Args)
        {
            if (!Args.Target.IsMe)
            {
                return;
            }

            if (isComboMode || isHarassMode)
            {
                var ForcusETarget =
                    ObjectManager.Heroes.Enemies.FirstOrDefault(
                        x =>
                        x.IsValidTarget(Orbwalker.GetRealAutoAttackRange(Me)) &&
                        x.HasBuff("kindredecharge"));

                var ForcusTarget =
                    ObjectManager.Heroes.Enemies.FirstOrDefault(
                        x =>
                        x.IsValidTarget(Orbwalker.GetRealAutoAttackRange(Me)) &&
                        x.HasBuff("kindredhittracker"));

                if (ForcusETarget.IsValidTarget(Orbwalker.GetRealAutoAttackRange(Me)) &&
                    MiscOption.GetBool("ForcusE"))
                {
                    myOrbwalker.ForceTarget(ForcusETarget);
                }
                else if (MiscOption.GetBool("Forcus") &&
                         ForcusTarget.IsValidTarget(Orbwalker.GetRealAutoAttackRange(Me)))
                {
                    myOrbwalker.ForceTarget(ForcusTarget);
                }
                else
                {
                    myOrbwalker.ForceTarget(null);
                }
            }
        }
示例#25
0
        private static void OnGapcloser(Obj_AI_Hero target, GapcloserArgs Args)
        {
            if (target != null && target.IsValidTarget(E.Range))
            {
                switch (Args.Type)
                {
                case SpellType.Melee:
                {
                    if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100) &&
                        MiscOption.GetBool("Q", "QMelee").Enabled&& Q.Ready)
                    {
                        Q.Cast(Me.ServerPosition.Extend(target.ServerPosition, -Q.Range));
                    }
                }
                break;

                case SpellType.SkillShot:
                {
                    if (MiscOption.GetBool("E", "AntiGapcloserE").Enabled&& E.Ready && target.IsValidTarget(250) && !Args.HaveShield)
                    {
                        E.CastOnUnit(target);
                    }
                }
                break;

                case SpellType.Dash:
                case SpellType.Targeted:
                {
                    if (MiscOption.GetBool("E", "AntiGapcloserE").Enabled&& E.Ready && target.IsValidTarget(E.Range) && !Args.HaveShield)
                    {
                        E.CastOnUnit(target);
                    }
                }
                break;
                }
            }
        }
示例#26
0
        private static void OnUpdate()
        {
            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            R.Range = 500f * R.GetBasicSpell().Level + 1500f;

            if (MiscOption.GetKey("EQKey").Enabled)
            {
                OneKeyEQ();
            }

            if (MiscOption.GetKey("SemiR").Enabled&& R.Ready)
            {
                OneKeyCastR();
            }

            Auto();
            KillSteal();

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                FarmHarass();
            }
        }
示例#27
0
        private static void KillSteal()
        {
            if (KillStealOption.UseW && W.IsReady())
            {
                foreach (var target in ObjectManager.Heroes.Enemies.Where(x => x.IsValidTarget(W.Range) && x.Health < W.GetDamage(x)))
                {
                    if (Orbwalker.InAutoAttackRange(target) && target.Health <= Me.GetAutoAttackDamage(target, true) * 2)
                    {
                        continue;
                    }

                    if (!target.IsUnKillable())
                    {
                        SpellManager.PredCast(W, target);
                        return;
                    }
                }
            }

            if (KillStealOption.UseR && R.IsReady())
            {
                foreach (
                    var target in
                    ObjectManager.Heroes.Enemies.Where(
                        x =>
                        x.IsValidTarget(R.Range) && x.DistanceToPlayer() > MiscOption.GetSlider("rMenuMin") &&
                        KillStealOption.GetKillStealTarget(x.ChampionName) && x.Health < R.GetDamage(x)))
                {
                    if (!target.IsUnKillable())
                    {
                        SpellManager.PredCast(R, target, true);
                        return;
                    }
                }
            }
        }
示例#28
0
        private static bool ECheck(Obj_AI_Hero target, bool usQE, bool useW)
        {
            if (GetEDamage(target) >= target.Health)
            {
                return(true);
            }

            if ((qCd == 0 && usQE || wCd == 0 && useW) && q1Cd != 0 && w1Cd != 0)
            {
                return(true);
            }

            if (WallStun(target))
            {
                return(true);
            }

            if (Me.HealthPercent() <= MiscOption.GetSlider("E", "autoE").Value)
            {
                return(true);
            }

            return(false);
        }
示例#29
0
        private static void OnUpdate()
        {
            CalculateCooldown();

            if (Me.IsDead || Me.IsRecalling())
            {
                return;
            }

            if (MiscOption.GetBool("QE", "SemiQE").Enabled)
            {
                SemiQELogic();
            }

            if (FleeOption.isFleeKeyActive)
            {
                Flee();
            }

            KillSteal();

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                Combo();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Mixed)
            {
                Harass();
            }

            if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
            {
                FarmHarass();
            }
        }
示例#30
0
        private static void BeforeAttack(BeforeAttackEventArgs Args)
        {
            if (!Args.Unit.IsMe)
            {
                return;
            }

            if (isComboMode)
            {
                if (MiscOption.GetBool("Forcustarget"))
                {
                    foreach (
                        var enemy in
                        ObjectManager.Heroes.Enemies.Where(
                            enemy => Orbwalker.InAutoAttackRange(enemy) && enemy.HasBuff("TristanaEChargeSound")))
                    {
                        myOrbwalker.ForceTarget(enemy);
                    }
                }

                if (ComboOption.UseQ && Q.IsReady())
                {
                    if (ComboOption.GetBool("ComboQAlways"))
                    {
                        var Target = Args.Target.ObjectType == GameObjectType.AIHeroClient
                            ? (AIHeroClient)Args.Target
                            : null;

                        if (Target != null &&
                            (Target.HasBuff("TristanaEChargeSound") || Target.HasBuff("TristanaECharge")))
                        {
                            Q.Cast();
                        }
                    }
                    else
                    {
                        Q.Cast();
                    }
                }
            }
            else if (isHarassMode)
            {
                if (MiscOption.GetBool("Forcustarget"))
                {
                    foreach (
                        var enemy in
                        ObjectManager.Heroes.Enemies.Where(
                            enemy => Orbwalker.InAutoAttackRange(enemy) && enemy.HasBuff("TristanaEChargeSound")))
                    {
                        myOrbwalker.ForceTarget(enemy);
                    }
                }
            }
            else if (isJungleClearMode && JungleClearOption.HasEnouguMana)
            {
                if (JungleClearOption.UseQ && Q.IsReady())
                {
                    var minion =
                        MinionManager.GetMinions(Orbwalker.GetRealAutoAttackRange(ObjectManager.Player),
                                                 MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth);

                    if (minion.Any(x => x.NetworkId == Args.Target.NetworkId))
                    {
                        Q.Cast();
                    }
                }
            }
        }