public static void GapCloseKill()
        {
            //if (!_menu.Item("useMinionGapclose").GetValue<bool>()) return;

            var target = TargetSelector.GetTarget(SkillHandler.Q.Range + SkillHandler.R.Range, TargetSelector.DamageType.Physical);

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

            foreach (
                var minion in
                MinionManager.GetMinions(ObjectManager.Player.ServerPosition, SkillHandler.R.Range)
                .Where(minion => minion.ServerPosition.Distance(target.ServerPosition) < SkillHandler.Q.Range)
                .Where(minion => minion.IsValidTarget(SkillHandler.R.Range))
                .Where(minion => SkillHandler.Q.IsReady() && SkillHandler.R.IsReady()))
            {
                SkillHandler.R.Cast(minion, Packeting());
                SkillHandler.Q.Cast(target, Packeting());
                if (ItemHandler.IgniteSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(ItemHandler.IgniteSlot) == SpellState.Ready)
                {
                    if (target.Health <= MathHandler.GapCloseKill1Damage(target))
                    {
                        Player.Spellbook.CastSpell(ItemHandler.IgniteSlot, target);
                    }
                }
                break;
            }
        }
        public static void Combo3()
        {
            var target = TargetSelector.GetTarget(SkillHandler.Q.Range, TargetSelector.DamageType.Magical);
            var dfg    = ItemHandler.Dfg;

            if (Player.Distance(target) <= dfg.Range && MenuHandler.DianaConfig.Item("useDfg").GetValue <bool>() &&
                dfg.IsReady() && target.Health <= MathHandler.ComboDamage(target))
            {
                dfg.Cast(target);
            }

            if (ItemHandler.IgniteSlot != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(ItemHandler.IgniteSlot) == SpellState.Ready)
            {
                if (target.Health <= MathHandler.ComboDamage(target))
                {
                    Player.Spellbook.CastSpell(ItemHandler.IgniteSlot, target);
                }
            }

            if (Player.Distance(target) <= SkillHandler.Q.Range &&
                MenuHandler.DianaConfig.Item("CombouseQ").GetValue <bool>() && SkillHandler.Q.IsReady() &&
                SkillHandler.Q.GetPrediction(target).Hitchance >= HitChance.VeryHigh)
            {
                SkillHandler.Q.CastIfHitchanceEquals(target, HitChance.VeryHigh, Packeting());
            }
            if (Player.Distance(target) <= SkillHandler.R.Range &&
                MenuHandler.DianaConfig.Item("CombouseR").GetValue <bool>() && SkillHandler.R.IsReady())
            {
                SkillHandler.R.Cast(target, Packeting());
            }
            if (Player.Distance(target) <= SkillHandler.W.Range &&
                MenuHandler.DianaConfig.Item("CombouseW").GetValue <bool>() && SkillHandler.W.IsReady()
                /*&& !SkillHandler.Q.IsReady()*/)
            {
                SkillHandler.W.Cast();
            }
            if (Player.Distance(target) <= SkillHandler.E.Range &&
                (((!Orbwalking.InAutoAttackRange(Player)) && Player.HasBuff("dianaarcready")) ||
                 Player.Distance(target) >= SkillHandler.W.Range) &&
                MenuHandler.DianaConfig.Item("CombouseE").GetValue <bool>() && SkillHandler.W.IsReady() &&
                SkillHandler.E.IsReady() && !SkillHandler.W.IsReady())
            {
                SkillHandler.E.Cast();
            }
            if (Player.Distance(target) <= SkillHandler.R.Range && SkillHandler.R.IsReady() &&
                !SkillHandler.W.IsReady() && !SkillHandler.Q.IsReady())
            {
                if (MenuHandler.DianaConfig.Item("Combouse2RKill").GetValue <bool>() &&
                    target.Health <= Player.GetSpellDamage(target, SpellSlot.R))
                {
                    SkillHandler.R.Cast(target, Packeting());
                }
                else
                {
                    SkillHandler.R.Cast(target, Packeting());
                }
            }
        }
        public static void OnGameUpdateModes(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }
            if (Player.HasBuff("Recall"))
            {
                return;
            }
            var target = TargetSelector.GetTarget(SkillHandler.Q.Range, TargetSelector.DamageType.Magical);

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
            {
                if (target.Health <= MathHandler.ComboDamage(target))
                {
                    FightHandler.Combo2();
                }

                if (SkillHandler.Q.GetPrediction(target).Hitchance >= HitChance.VeryHigh)
                {
                    FightHandler.Combo3();
                }

                if (target.Health <= MathHandler.GapCloseKill1Damage(target))
                {
                    FightHandler.GapCloseKill();
                }

                if (target.Health <= MathHandler.GapCloseKill2Damage(target))
                {
                    FightHandler.GapCloseKill2();
                }

                else
                {
                    FightHandler.Combo1();
                }
            }

            if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed)
            {
            }

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

            if (MenuHandler.DianaConfig.Item("HarassActive").GetValue <KeyBind>().Active || MenuHandler.DianaConfig.Item("HarassToggle").GetValue <KeyBind>().Active)
            {
                FightHandler.Harass();
            }
        }