private static void OnUpdate(EventArgs args)
        {
            switch (Menus.Orbwalker.ActiveMode)
            {
            case Orbwalking.OrbwalkingMode.Combo:
                OnCombo();
                break;

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

            case Orbwalking.OrbwalkingMode.LaneClear:
                OnClear();
                OnJungle();
                break;

            case Orbwalking.OrbwalkingMode.LastHit:
                OnLastHit();
                break;
            }

            if (Menus.Config.Item("flee.key").GetValue <KeyBind>().Active)
            {
                Orbwalking.Orbwalk(null, Game.CursorPos);
                var dashlist = ObjectManager.Get <Obj_AI_Base>().Where(o => o.IsValidTarget(Spells.E.Range) &&
                                                                       YasuoE.IsDashable(o)).ToList();

                if (Spells.E.IsReady())
                {
                    YasuoE.DashPos(Game.CursorPos, dashlist, false);
                }
            }

            if (Menus.Config.Item("toggle.active").GetValue <KeyBind>().Active)
            {
                var target = TargetSelector.GetTarget(Spells.Q3.Range, TargetSelector.DamageType.Physical);

                if (Spells.Q.IsReady() && Menus.Config.Item("q.toggle").GetValue <bool>() &&
                    target.IsValidTarget(Spells.Q.Range) && !Spells.Q.Empowered())
                {
                    Spells.Q.Do(target, Utilities.HikiChance("q.hitchance"), true);
                }

                if (Spells.Q3.IsReady() && Menus.Config.Item("q3.toggle").GetValue <bool>() &&
                    target.IsValidTarget(Spells.Q3.Range) && Spells.Q.Empowered())
                {
                    Spells.Q.Do(target, Utilities.HikiChance("q3.hitchance"), true);
                }
            }

            if (Utilities.Enabled("ks.status"))
            {
                var target = TargetSelector.GetTarget(1100f, TargetSelector.DamageType.Physical);

                if (Spells.Q.IsReady() && Utilities.Enabled("q.ks") && target.IsValidTarget(Spells.Q.Range) &&
                    !Spells.Q.Empowered() && Spells.Q.GetDamage(target) > target.Health)
                {
                    Spells.Q.Do(target, Utilities.HikiChance("q.hitchance"), true);
                }

                if (Spells.Q3.IsReady() && Utilities.Enabled("q2.ks") && target.IsValidTarget(Spells.Q3.Range) &&
                    Spells.Q.Empowered() && Spells.Q3.GetDamage(target) > target.Health)
                {
                    Spells.Q.Do(target, Utilities.HikiChance("q3.hitchance"), true);
                }

                if (Spells.E.IsReady() && Utilities.Enabled("e.ks") && target.IsValidTarget(Spells.E.Range) &&
                    ObjectManager.Player.CountEnemiesInRange(Utilities.Slider("e.ks.safety.range")) <= 1 &&
                    Spells.E.GetDamage(target) > target.Health)
                {
                    Spells.E.CastOnUnit(target);
                }

                if (Spells.R.IsReady() && Utilities.Enabled("r.ks") && target.IsValidTarget(Spells.R.Range) &&
                    ObjectManager.Player.CountEnemiesInRange(Utilities.Slider("r.ks.safety.range")) <= 1 &&
                    Spells.R.GetDamage(target) > target.Health)
                {
                    Spells.R.Cast();
                }
            }
            if (Menus.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None && Utilities.Enabled("auto.stack") &&
                !Spells.Q.Empowered() && Spells.Q.IsReady())
            {
                foreach (var minions in MinionManager.GetMinions(Spells.Q.Range).
                         Where(x => x.IsValid && x.Health < Spells.Q.GetDamage(x) && x.IsValidTarget(Spells.Q.Range)))
                {
                    Spells.Q.Do(minions, Utilities.HikiChance("q.hitchance"), true);
                }
            }
        }
        private static void OnCombo()
        {
            var dashlist = ObjectManager.Get <Obj_AI_Base>().Where(o => o.IsValidTarget(Spells.E.Range) && YasuoE.IsDashable(o) && (o.IsChampion() || o.IsMinion)).ToList();
            var target   = TargetSelector.GetTarget(1100f, TargetSelector.DamageType.Physical);

            if (Spells.E.IsReady() && Utilities.Enabled("e.combo"))
            {
                if (!Utilities.Enabled("disable.e.safety"))
                {
                    if (Utilities.Enabled("eqq.combo"))
                    {
                        YasuoE.DashPos(Game.CursorPos, dashlist, false);
                    }
                    else
                    {
                        if (Game.Time - YasuoE.lastetime >= 1)
                        {
                            YasuoE.DashPos(Game.CursorPos, dashlist, false);
                        }
                    }
                }
                else
                {
                    if (Utilities.Enabled("eqq.combo"))
                    {
                        YasuoE.DashPos(Game.CursorPos, dashlist, true);
                    }
                    else
                    {
                        if (Game.Time - YasuoE.lastetime >= 1)
                        {
                            YasuoE.DashPos(Game.CursorPos, dashlist, true);
                        }
                    }
                }
            }

            if (target != null)
            {
                if (Menus.Config.Item("q.type").GetValue <StringList>().SelectedIndex == 0)
                {
                    if (Spells.Q.IsReady() && Utilities.Enabled("q.combo") && target.IsValidTarget(Spells.Q.Range) &&
                        !Spells.Q.Empowered())
                    {
                        Spells.Q.Do(target, Utilities.HikiChance("q.hitchance"), true);
                    }
                }

                if (Spells.Q3.IsReady() && Utilities.Enabled("q3.combo") &&
                    target.IsValidTarget(Spells.Q3.Range) && Spells.Q.Empowered())
                {
                    Spells.Q.Do(target, Utilities.HikiChance("q3.hitchance"), true);
                }

                if (Spells.R.IsReady() &&
                    ObjectManager.Player.CountEnemiesInRange(Spells.R.Range) >= Utilities.Slider("min.r.count") &&
                    Utilities.Enabled("r.combo"))
                {
                    var enemylist = HeroManager.Enemies.Where(x => x.IsValidTarget(Spells.R.Range) &&
                                                              (x.HasBuff("yasuoq3mis") || x.HasBuffOfType(BuffType.Knockup) ||
                                                               x.HasBuffOfType(BuffType.Knockback))).ToList();

                    if (enemylist.Count >= Utilities.Slider("min.r.count")) //knockup count
                    {
                        Spells.R.Cast();
                    }
                }
            }
        }