public static void Combo()
            {
                if (MenuManager.ComboMenu["R"].GetValue <MenuBool>().Enabled&& SpellManager.R.IsReady())
                {
                    if (MenuManager.ComboMenu["QUpgradeHits"].GetValue <MenuSliderButton>().Enabled&& QR.IsReady())
                    {
                        var target = TargetSelector.GetTarget(500);

                        if (target != null)
                        {
                            if (target.IsValidTarget(QR.Range) && objPlayer.Position.CountEnemyHeroesInRange(550) >= MenuManager.ComboMenu["QUpgradeHits"].GetValue <MenuSliderButton>().Value&& objPlayer.HasBuff("HeimerdingerR"))
                            {
                                SpellManager.Q.Cast(objPlayer.Position.Extend(target.Position, +280));
                            }
                            else if (!objPlayer.HasBuff("HeimerdingerR") && objPlayer.Position.CountEnemyHeroesInRange(550) <= MenuManager.ComboMenu["QUpgradeHits"].GetValue <MenuSliderButton>().Value)
                            {
                                SpellManager.R.Cast();
                            }
                        }
                    }

                    switch (MenuManager.ComboMenu["RMode"].GetValue <MenuList>().SelectedValue)
                    {
                    case "E-R-W":
                        var target = TargetSelector.GetTarget(WR.Range);

                        if (target.Health < DamageManager.GetDamageByChampion(target))
                        {
                            if (target.IsValidTarget(SpellManager.E.Range) && MenuManager.ComboMenu["E"].GetValue <MenuBool>().Enabled)
                            {
                                var getPrediction = SpellManager.E.GetPrediction(target);

                                if (getPrediction.Hitchance >= HitChance.High)
                                {
                                    SpellManager.E.Cast(getPrediction.CastPosition);
                                }
                            }
                            if (target.IsValidTarget(WR.Range) && SpellManager.W.IsReady() && objPlayer.HasBuff("HeimerdingerR"))
                            {
                                var getPrediction = WR.GetPrediction(target);

                                if (getPrediction.Hitchance >= HitChance.Immobile && Variables.TickCount - SpellManager.E.LastCastAttemptT > 500)
                                {
                                    WR.Cast(getPrediction.CastPosition);
                                }
                            }
                            else if (!objPlayer.HasBuff("HeimerdingerR") && !SpellManager.E.IsReady())
                            {
                                if (SpellManager.E.IsReady() && !SpellManager.W.IsReady())
                                {
                                    return;
                                }

                                SpellManager.R.Cast();
                            }
                        }
                        break;

                    case "W-R-E":
                        target = TargetSelector.GetTarget(ER.Range);

                        if (target.IsValidTarget(SpellManager.W.Range) && MenuManager.ComboMenu["W"].GetValue <MenuBool>().Enabled)
                        {
                            var getPrediction = SpellManager.W.GetPrediction(target);

                            if (getPrediction.Hitchance >= HitChance.High)
                            {
                                SpellManager.W.Cast(getPrediction.CastPosition);
                            }
                        }
                        if (target.IsValidTarget(ER.Range) && SpellManager.E.IsReady() && objPlayer.HasBuff("HeimerdingerR"))
                        {
                            var getPrediction = ER.GetPrediction(target);

                            if (getPrediction.Hitchance >= HitChance.Immobile)
                            {
                                ER.Cast(getPrediction.CastPosition);
                            }
                        }
                        else if (!objPlayer.HasBuff("HeimerdingerR") && !SpellManager.W.IsReady())
                        {
                            SpellManager.R.Cast();
                        }
                        break;
                    }
                }
                if (MenuManager.ComboMenu["E"].GetValue <MenuBool>().Enabled&& SpellManager.E.IsReady() && !objPlayer.HasBuff("HeimerdingerR"))
                {
                    var target = TargetSelector.GetTarget(SpellManager.E.Range);

                    if (target.IsValidTarget(SpellManager.E.Range) && target != null)
                    {
                        var getPrediction = SpellManager.E.GetPrediction(target);

                        SpellManager.E.Cast(getPrediction.CastPosition);
                    }
                }
                if (MenuManager.ComboMenu["Q"].GetValue <MenuBool>().Enabled&& SpellManager.Q.IsReady() && !objPlayer.HasBuff("HeimerdingerR"))
                {
                    var target = TargetSelector.GetTarget(SpellManager.Q.Range + 300);

                    if (target.IsValidTarget(SpellManager.Q.Range + 300) && target != null)
                    {
                        SpellManager.Q.Cast(objPlayer.Position.Extend(target.Position, +300));
                    }
                }
                if (MenuManager.ComboMenu["W"].GetValue <MenuBool>().Enabled&& SpellManager.W.IsReady() && !objPlayer.HasBuff("HeimerdingerR") && !SpellManager.E.IsReady())
                {
                    var target = TargetSelector.GetTarget(SpellManager.W.Range);

                    if (target.IsValidTarget(SpellManager.W.Range) && target != null)
                    {
                        var getPrediction = SpellManager.W.GetPrediction(target);

                        SpellManager.W.Cast(getPrediction.CastPosition);
                    }
                }
            }