private void AutoSpells()
        {
            enemies = ObjectManager.GetEntities<Hero>()
                 .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsMagicImmune() && !x.IsIllusion).ToList();

            if (Menu.Item("autoUlt").IsActive())
            {
                e = Toolset.ClosestToMouse(me, 9000);

                foreach (var v in enemies.Where(x => !x.IsMagicImmune()))
                {
                    damage[v.Handle] = GetDamageTaken(v, ref enemies);

                    if (me.IsInvisible()) return;

                    if (
                        enemies.Count(
                            x => x.Health <= damage[v.Handle] && v.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) >=
                        Menu.Item("Heel").GetValue<Slider>().Value)
                    {
                        uint elsecount = 0; elsecount += 1;
                        if (blink != null
                            && me.CanCast()
                            && blink.CanBeCasted()
                            && me.Distance2D(v) > 100
                            && me.Distance2D(v) <= 1180
                            && Utils.SleepCheck("blink")
                            )
                        {
                            blink.UseAbility(v.Position);
                            Utils.Sleep(250, "blink");
                        }
                        else if (W != null && W.CanBeCasted() && me.Distance2D(v) <= 900 + me.HullRadius + 24 && me.AghanimState()
                            && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                            && (blink == null || !blink.CanBeCasted())
                        && Utils.SleepCheck("W"))
                        {
                            W.UseAbility(v.Position);
                            Utils.Sleep(250, "W");
                        }
                        else elsecount += 1;
                        if (enemies.Count(
                        x => me.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) >=
                        Menu.Item("Heel").GetValue<Slider>().Value)
                        {
                            if (vail != null
                                && vail.CanBeCasted()
                                && me.CanCast()
                                && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(vail.Name)
                                && me.Distance2D(v) <= 1190
                                && Utils.SleepCheck("vail")
                                )
                            {
                                vail.UseAbility(v.Position);
                                Utils.Sleep(250, "vail");
                            } // orchid Item endelse

                            else elsecount += 1;
                            if (elsecount == 3 &&
                                ethereal != null
                                && ethereal.CanBeCasted()
                                && me.CanCast()
                                && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(ethereal.Name)
                                && (v.Handle == e.Handle || e.Distance2D(v) > 700)
                                && me.Distance2D(v) <= 1190
                                && Utils.SleepCheck("ethereal")
                                )
                            {
                                ethereal.UseAbility(v);
                                Utils.Sleep(250, "ethereal");
                            } // orchid Item end
                            else elsecount += 1;
                            if (!CanIncreaseMagicDmg(me, v))
                            {
                                if (elsecount == 4 && R != null && R.CanBeCasted() && Utils.SleepCheck("R")
                                    && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(R.Name))
                                {
                                    R.UseAbility();
                                    Utils.Sleep(250, "R");
                                }
                                if (R == null || !R.CanBeCasted() ||
                                    !Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(R.Name))
                                {
                                    if (Q != null && Q.CanBeCasted() && v.Distance2D(me) <= 525 + me.HullRadius + 24
                                        && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(Q.Name)
                                        && Utils.SleepCheck("Q"))
                                    {
                                        Q.UseAbility(v.Position);
                                        Utils.Sleep(250, "Q");
                                    }
                                    if (shiva != null
                                      && shiva.CanBeCasted()
                                      && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(shiva.Name)
                                      && v.Distance2D(me) <= shiva.GetCastRange()
                                      && Utils.SleepCheck("shiva"))
                                    {
                                        shiva.UseAbility();
                                        Utils.Sleep(250, "shiva");
                                    }
                                }

                                if (me.AghanimState())
                                {
                                    if (W != null && W.CanBeCasted()
                                        && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                                        && v.Distance2D(me) <= 300 + me.HullRadius + 24 &&
                                    !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                    {
                                        W.UseAbility(me);
                                        Utils.Sleep(250, "W");
                                    }
                                }
                                else if (W != null && W.CanBeCasted()
                                        && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                                        && v.Distance2D(me) <= W.GetCastRange() + me.HullRadius + 24 &&
                                        !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    W.UseAbility();
                                    Utils.Sleep(250, "W");
                                }
                            }
                        }
                    }
                    if (enemies.Count(
                        x => x.Distance2D(v) <= 500) <= Menu.Item("Heelm").GetValue<Slider>().Value
                           && blink != null
                           && blink.CanBeCasted()
                           && me.CanCast()
                           && v.Health <= damage[v.Handle]
                           && me.Distance2D(v) <= 1180
                           && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(blink.Name)
                           && me.Distance2D(v) > 300
                           && Utils.SleepCheck("blink")
                           )
                    {
                        blink.UseAbility(v.Position);
                        Utils.Sleep(250, "blink");
                    }
                    else if (enemies.Count(
                       x => me.Distance2D(x) <= 300 + me.HullRadius + 24 && v.Health <= damage[v.Handle]) >= 1)
                    {

                        if (R == null || !R.CanBeCasted() ||
                            !Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(R.Name) || (R.CanBeCasted() && enemies.Count(
                            x => x.Health <= damage[v.Handle] && me.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) <=
                        Menu.Item("Heel").GetValue<Slider>().Value))
                        {
                            if (me.Distance2D(v) <= 500 + me.HullRadius + 24 && me.Distance2D(v) >= 300 + me.HullRadius + 24 && Utils.SleepCheck("Move"))
                            {
                                me.Move(v.Position);
                                Utils.Sleep(500, "Move");
                            }
                            if (v.Distance2D(me) <= 300 + me.HullRadius + 24)
                            {
                                if (vail != null
                                 && vail.CanBeCasted()
                                 && me.CanCast()
                                 && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(vail.Name)
                                 && Utils.SleepCheck("vail")
                                 )
                                {
                                    vail.UseAbility(v.Position);
                                    Utils.Sleep(250, "vail");
                                } // orchid Item endelse
                                else if (ethereal != null
                                    && ethereal.CanBeCasted()
                                    && me.CanCast()
                                    && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(ethereal.Name)
                                    && Utils.SleepCheck("ethereal")
                                    )
                                {
                                    ethereal.UseAbility(v);
                                    Utils.Sleep(250, "ethereal");
                                } // orchid Item end
                                else if (Q != null && Q.CanBeCasted()
                                    && Utils.SleepCheck("Q"))
                                {
                                    Q.UseAbility(v.Position);
                                    Utils.Sleep(250, "Q");
                                }
                                else if (shiva != null
                                  && shiva.CanBeCasted()
                                  && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(shiva.Name)
                                  && Utils.SleepCheck("shiva"))
                                {
                                    shiva.UseAbility();
                                    Utils.Sleep(250, "shiva");
                                }
                                else if (dagon != null
                                && dagon.CanBeCasted()
                                && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled("item_dagon")
                                && Utils.SleepCheck("dagon"))
                                {
                                    dagon.UseAbility(v);
                                    Utils.Sleep(250, "dagon");
                                }
                                else if (W != null && W.CanBeCasted() && !me.AghanimState()
                             && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                             && !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    W.UseAbility();
                                    Utils.Sleep(250, "W");
                                }
                                else if (W != null && W.CanBeCasted() && me.AghanimState()
                                    && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name) &&
                                !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                {
                                    W.UseAbility(me);
                                    Utils.Sleep(250, "W");
                                }
                                else if (!me.HasModifier("modifier_earthshaker_enchant_totem")
                                    && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                                    && v.Health <= (((((me.MaximumDamage + me.MinimumDamage) / 2) * (wDmg[W.Level] / 100)) + me.BonusDamage) + eDmg[E.Level]))
                                {
                                    if (me.AghanimState())
                                    {
                                        if (W != null && W.CanBeCasted()
                                         && !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                        {
                                            W.UseAbility(me);
                                            Utils.Sleep(250, "W");
                                        }
                                    }
                                    else if (W != null && W.CanBeCasted()
                                        && !me.HasModifier("modifier_earthshaker_enchant_totem") && Utils.SleepCheck("W"))
                                    {
                                        W.UseAbility();
                                        Utils.Sleep(250, "W");
                                    }
                                }
                            }

                        }

                    }
                    if (me.HasModifier("modifier_earthshaker_enchant_totem"))
                    {
                        if (v.Health <=
                            (((me.MinimumDamage + me.MaximumDamage) / 2) + me.BonusDamage) - v.DamageAverage
                            && !me.IsAttacking()
                            && me.Distance2D(v) <= 300 + me.HullRadius + 24
                            && Utils.SleepCheck("Attack"))
                        {
                            me.Attack(v);
                            Utils.Sleep(250, "Attack");
                        }
                        else if (me.Distance2D(v) <= 300 + me.HullRadius + 24
                            && !me.IsAttacking() &&
                            Utils.SleepCheck("Attack"))
                        {
                            me.Attack(v);
                            Utils.Sleep(250, "Attack");
                        }
                    }
                } // foreach::END
            }
        }
        // При передаче по значению метод получает не саму переменную, а ее копию.
        // А при передаче параметра по ссылке (ref) метод получает адрес переменной в памяти, что в свою очередь экономит память.
        private double GetDamageTaken(Hero victim, ref List<Hero> enemies)
        {
            double dmgResult = 0;

            List<Unit> creeps = ObjectManager.GetEntities<Unit>().Where(x =>
                     (x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Lane
                      || x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Siege
                      || x.ClassID == ClassID.CDOTA_BaseNPC_Creep_Neutral
                      || x.ClassID == ClassID.CDOTA_Unit_Broodmother_Spiderling
                      || x.ClassID == ClassID.CDOTA_Unit_SpiritBear
                      || x.ClassID == ClassID.CDOTA_BaseNPC_Invoker_Forged_Spirit
                      || x.ClassID == ClassID.CDOTA_BaseNPC_Warlock_Golem
                      || x.ClassID == ClassID.CDOTA_BaseNPC_Creep
                      || x.HasInventory) && !x.IsMagicImmune() &&
                     x.IsAlive && x.Team != me.Team && x.IsVisible && victim.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24 &&
                     x.IsSpawned && x.IsValidTarget()).ToList();
            int creepsECount = creeps.Count;

            dmgResult = R != null && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(R.Name) &&
                R.CanBeCasted() && enemies.Count(
                            x => victim.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) >=
                        Menu.Item("Heel").GetValue<Slider>().Value ? ((creepsECount * creepsDmg[R.Level]) + rDmg[R.Level]) + eDmg[E.Level] : 0;

            if (victim.NetworkName == "CDOTA_Unit_Hero_Spectre" && victim.Spellbook.Spell3.Level > 0)
            {
                dmgResult = R != null && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(R.Name) &&
                    R.CanBeCasted() && enemies.Count(
                            x => victim.Distance2D(x) <= R.GetCastRange() + me.HullRadius + 24) >=
                        Menu.Item("Heel").GetValue<Slider>().Value ? ((creepsECount * creepsDmg[R.Level]) + rDmg[R.Level]) + eDmg[E.Level] *
                      (1 - (0.10 + victim.Spellbook.Spell3.Level * 0.04)) : 0;

                if (me.Distance2D(victim) < 300 + me.HullRadius)
                    dmgResult += eDmg[E.Level] * (1 - (0.10 + victim.Spellbook.Spell3.Level * 0.04));
            }

            if (Q != null && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(Q.Name) && Q.CanBeCasted())
            {
                dmgResult += qDmg[Q.Level];

                if (enemies.Count(x => x.Distance2D(victim) <= 300 + me.HullRadius && !Equals(x)) > 1)
                    dmgResult += eDmg[E.Level];
            }

            if (W != null && W.CanBeCasted() && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name))
            {
                if (enemies.Count(x => x.Distance2D(victim) <= 300 + me.HullRadius && !Equals(x)) > 1)
                    dmgResult += eDmg[E.Level];
            }

            if (victim.NetworkName == "CDOTA_Unit_Hero_SkeletonKing" && victim.Spellbook.SpellR.CanBeCasted())
                dmgResult = 0;

            if (victim.HasModifier("modifier_kunkka_ghost_ship_damage_absorb"))
                dmgResult *= 0.5;

            if (victim.HasModifier("modifier_bloodseeker_bloodrage"))
            {
                var blood = ObjectManager.GetEntities<Hero>()
                    .FirstOrDefault(x => x.ClassID == ClassID.CDOTA_Unit_Hero_Bloodseeker);
                if (blood != null)
                    dmgResult *= bloodrage[blood.Spellbook.Spell1.Level];
                else
                    dmgResult *= 1.4;
            }

            if (victim.HasModifier("modifier_chen_penitence"))
            {
                var chen =
                    ObjectManager.GetEntities<Hero>()
                        .FirstOrDefault(x => x.Team == me.Team && x.ClassID == ClassID.CDOTA_Unit_Hero_Chen);
                if (chen != null)
                    dmgResult *= penitence[chen.Spellbook.Spell1.Level];
            }

            if (victim.HasModifier("modifier_shadow_demon_soul_catcher"))
            {
                var demon = ObjectManager.GetEntities<Hero>()
                    .FirstOrDefault(x => x.Team == me.Team && x.ClassID == ClassID.CDOTA_Unit_Hero_Shadow_Demon);
                if (demon != null)
                    dmgResult *= souls[demon.Spellbook.Spell2.Level];
            }

            if (victim.HasModifier("modifier_item_mask_of_madness_berserk"))
                dmgResult *= 1.3;

            vail = me.FindItem("item_veil_of_discord");
            if (vail != null && vail.CanBeCasted() && !victim.HasModifier("modifier_item_veil_of_discord_debuff")
                && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(vail.Name))
            {
                dmgResult *= 1.25;
            }

            var spellamplymult = 1 + (me.TotalIntelligence / 16 / 100);
            dmgResult = dmgResult * spellamplymult;
            shiva = me.FindItem("item_shivas_guard");
            if (shiva != null && shiva.CanBeCasted() && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(shiva.Name))
                dmgResult += 200;

            int etherealdamage = (int)((me.TotalStrength * 2) + 75);
            if (ethereal != null && ethereal.CanBeCasted() && victim.Handle == e?.Handle)
                dmgResult += etherealdamage * 1.4;
            if (dagon != null && dagon.CanBeCasted() && victim.Handle == e?.Handle)
                dmgResult += dagonDmg[dagon.Level];

                if (vail != null && vail.CanBeCasted() && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(vail.Name) && !victim.HasModifier("modifier_item_veil_of_discord_debuff") &&
                ethereal != null && ethereal.CanBeCasted() && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(ethereal.Name) && victim.Handle == e?.Handle)
                dmgResult += etherealdamage * 1.4;

            dmgResult *= 1 - victim.MagicDamageResist;
            if (!me.HasModifier("modifier_earthshaker_enchant_totem") && W != null && W.CanBeCasted()
                && victim.Handle == e?.Handle
                && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name))
            {
                dmgResult += (((((me.MaximumDamage + me.MinimumDamage) / 2) * (wDmg[W.Level] / 100)) + me.BonusDamage) - victim.DamageResist) + (eDmg[E.Level] * (1 - victim.MagicDamageResist));
            }

            if (me.HasModifier("modifier_earthshaker_enchant_totem")
               && victim.Handle == e?.Handle
               && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name))
            {
                dmgResult += ((((me.MaximumDamage + me.MinimumDamage) / 2) + me.BonusDamage) - victim.DamageResist) + (eDmg[E.Level] * (1 - victim.MagicDamageResist));
            }

            return dmgResult;
        }
Ejemplo n.º 3
0
        private void AutoSpells()
        {
            enemies = ObjectManager.GetEntities<Hero>()
                 .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsMagicImmune() && !x.IsMagicImmune() && !x.IsIllusion && !x.IsFullMagicSpellResist()).ToList();

            if (Menu.Item("AutoUsage").IsActive())
            {
                e = Toolset.ClosestToMouse(me,8000);

                foreach (var v in enemies)
                {

                    if (me.IsInvisible()) return;
                    if(v.IsFullMagiclResistZuus()) return;
                    damage[v.Handle] = CalculateDamage(v);

                    var Range = me.HullRadius + (dagon == null ? W?.GetCastRange() : dagon.GetCastRange());

                    float angle = me.FindAngleBetween(v.Position, true);
                    Vector3 pos = new Vector3((float)(v.Position.X - 290 * Math.Cos(angle)), (float)(v.Position.Y - 290 * Math.Sin(angle)), 0);
                    Vector3 posBlink = new Vector3((float)(v.Position.X - Range * Math.Cos(angle)), (float)(v.Position.Y - Range * Math.Sin(angle)), 0);
                    var Units = ObjectManager.GetEntities<Hero>().Where(x =>
                                             !x.Equals(v)
                                             && x.IsAlive
                                             && x.Distance2D(pos) < v.Distance2D(pos)
                                             && x.Distance2D(v) <= 320
                                             && x.Team != me.Team
                                             ).ToList();
                    if (enemies.Count(
                        x => x.Distance2D(v) <= 500) <= Menu.Item("Heelm").GetValue<Slider>().Value
                           && blink != null
                           && blink.CanBeCasted()
                           && me.CanCast()
                           && me.Health >= (me.MaximumHealth / 100 * Menu.Item("minHealth").GetValue<Slider>().Value)
                           && v.Health <= damage[v.Handle]
                           && me.Distance2D(posBlink) <= 1180
                           && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(blink.Name)
                           && me.Distance2D(v) > 500
                           && Utils.SleepCheck("blink")
                           )
                    {
                        blink.UseAbility(posBlink);
                        Utils.Sleep(250, "blink");
                    }
                    if (v.Health <= damage[v.Handle] && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius + 300)
                    {
                        if (vail != null
                                 && vail.CanBeCasted()
                                 && me.CanCast()
                                 && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(vail.Name)
                                 && Utils.SleepCheck("vail")
                                 )
                        {
                            vail.UseAbility(v.Position);
                            Utils.Sleep(250, "vail");
                        } // orchid Item endelse
                        else if (ethereal != null
                            && ethereal.CanBeCasted()
                            && me.CanCast()
                            && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(ethereal.Name)
                            && Utils.SleepCheck("ethereal")
                            )
                        {
                            ethereal.UseAbility(v);
                            Utils.Sleep(250, "ethereal");
                        } // orchid Item end
                        if (!CanIncreaseMagicDmg(me, v))
                        {
                             if (dagon != null
                            && dagon.CanBeCasted()
                            && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled("item_dagon")
                            && Utils.SleepCheck("dagon"))
                            {
                                dagon.UseAbility(v);
                                Utils.Sleep(250, "dagon");
                            }
                            else if(Q != null && Q.CanBeCasted() && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(Q.Name)
                                && Utils.SleepCheck("Q"))
                            {
                                Q.UseAbility(v);
                                Utils.Sleep(250, "Q");
                            }
                            else if (W != null && W.CanBeCasted() && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                               && Utils.SleepCheck("W"))
                            {
                                W.UseAbility(v.Position);
                                Utils.Sleep(250, "W");
                            }
                            else if (W != null && W.CanBeCasted() && Units.Count(x => x.Distance2D(pos) <= 300) == 0 && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius + 300 && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name)
                              && Utils.SleepCheck("W"))
                            {
                                W.UseAbility(pos);
                                Utils.Sleep(250, "W");
                            }
                            else if (R != null
                            && R.CanBeCasted()
                            && (W == null || !W.CanBeCasted() || !Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name))
                            && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(R.Name)
                            && Utils.SleepCheck("R"))
                            {
                                R.UseAbility();
                                Utils.Sleep(250, "R");
                            }
                            else if (shiva != null
                                  && shiva.CanBeCasted()
                                  && me.Distance2D(v) <= 600 + me.HullRadius
                                  && Menu.Item("AutoItems").GetValue<AbilityToggler>().IsEnabled(shiva.Name)
                                  && Utils.SleepCheck("shiva"))
                            {
                                shiva.UseAbility();
                                Utils.Sleep(250, "shiva");
                            }
                             if(W!=null && W.CanBeCasted() && me.Distance2D(v)>= W.GetCastRange() + me.HullRadius && me.Distance2D(v) <= W.GetCastRange() + me.HullRadius + 325 && Menu.Item("AutoSpells").GetValue<AbilityToggler>().IsEnabled(W.Name) && Utils.SleepCheck("Move"))
                            {
                                me.Move(v.Position);
                                Utils.Sleep(250, "Move");
                            }
                        }

                    }
                    damage[v.Handle] = CalculateDamageR(v);
                    if (R != null && R.CanBeCasted() &&
                        Menu.Item("AutoUlt").GetValue<AbilityToggler>().IsEnabled(R.Name))
                    {

                        if (
                            enemies.Count(
                                x =>
                                    x.Health <= damage[v.Handle]) >=
                            Menu.Item("Heel").GetValue<Slider>().Value)
                        {
                            if ( // SoulRing Item
                                soul != null
                                && soul.CanBeCasted()
                                && me.CanCast()
                                && me.Mana <= R.ManaCost
                                && Menu.Item("Items").GetValue<AbilityToggler>().IsEnabled(soul.Name)
                                )
                            {
                                soul.UseAbility();
                            } // SoulRing Item end
                            if ( // Arcane Boots Item
                                arcane != null
                                && arcane.CanBeCasted()
                                && me.CanCast()
                                && me.Mana <= R.ManaCost
                                && Menu.Item("Items").GetValue<AbilityToggler>().IsEnabled(arcane.Name)
                                )
                            {
                                arcane.UseAbility();
                            } // Arcane Boots Item end
                            if (ethereal != null
                                  && ethereal.CanBeCasted()
                                  && me.CanCast()
                                  && me.Distance2D(v) <= ethereal.GetCastRange()
                                  && Menu.Item("AutoUltItems").GetValue<AbilityToggler>().IsEnabled(ethereal.Name)
                                  && Utils.SleepCheck("ethereal")
                                  )
                            {
                                ethereal.UseAbility(v);
                                Utils.Sleep(250, "ethereal");
                            } // orchid Item end
                            else if (R != null
                            && R.CanBeCasted()
                            && Menu.Item("AutoUlt").GetValue<AbilityToggler>().IsEnabled(R.Name)
                            && Utils.SleepCheck("R"))
                            {
                                R.UseAbility();
                                Utils.Sleep(250, "R");
                            }
                            else if (dagon != null
                            && dagon.CanBeCasted() && me.Distance2D(v) <= dagon.GetCastRange()
                            && Menu.Item("AutoUltItems").GetValue<AbilityToggler>().IsEnabled("item_dagon")
                            && Utils.SleepCheck("dagon"))
                            {
                                dagon.UseAbility(v);
                                Utils.Sleep(250, "dagon");
                            }
                        }
                    }
                } // foreach::END
            }
        }