public static void combo()
        {
            if (Checker.SmiteReady() && Variables.ComboSmite.CurrentValue)
            {
                if (Checker.HasSmiteBlue || Checker.HasSmiteRed)
                {
                    var target = TargetSelector.GetTarget(650, DamageType.Physical);
                    if (target.IsValidCheck() && Player.Instance.Distance(target.Position)
                        <= Player.Instance.BoundingRadius + 500 + target.BoundingRadius)
                    {
                        Player.Instance.Spellbook.CastSpell(Variables.Smite, target);
                    }
                }
            }

            if (Player.HasBuff("RengarR") && Checker.HasYoumuu() && Variables.ComboYoumuu.CurrentValue)
            {
                Checker.CastYoumuu();
            }
            if (!Player.HasBuff("RengarR"))
            {
                if (Variables.ComboMode.CurrentValue == 1)
                {
                    if (Player.Instance.Mana < 5)
                    {
                        var targetW = TargetSelector.GetTarget(500, DamageType.Physical);
                        if (Variables.W.IsReady() && targetW.IsValidCheck())
                        {
                            Variables.W.Cast(targetW);
                        }
                        if (Variables.E.IsReady())
                        {
                            if (Player.Instance.IsDashing() || Orbwalker.CanMove &&
                                !(Checker.CanAttack() && EntityManager.Heroes.Enemies.Any(x => x.IsValidCheck() &&
                                                                                          Player.Instance.IsInAutoAttackRange(x))))
                            {
                                var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                                if (targetE.IsValidCheck())
                                {
                                    Variables.E.Cast(targetE);
                                }
                                foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                    }
                    else
                    {
                        if (Player.Instance.IsDashing() || Orbwalker.CanMove &&
                            !(Checker.CanAttack() && EntityManager.Heroes.Enemies.Any(x => x.IsValidCheck() &&
                                                                                      Player.Instance.IsInAutoAttackRange(x))))
                        {
                            var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                            if (Variables.E.IsReady() && targetE.IsValidCheck())
                            {
                                Variables.E.Cast(targetE);
                            }
                            foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                            {
                                if (Variables.E.IsReady())
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                    }
                }
                else if (Variables.ComboMode.CurrentValue == 2)
                {
                    if (Player.Instance.Mana < 5)
                    {
                        var targetW = TargetSelector.GetTarget(500, DamageType.Physical);
                        if (Variables.W.IsReady() && targetW.IsValidCheck())
                        {
                            Variables.W.Cast(targetW);
                        }
                        if (Variables.E.IsReady())
                        {
                            if (Player.Instance.IsDashing() || Orbwalker.CanMove &&
                                !(Checker.CanAttack() && EntityManager.Heroes.Enemies.Any(x => x.IsValidCheck() &&
                                                                                          Player.Instance.IsInAutoAttackRange(x))))
                            {
                                var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                                if (targetE.IsValidCheck())
                                {
                                    Variables.E.Cast(targetE);
                                }
                                foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                    }

                    else
                    {
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                        if (Variables.Q.IsReady() && Player.Instance.IsDashing())
                        {
                            Variables.Q.Cast();
                        }
                        if (Variables.E.IsReady())
                        {
                            if (Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange + Player.Instance.BoundingRadius + 100)
                                == 0 && !Player.HasBuff("rengarpassivebuff") && !Player.Instance.IsDashing() &&
                                Orbwalker.CanMove)
                            {
                                var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                                if (targetE.IsValidCheck())
                                {
                                    Variables.E.Cast(targetE);
                                }
                                foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                    }
                }
                else if (Variables.ComboMode.CurrentValue == 3)
                {
                    if (Player.Instance.Mana < 5)
                    {
                        var targetW = TargetSelector.GetTarget(500, DamageType.Physical);
                        if (Variables.W.IsReady() && targetW.IsValidCheck())
                        {
                            Variables.W.Cast(targetW);
                        }
                        if (Variables.E.IsReady())
                        {
                            if (Player.Instance.IsDashing() || Orbwalker.CanMove &&
                                !(Checker.CanAttack() && EntityManager.Heroes.Enemies.Any(x => x.IsValidCheck() &&
                                                                                          Player.Instance.IsInAutoAttackRange(x))))
                            {
                                var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                                if (targetE.IsValidCheck())
                                {
                                    Variables.E.Cast(targetE);
                                }
                                foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                    }
                    else
                    {
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                        if (Variables.E.IsReady() && Player.Instance.IsDashing())
                        {
                            var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                            if (Variables.E.IsReady() && targetE.IsValidTarget() && !targetE.IsZombie)
                            {
                                Variables.E.Cast(targetE);
                            }
                            foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                            {
                                if (Variables.E.IsReady())
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                        if (Variables.E.IsReady())
                        {
                            if (Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange + Player.Instance.BoundingRadius + 100)
                                == 0 && !Player.HasBuff("rengarpassivebuff") && !Player.Instance.IsDashing() &&
                                Orbwalker.CanMove)
                            {
                                var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                                if (targetE.IsValidCheck())
                                {
                                    Variables.E.Cast(targetE);
                                }
                                foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                    }
                }
                else if (Variables.ComboMode.CurrentValue == 4)
                {
                    if (Player.Instance.Mana < 5)
                    {
                        var targetW = TargetSelector.GetTarget(500, DamageType.Physical);
                        if (Variables.W.IsReady() && targetW.IsValidCheck())
                        {
                            Variables.W.Cast(targetW);
                        }
                        if (Variables.E.IsReady())
                        {
                            if (Player.Instance.IsDashing() || Orbwalker.CanMove &&
                                !(Checker.CanAttack() && EntityManager.Heroes.Enemies.Any(x => x.IsValidCheck() &&
                                                                                          Player.Instance.IsInAutoAttackRange(x))))
                            {
                                var targetE = TargetSelector.GetTarget(Variables.E.Range, DamageType.Physical);
                                if (targetE.IsValidCheck())
                                {
                                    Variables.E.Cast(targetE);
                                }
                                foreach (var target in EntityManager.Heroes.Enemies.Where(x => x.IsValidTarget(Variables.E.Range) && !x.IsZombie))
                                {
                                    Variables.E.Cast(target);
                                }
                            }
                        }
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                    }
                    else
                    {
                        if (Variables.Q.IsReady() && Player.Instance.CountEnemiesInRange(Player.Instance.AttackRange
                                                                                         + Player.Instance.BoundingRadius + 100) != 0)
                        {
                            if (Checker.CanMove() && !Checker.CanAttack())
                            {
                                Variables.Q.Cast();
                            }
                        }
                        if (Variables.Q.IsReady() && Player.Instance.IsDashing())
                        {
                            Variables.Q.Cast();
                        }
                    }
                }

                else
                {
                    Chat.Print("Noob Dev");
                }
            }
        }